
一、配置
1、配置java_home環(huán)境變量: etc/hadoop/hadoop-env.sh、etc/hadoop/yarn-env.sh 、 mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_171
2、配置namenode為主機hadoop102: etc/hadoop/core-site.xml
<configuration>
<!-- 指定namenode -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop102:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.9.2/data/tmp</value>
</property>
</configuration>
3. 指定hadoop輔助名稱節(jié)點主機配置:etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name><value>hadoop104:50090</value>?
</property>? ??
?
<!-- 指定datanode多目錄 -->??
<property>
<name>dfs.datanode.data.dir</name>? ? ? ? ?
<value>file:///${hadoop.tmp.dir}/dfs/data,file:///${hadoop.tmp.dir}/dfs/data2</value>
</property>? ?
<!-- 指定datanode多目錄 -->? ?
<property>
<name>dfs.namenode.name.dir</name>? ? ? ? ?<value>file:///${hadoop.tmp.dir}/dfs/name1,file:///${hadoop.tmp.dir}/dfs/name2 </property>?
<!--配置掉線時長: 公式=2*dfs.namenode.heartbeat.recheck-interval + 10 * dfs.heartbeat.interval-->
<property>
<name>dfs.namenode.heartbeat.recheck-interval</name>? ? ? ? ? ?<value>300000</value>?
</property>
<property>? ?
<name>dfs.heartbeat.interval</name>
<value>3</value>
</property>
</configuration>
4. :etc/hadoop/yarn-site.xml?
<configuration>
<!-- reducer 獲取數(shù)據(jù)的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定yarn的resourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop103</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
</configuration>
5. etc/hadoop/mapred-site.xml:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
二、配置slaves
1、etc/hadoop/slaves:? 添加主機
hadoop102?
hadoop103?
hadoop104
三、啟動
1、啟動hdfs:
sbin/start-dfs.sh
2、啟動yarn(注:hadoop103主機為resourcemanager,需要在此主機上啟動yarn)??
sbin/start-yarn.sh
四、上傳文件測試
bin/hdfs dfs -put 源文件路徑? 目標目錄路徑?
五、集群時間同步
以下在hadoop102主機上操作
1、檢查ntp是否安裝: rpm -qa | grep ntp?
2、修改ntp配置文件: vim /etc/ntpconf?
1) 授權(quán)網(wǎng)段上所有機子可以查詢同步時間?
??restrict 172.16.9.0 mask 255.255.255.0 nomodify notrap?
2)不使用網(wǎng)絡(luò)上時間服務器?
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst? ? ? ? ? ?
#server 2.centos.pool.ntp.org iburst?
#server 3.centos.pool.ntp.org iburst?
3)網(wǎng)絡(luò)節(jié)點丟失,設(shè)置局域網(wǎng)內(nèi)部時間?
server 127.127.1.0
fudge 127.127.1.0 stratum 10?
3、修改/etc/sysconfig/ntpd?
SYNC_HWCLOCK=yes?
4、重啟ntp服務?
systemctl status ntpd?
systemctl start ntpd?
5、開機啟動?
systemctl enable? ntpd?
6、hadoop103及其他主機上開啟同步時間鬧鐘?
*/10 * * * * /usr/sbin/ntpdate hadoop102
六、在namenode下添加白名單
1、在etc/hadoop下創(chuàng)建dfs.hosts文件并添加白名單主機
2、?hdfs.site.xml添加一下屬性?
<property>?
? ? ? ? <name>dfs.hosts</name>?
? ? ? ? <value>/opt/module/hadoop-2.9.2/etc/hadoop/dfs.hosts</value>?
</property>?
3、刷新namenode:?hdfs dfsadmin -refreshNodes?
4、刷新resourcemanager:?yarn rmadmin -refreshNodes
七、在namenode下添加黑名單
1、在etc/hadoop下創(chuàng)建dfs.hosts.exclude文件并添加黑名單主機
2、?hdfs.site.xml添加一下屬性?
<property>?
? ? ? ? <name>dfs.hosts.exclude</name>?
? ? ? ? <value>/opt/module/hadoop-2.9.2/etc/hadoop/dfs.hosts.exclude</value>
</property>?
3、刷新namenode:?hdfs dfsadmin -refreshNodes
4、刷新resourcemanager:?yarn rmadmin -refreshNodes
八、其他
1.單個服務啟動關(guān)閉
(1)hdfs組件:? hadoop-daemon.sh start/stop namenode/datanode
(2)yarn組件: yarn-daemon.sh start/stop resourcemanager/nodemanager
2.各個模塊分開啟動、停止(需配置ssh)
(1) hdfs組件: start-dfs.sh、stop-dfs.sh
(2) yarn組件: start-yarn.sh、stop-yarn.sh
??