完全分布式部署
一、配置集群
| 100 | 101 | 102 | |
| HDFS | namenode、 datanode | datanode | Secondary namenode(2nn)、datanode |
| YARN | nodemanager | resourcemanager、nodemanager | nodemanager |
二、修改配置:
切換路徑:cd /opt/module/hadoop-3.1.3/etc/hadoop/

(1)配置core-site.xml,在cd /opt/module/hadoop-3.1.3/etc/hadoop/路徑下,
vi core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1000:9820</value>
</property>
<!-- hadoop.data.dir是自定義的變數,下面的組態檔會用到 -->
<property>
<name>hadoop.data.dir</name>
<value>/opt/module/hadoop-3.1.3/data</value>
</property>
</configuration>
(2)配置hdfs-site.xml,在cd /opt/module/hadoop-3.1.3/etc/hadoop/路徑下,
vi hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- namenode資料存放位置 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>file://${hadoop.data.dir}/name</value>
</property>
<!-- datanode資料存放位置 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>file://${hadoop.data.dir}/data</value>
</property>
<!-- secondary namenode資料存放位置 -->
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file://${hadoop.data.dir}/namesecondary</value>
</property>
<!-- datanode重啟超時時間是30s,解決兼容性問題,跳過 -->
<property>
<name>dfs.client.datanode-restart.timeout</name>
<value>30</value>
</property>
<!-- 設定web端訪問namenode的地址 -->
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop1000:9870</value>
</property>
<!-- 設定web端訪問secondary namenode的地址 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop1002:9868</value>
</property>
</configuration>
(3)配置yarn-site.xml,在cd /opt/module/hadoop-3.1.3/etc/hadoop/路徑下,
vi yarn-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop1001</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
三、ssh免密登錄
免密登錄之前 每次遠程訪問主機都需要輸密碼:

1、在每個節點生成公鑰和私鑰,并拷貝
Hadoop1000 生成公鑰和私鑰:
[root@hadoop1001] ssh-keygen -t rsa
然后敲(三個回車)
將公鑰拷貝到要免密登錄的目標機器上
[root@hadoop1000] ssh-copy-id hadoop1000
[root@hadoop1000] ssh-copy-id hadoop1001
[root@hadoop1000] ssh-copy-id hadoop1002
Hadoop1001:生成公鑰和私鑰
[root@hadoop1001] ssh-keygen -t rsa
然后敲(三個回車)
將公鑰拷貝到要免密登錄的目標機器上
[root@hadoop1001] ssh-copy-id hadoop1000
[root@hadoop1001] ssh-copy-id hadoop1001
[root@hadoop1001] ssh-copy-id hadoop1002
Hadoop1002: 生成公鑰和私鑰
[root@hadoop1002] ssh-keygen -t rsa
然后敲(三個回車)
將公鑰拷貝到要免密登錄的目標機器上
[root@hadoop1002] ssh-copy-id hadoop1000
[root@hadoop1002] ssh-copy-id hadoop1001
[root@hadoop1002] ssh-copy-id hadoop1002
遠程訪問主機 命令:ssh hadoop1001(設定免密登錄后,不用輸密碼直接進入hadoop1001)

登出:exit 路徑切換到etc:cd ..

四、復制檔案
復制檔案到hadoop1001:
scp -r hadoop/ root@hadoop1001:/opt/module/hadoop-3.1.3/etc/
復制檔案到hadoop1002:
scp -r hadoop/ root@hadoop1002:/opt/module/hadoop-3.1.3/etc/
![]()
五、格式化namenode (namenode啟動不了需要洗掉data檔案和logs)
命令:hdfs namenode -format
六、集群單點啟動
Hadoop1000:
hdfs --daemon start namenode
hdfs --daemon start datanode
yarn --daemon start nodemanager
hadoop1001:
yarn --daemon start resourcemanager
hdfs --daemon start datanode
yarn --daemon start nodemanager
hadoop1002:
hdfs --daemon start secondarynamenode
hdfs --daemon start datanode
yarn --daemon start nodemanager
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/375796.html
標籤:其他
下一篇:近九萬字圖文詳解RabbitMQ
