一华畏、手動部署集群
- 安裝多個節(jié)點Hadoop-YARN集群與安裝單個節(jié)點(偽分布式模型)的方式類似鹏秋。集群模型中,主節(jié)點的配置方式與單節(jié)點相同亡笑,除了需要將主機地址改為相應(yīng)的節(jié)點地址菇存;對于從節(jié)點來說绩郎,將主節(jié)點的安裝目錄直接復(fù)制到從節(jié)點,并配置好所需要的目錄和環(huán)境變量即可。配置完成后,可由主節(jié)點啟動整個集群叫乌,也可以手動啟動各節(jié)點上的相應(yīng)的服務(wù)。
所有節(jié)點同步時間
實驗環(huán)境
- 示例有一個主節(jié)點和三個從節(jié)點的Hadoop-YARN集群。集群中所用的各節(jié)點必須有個唯一的主機名和ip地址祠够,并能夠基于主機互相通信。如果沒有配合用的dns服務(wù)粪牲,這里可以通過/etc/hosts文件進行解析古瓤。
主節(jié)點:192.168.1.60 主機名:node60
從節(jié)點1:192.168.1.61 主機名: node61
從節(jié)點2:192.168.1.62 主機名:node62
從節(jié)點3:192.168.1.63 主機名:node63
1、所有節(jié)點編輯名稱解析
~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.60 node60.hehe.com node60 master
192.168.1.61 node61.hehe.com node61
192.168.1.62 node62.hehe.com node62
192.168.1.63 node63.hehe.com node63
2腺阳、所有節(jié)點安裝jdk-devel并配置java環(huán)境
~]# yum install java-1.8.0-openjdk-devel -y
#設(shè)置環(huán)境變量
~]# vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
~]# . /etc/profile.d/java.sh
#驗證版本
~]# java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
3落君、所有節(jié)點創(chuàng)建hadoop用戶和組
~]# useradd hadoop
~]# echo '12345' | passwd --stdin hadoop
4、master主節(jié)點生成秘鑰
- 用master主節(jié)點啟動和停止整個集群亭引,還需要master節(jié)點上配置用于運行服務(wù)的用戶能以秘鑰認(rèn)證的方式通過ssh遠程連接至各從節(jié)點绎速。
[root@node-60 ~]# su - hadoop
[hadoop@node-60 ~]$ ssh-keygen -t rsa -P ''
.........
+---[RSA 2048]----+
| oo+oo.oo. |
| o.. +.o+ |
| . . ooo.o |
| .. = X +. |
| .. + = S.o |
|++ . oo=.E |
|=. . . .*+ |
| . .= .o |
| .ooo. |
+----[SHA256]-----+
#同步到其他節(jié)點,別忘了給自己分發(fā)
[hadoop@node-60 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@node60
[hadoop@node-60 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@node61
[hadoop@node-60 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@node62
[hadoop@node-60 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@node63
#測試是否成功
[hadoop@node-60 ~]$ ssh node61 'date'
Fri Mar 15 22:17:31 CST 2019
5、master主節(jié)點創(chuàng)建目錄
[root@node-60 ~]# mkdir -pv /bdapps /data/hadoop/hdfs/{nn,snn,dn}
[root@node-60 ~]# chown -R hadoop:hadoop /data/
6焙蚓、master下載安裝hadoop-2.7.7
[root@node-60 ~]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
#解壓
[root@node-60 ~]# tar xf hadoop-2.7.7.tar.gz -C /bdapps/
[root@node-60 ~]# ln -sv /bdapps/hadoop-2.7.7/ /bdapps/hadoop
‘/bdapps/hadoop’ -> ‘/bdapps/hadoop-2.7.7/’
#配置環(huán)境變量纹冤,注意hadoop3.x版本HADOOP_PREFIX全部改為HADOOP_HOME
[root@node-60 ~]# vim /etc/profile.d/hadoop.sh
export HADOOP_PREFIX=/bdapps/hadoop
export PATH=$PATH:${HADOOP_PREFIX}/bin:${HADOOP_PREFIX}/sbin
export HADOOP_YARN_HOME=${HADOOP_PRFIX}
export HADOOP_MAPPERD_HOME=${HADOOP_PRFIX}
export HADOOP_COMMON_HOME=${HADOOP_PRFIX}
export HADOOP_HDFS_HOME=${HADOOP_PRFIX}
#創(chuàng)建日志目錄
[root@node-60 ~]# mkdir /bdapps/hadoop/logs
[root@node-60 ~]# chmod g+w /bdapps/hadoop/logs
[root@node-60 ~]# chown -R hadoop:hadoop /bdapps/hadoop/*
7、maser主節(jié)點配置hadoop
#修改core-site文件
[root@node-60 ~]# vim /bdapps/hadoop/etc/hadoop/core-site.xml
...........
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value> #這里填寫master主機名
<final>true</final>
</property>
</configuration>
#修改yarn-site文件
[root@node-60 ~]# vim /bdapps/hadoop/etc/hadoop/yarn-site.xml
.............
<configuration>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce_shuffle.class</name>
</property>
</configuration>
#修改hdfs-site文件
[root@node-60 ~]# vim /bdapps/hadoop/etc/hadoop/hdfs-site.xml
............
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value> #副本數(shù)量2
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///data/hadoop/hdfs/nn</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///data/hadoop/hdfs/dn</value>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>file:///data/hadoop/hdfs/snn</value>
</property>
<property>
<name>fs.checkpoint.edits.dir</name>
<value>file:///data/hadoop/hdfs/snn</value>
</property>
</configuration>
#修改mapred-site文件
[root@node-60 ~]# vim /bdapps/hadoop/etc/hadoop/mapred-site.xml
..........
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
#修改slaves文件定義從節(jié)點 购公,如果是hadoop3.X版本改名叫worker文件
~]# vim /bdapps/hadoop/etc/hadoop/slaves
node61
node62
node63
8萌京、三個node從節(jié)點創(chuàng)建目錄
~]# mkdir -pv /bdapps /data/hadoop/hdfs/{nn,snn,dn}
~]# chown -R hadoop:hadoop /data/
9、三個node從節(jié)點下載安裝hadoop
~]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
#解壓
~]# tar xf hadoop-2.7.7.tar.gz -C /bdapps/
~]# ln -sv /bdapps/hadoop-2.7.7/ /bdapps/hadoop
‘/bdapps/hadoop’ -> ‘/bdapps/hadoop-2.7.7/’
#配置環(huán)境變量宏浩,注意hadoop3.x版本HADOOP_PREFIX全部改為HADOOP_HOME
~]# vim /etc/profile.d/hadoop.sh
export HADOOP_PREFIX=/bdapps/hadoop
export PATH=$PATH:${HADOOP_PREFIX}/bin:${HADOOP_PREFIX}/sbin
export HADOOP_YARN_HOME=${HADOOP_PRFIX}
export HADOOP_MAPPERD_HOME=${HADOOP_PRFIX}
export HADOOP_COMMON_HOME=${HADOOP_PRFIX}
export HADOOP_HDFS_HOME=${HADOOP_PRFIX}
#創(chuàng)建日志目錄
~]# mkdir /bdapps/hadoop/logs
~]# chmod g+w /bdapps/hadoop/logs
~]# chown -R hadoop:hadoop /bdapps/hadoop/*
10知残、master節(jié)點上使用hadoop用戶,同步配置到三個node從節(jié)點上
[root@node-60 ~]# su - hadoop
[hadoop@node-60 ~]$ scp /bdapps/hadoop/etc/hadoop/* node61:/bdapps/hadoop/etc/hadoop/
[hadoop@node-60 ~]$ scp /bdapps/hadoop/etc/hadoop/* node62:/bdapps/hadoop/etc/hadoop/
[hadoop@node-60 ~]$ scp /bdapps/hadoop/etc/hadoop/* node63:/bdapps/hadoop/etc/hadoop/
11比庄、格式化文件系統(tǒng)
- 與偽分布式相同求妹,在HDFS集群的NN啟動之前需要初始化其用于存儲數(shù)據(jù)的目錄。如果hdfs-site.xml中dffs.namenode.name.dir屬性指定的目錄不存在佳窑,格式化命令會自動創(chuàng)建之制恍;如果事先存在,要確保其權(quán)限設(shè)置正確神凑,此時格式操作會清除其內(nèi)部的所有數(shù)據(jù)并重新建立一個新的文件系統(tǒng)吧趣。
- 輸出結(jié)果有大量信息,如果顯示“INFO common.Storage: Storage directory /data/hadoop/hdfs/nn has been successfully formatted.” 的結(jié)果表示格式化操作已然正確完成耙厚。
[root@node-60 ~]# hdfs namenode -format
#數(shù)據(jù)目錄下將會生成文件
[root@node-60 ~]# ls /data/hadoop/hdfs/nn/
current
- 注意:如果格式化失敗强挫,重新格式化時候要刪除/data/hadoop/hdfs/nn/下的所有文件
12、啟動集群
- 啟動Hadoop-YARN集群的方法有兩種:一是在各個節(jié)點分別啟動需要啟動的服務(wù)薛躬,注意要使用對應(yīng)的用戶這里用戶是hadoop俯渤,二是在master節(jié)點啟動整個集群。
- 當(dāng)集群規(guī)模較大時型宝,分別啟動各個節(jié)點的各服務(wù)過于繁瑣和低效八匠,為此hadoop專門提供了start-dfs.sh和stop-dfs.sh來啟動及停止整個hdfs集群絮爷,以及start-yarn.sh和stop-yarn.sh來啟動及停止整個yarn集群。
[root@node-60 ~]# su - hadoop
[hadoop@node-60 ~]$ start-dfs.sh
Starting namenodes on [master] #首先啟動主節(jié)點
hadoop@master's password:
master: starting namenode, logging to /bdapps/hadoop/logs/hadoop-hadoop-namenodenode-60.out
node61: starting datanode, logging to /bdapps/hadoop/logs/hadoop-hadoop-datanodenode-61.out
node62: starting datanode, logging to /bdapps/hadoop/logs/hadoop-hadoop-datanodenode-62.out
node63: starting datanode, logging to /bdapps/hadoop/logs/hadoop-hadoop-datanodenode-63.out
Starting secondary namenodes [0.0.0.0]
hadoop@0.0.0.0's password:
0.0.0.0: starting secondarynamenode, logging to /bdapps/hadoop/logs/hadoop-hadoop-secondarynamenode-node-60.out
#啟動yarn集群
[hadoop@node-60 ~]$ start-yarn.sh
starting yarn daemons
starting resourcemanager, logging to /bdapps/hadoop/logs/yarn-hadoop-resourcemanager-node-60.out
node63: starting nodemanager, logging to /bdapps/hadoop/logs/yarn-hadoop-nodemanager-node-63.out
node62: starting nodemanager, logging to /bdapps/hadoop/logs/yarn-hadoop-nodemanager-node-62.out
node61: starting nodemanager, logging to /bdapps/hadoop/logs/yarn-hadoop-nodemanager-node-61.out
[hadoop@node-60 ~]$ jps #查詢進程是否啟動
7875 Jps
7077 NameNode
7274 SecondaryNameNode
7611 ResourceManager #出現(xiàn) ResourceManager進程證明yarn集群啟用成功
13梨树、檢查三個node節(jié)點是否啟動
- 出現(xiàn)DataNode進程證明節(jié)點啟用成功坑夯,如果未出現(xiàn)則查詢數(shù)據(jù)目錄屬主屬組權(quán)限是否為hadoop用戶。
~]# su - hadoop
[hadoop@node-61 ~]$ jps
8898 DataNode #出現(xiàn)DataNode進程證明節(jié)點啟用成功
9042 NodeManager #出現(xiàn) NodeManager進程證明yarn集群啟用成功
8972 Jps
14抡四、上傳文檔測試
[hadoop@node-60 ~]$ hdfs dfs -mkdir /test #創(chuàng)建目錄
[hadoop@node-60 ~]$ hdfs dfs -put /etc/fstab /test/fstab #上傳文件
[hadoop@node-60 ~]$ hdfs dfs -ls -R /test #查詢
-rw-r--r-- 2 hadoop supergroup 465 2019-03-29 22:57 /test/fstab
- 集群會在任意兩個dataneod節(jié)點的數(shù)據(jù)目錄下存儲對應(yīng)上傳文件的數(shù)據(jù)塊
- 一個文件就是一個數(shù)據(jù)塊柜蜈,默認(rèn)最大是64M,上傳大文件時候會被切割為多個數(shù)據(jù)塊
#數(shù)據(jù)存儲節(jié)點一
[hadoop@node-61 ~]$ cat /data/hadoop/hdfs/dn/current/BP-2007480771-192.168.1.60-1553870591051/current/finalized/subdir0/subdir0/blk_1073741825
# /etc/fstab
.............
#數(shù)據(jù)存儲節(jié)點二
[hadoop@node-62 ~]$ cat /data/hadoop/hdfs/dn/current/BP-2007480771-192.168.1.60-1553870591051/current/finalized/subdir0/subdir0/blk_1073741825
# /etc/fstab
.............
集群的web界面訪問
15、執(zhí)行任務(wù)測試
#使用示例程序統(tǒng)計fstab文件
[hadoop@node-60 ~]$ yarn jar /bdapps/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /test/fstab /test/wc
二指巡、YARN集群管理命令
- yarn命令有許多子命令淑履,大體可分為用戶命令和管理命令兩類。直接運行yarn命令藻雪,可顯示其簡單的使用語法及各子命令的簡單介紹
[hadoop@node-60 ~]$ yarn
格式: yarn [--config confdir] [COMMAND | CLASSNAME]
#管理命令
resourcemanager -format-state-store 刪除RM的存儲
resourcemanager 運行 ResourceManager
nodemanager 運行一個 nodemanager 在每個從節(jié)點上
timelineserver 運行時間線服務(wù)秘噪,任務(wù)編排時候用
rmadmin 管理工具
sharedcachemanager run the SharedCacheManager daemon
scmadmin SharedCacheManager admin tools
daemonlog get/set the log level for each
daemon
#用戶命令
version 顯示版本號
jar <jar> 運行jar文件
application 顯示應(yīng)用相關(guān)信息
report/kill application
applicationattempt 顯示應(yīng)用相關(guān)報告
container 顯示容器的相關(guān)信息
node 顯示node節(jié)點信息
queue 顯示隊列信息
logs 顯示日志
classpath 顯示java程序運行時的類加載路徑或類搜索路徑
cluster prints cluster information
1、用戶命令
用戶命令為Hadoop-YARN客戶端命令勉耀。這些客戶端根據(jù)yarn-site.xml中的配置參數(shù)連接至YARN服務(wù)指煎,并按需運行指定的命令。
(1)便斥、jar命令
- jar命令通過YARN代碼運行jar文件至壤,即向RM提交YARN應(yīng)用程序,運行時候會啟動RunJar類方法椭住,檢查參數(shù)列表并校驗jar文件崇渗,而后展開jar文件運行字逗。
- 示例:運行MapReduce示例程序wordcount京郑,統(tǒng)計fstab中單詞統(tǒng)計
~]$ yarn jar /bdapps/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /test/fstab /test/wc
(2)、application命令
管理yarn中的各application葫掉,其中--help選項可以獲取命令使用幫助些举,它的簡要使用格式
yarn application <options>示例 :查詢有哪些application,-list選項
[hadoop@node-60 ~]$ yarn application -list -appStates=all
19/03/30 21:26:53 INFO client.RMProxy: Connecting to ResourceManager at master/192.168.1.60:8032
Total number of applications (application-types: [] and states: [NEW, NEW_SAVING, SUBMITTED, ACCEPTED, RUNNING, FINISHED, FAILED, KILLED]):1
Application-Id Application-Name Application-Type User Queue State Final-State Progress Tracking-URL
application_1553872144720_0001 word count MAPREDUCE hadoop default ACCEPTED UNDEFINED 0% N/A
- 示例 :查詢指定application狀態(tài)俭厚,-status選項
[hadoop@node-60 ~]$ yarn application -status application_1553872144720_0001
19/03/30 21:29:16 INFO client.RMProxy: Connecting to ResourceManager at master/192.168.1.60:8032
Application Report :
Application-Id : application_1553872144720_0001
Application-Name : word count
Application-Type : MAPREDUCE
User : hadoop
Queue : default
Start-Time : 1553873531484
Finish-Time : 0
Progress : 0% #進度
State : ACCEPTED
Final-State : UNDEFINED
Tracking-URL : N/A
RPC Port : -1
AM Host : N/A
Aggregate Resource Allocation : 161842915 MB-seconds, 79024 vcore-seconds
Diagnostics :
- 示例 :結(jié)束運行中的或提交的application户魏,-kill選項
如果指定的application已經(jīng)完成,其狀態(tài)或為FINISHED挪挤、KILLED或FAILED叼丑,此信息將直接輸出,否則將向ResourceManager提供kill此application的請求扛门。
#刪除指定application
[hadoop@node-60 ~]$ yarn application -kill application_1553872144720_0001
19/03/30 21:40:11 INFO client.RMProxy: Connecting to ResourceManager at master/192.168.1.60:8032
Killing application application_1553872144720_0001
19/03/30 21:40:12 INFO impl.YarnClientImpl: Killed application application_1553872144720_0001
#再次查詢
[hadoop@node-60 ~]$ yarn application -list -appStates=all
19/03/30 21:40:21 INFO client.RMProxy: Connecting to ResourceManager at master/192.168.1.60:8032
Total number of applications (application-types: [] and states: [NEW, NEW_SAVING, SUBMITTED, ACCEPTED, RUNNING, FINISHED, FAILED, KILLED]):1
Application-Id Application-Name Application-Type User Queue State Final-State Progress Tracking-URL
application_1553872144720_0001 word count MAPREDUCE hadoop default KILLED KILLED 0%http://master:8088/cluster/app/application_1553872144720_0001
(3)鸠信、node命令
- YARN集群有運行NodeManager進程的slave節(jié)點及運行ResourceManager的master組成。ResourceManager會記錄各節(jié)點的相關(guān)信息论寨,node子命令則通過classorg.apache.hadoop.yarn.api.records.NodeReport類的對象來格式化輸出這些信息星立。
- 使用格式為:yarn node <potions>
- 示例:查詢集群的node節(jié)點爽茴,-list選項,再加上-all是顯示所有節(jié)點
[hadoop@node-60 ~]$ yarn node -list
19/03/30 21:50:27 INFO client.RMProxy: Connecting to ResourceManager at master/192.168.1.60:8032
Total Nodes:3
Node-Id Node-State Node-Http-Address Number-of-Running-Containers
node-63:34547 RUNNING node-63:8042 0
node-61:40811 RUNNING node-61:8042 0
node-62:40608 RUNNING node-62:8042 0
- 示例:顯示指定node節(jié)點相關(guān)信息,-status選項
[hadoop@node-60 ~]$ yarn node -status node-63:34547
19/03/30 21:56:46 INFO client.RMProxy: Connecting to ResourceManager at master/192.168.1.60:8032
Node Report :
Node-Id : node-63:34547
Rack : /default-rack
Node-State : RUNNING
Node-Http-Address : node-63:8042
Last-Health-Update : Sat 30/Mar/19 09:55:11:112CST
Health-Report :
Containers : 0
Memory-Used : 0MB
Memory-Capacity : 8192MB
CPU-Used : 0 vcores
CPU-Capacity : 8 vcores
Node-Labels :
(4)绰垂、logs命令
- 用于從已完成的YARN應(yīng)用程序(狀態(tài)為FAILED室奏、KILL或FINISHED)上獲取日志信息。但是劲装,如果要通過命令行查看日志胧沫,需要為YARN集群啟用log-aggregation屬性,在yarn-site.xml配置文件中定義yarn.log-aggregation-enable屬性的值為true即可酱畅。
- 命令格式 yarn logs -applicationId<applicationID><options>
- 示例:
[hadoop@node-60 ~]$ yarn logs -applicationId application_1553872144720_0001
(5)琳袄、classpath命令
- classpath命令用于顯示YARN集群CLASSPATH的值
- 示例:
hadoop@node-60 ~]$ yarn classpath
(6)、version命令
- 用于顯示當(dāng)前的YARN集群中yarn程序的版本號
- 示例
[hadoop@node-60 ~]$ yarn version
Hadoop 2.7.7
.........
2纺酸、管理命令
這幾個管理命令主要用于在節(jié)點上啟動相應(yīng)的服務(wù)
- resourcemanager命令:用于啟動節(jié)點上的ResourceManager服務(wù)窖逗;
- nodemanager命令:用于啟動NodeManager服務(wù);
- timelineserver命令: 用于啟動節(jié)點上的timeline服務(wù)器餐蔬;
(1)碎紊、RMAdmin命令
- rmadmin是ResourceManager的客戶端程序,可用于刷新訪問控制策略樊诺、調(diào)度器隊列及注冊到RM上的節(jié)點等仗考。刷新之后無需重啟集群服務(wù)即可生效。
- 命令簡要格式:yarn rmadmin <options>
常用選項:
-refreshQueues:重載隊列的acl词爬、狀態(tài)及調(diào)用器隊列秃嗜;它會根據(jù)文件中的配置信息重新初始化調(diào)用器;
-refreshNodes:為RM刷新主機信息顿膨,通過讀取RM節(jié)點的include和exclude文件來更新集群所需要包含或排除的節(jié)點列表锅锨;
-refreshUserToGroupsMappings:根據(jù)配置Hadoop安全組映射,通過刷新組緩存中的信息來更新用戶和組之間的映射關(guān)系恋沃;
-refreshSuperUserGroupsConfiguration:刷新超級用戶代理組映射必搞,以及更新代理主機和core-site.xml配置文件中hadoop.proxyuser屬性定義的代理組;
-refreshAdminAcls:根據(jù)yarn站點配置文件或默認(rèn)配置文件中的yarn.admin.acl屬性刷新RM的管理ACL囊咏;
-refreshServiceAcl:重載服務(wù)級別授權(quán)策略文件恕洲,而后RM將重載授權(quán)策略文件;它會檢查Hadoop安全授權(quán)是否啟用并為IPC Server梅割、ApplicationMaster霜第、Client和Resource tracker刷新ACL;
- 示例:為RM刷新主機信息
[hadoop@node-60 ~]$ yarn rmadmin -refreshNodes
(2)户辞、DaemonLog命令
- 用于查看或更新RM及NM守護進程的日志級別泌类,它會在檢驗管理權(quán)限通過后在內(nèi)部直接連接至‘http://host:port/logLevel?log=nameservice’。
- 命令格式:yarn daemonlog <options> args
常用選項:
-getLevel host:port name :顯示指定守護進程日志級別
-getLevel host:port name level: 設(shè)置守護進程的日志級別
三咆课、運行YARN Application過程
- YARN Application(應(yīng)用程序)可以是一個簡單的shell腳本末誓、MapReduce作業(yè)或其他任意類型的作業(yè)扯俱。需要運行Application時,客戶端需要事先生成一個ApplicationMaster喇澡,而后客戶端把application context提交給ResourceManager迅栅,隨后RM向AM分配內(nèi)存和運行application的容器∏缇粒總的來說读存,此過程可分為六個階段:
階段一、Application初始化及提交呕屎;
階段二让簿、分配內(nèi)存并啟動AM;
階段三秀睛、AM注冊及資源分配尔当;
階段四、啟動并監(jiān)控容器蹂安;
階段五椭迎、Application進度報告;
階段六田盈、Application運行完成畜号;
四、利用admbari部署hadoop集群簡介
1允瞧、 Ambari項目
- Ambari 跟 Hadoop 等開源軟件一樣简软,也是 Apache Software Foundation 中的一個項目,并且是頂級項目述暂。2018年11月為止最新的發(fā)布版本是 2.7.3痹升。就 Ambari 的作用來說,就是創(chuàng)建贸典、管理视卢、監(jiān)視 Hadoop 的集群踱卵,但是這里的 Hadoop 是廣義廊驼,指的是 Hadoop 整個生態(tài)圈(例如 Hive,Hbase惋砂,Sqoop妒挎,Zookeeper 等),而并不僅是特指 Hadoop西饵。用一句話來說酝掩,Ambari 就是為了讓 Hadoop 以及相關(guān)的大數(shù)據(jù)軟件更容易使用的一個工具。
2眷柔、Ambari主要特點:
提供Hadoop集群
- Ambari提供了跨任意數(shù)量的主機安裝Hadoop服務(wù)的分步向?qū)А?/li>
- Ambari處理群集的Hadoop服務(wù)配置期虾。
管理Hadoop集群
- Ambari提供集中管理原朝,用于在整個集群中啟動,停止和重新配置Hadoop服務(wù)镶苞。
監(jiān)控Hadoop集群
Ambari提供了一個儀表板喳坠,用于監(jiān)控Hadoop集群的運行狀況和狀態(tài)。
Ambari利用Ambari指標(biāo)系統(tǒng)進行指標(biāo)收集茂蚓。
Ambari利用Ambari Alert Framework進行系統(tǒng)警報壕鹉,并在需要您注意時通知您(例如,節(jié)點出現(xiàn)故障聋涨,剩余磁盤空間不足等)晾浴。
Ambari使應(yīng)用程序開發(fā)人員和系統(tǒng)集成商能夠使用Ambari REST API輕松將Hadoop配置,管理和監(jiān)控功能集成到自己的應(yīng)用程序中牍白。
五脊凰、hadoop3.x安裝遇到的問題
- 1、報錯“HADOOP_PREFIX has been replaced by HADOOP_HOME. Using value of HADOOP_PREFIX.”
問題原因:hadoop3.x環(huán)境變量名稱變更為HADOOP_HOME
解決:修改 /etc/profile.d/hadoop.sh
~]# vim /etc/profile.d/hadoop.sh
export HADOOP_HOME=/bdapps/hadoop
export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
export HADOOP_YARN_HOME=${HADOOP_HOME}
export HADOOP_MAPPERD_HOME=${HADOOP_HOME}
export HADOOP_COMMON_HOME=${HADOOP_HOME}
export HADOOP_HDFS_HOME=${HADOOP_HOME}
~]# unset HADOOP_PREFIX #刪除HADOOP_PREFIX變量
~]# source /etc/profile #設(shè)置生效
~]# evn | grep -i hadoop #查詢
- 2茂腥、設(shè)置文件定義從節(jié)點時候笙各, hadoop3.X版本是沒有(源碼目錄)/etc/hadoop/slaves這個文件,改名叫worker文件
~]# vim /bdapps/hadoop/etc/hadoop/worker
官網(wǎng)地址:http://ambari.apache.org/
安裝部署參考文檔地址:https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.7.3