Hadoop叢集部署實戰
阿新 • • 發佈:2021-07-10
模組
以三臺機器為例,分別為 hadoop000 ,hadoop001,hadoop002 。在這些機器上我需要部署哪些模組呢?
- HDFS: NameNode,DataNode
- YARN: ResourceManager,NodeManager
如下圖所示:
修改 hostname 與 hosts
以機器1為例,其它機器類似。
修改hostname
vim /etc/hostname
hadoop000
修改ip對映
vim /etc/hosts
192.168.199.100 localhost 192.168.199.100 hadoop000 192.168.199.101 hadoop001 192.168.199.102 hadoop002
注:不能簡單地只copy-paste到其它機器上,需要適當修改。
配置 ssh 登入
首先,每臺機器上需要已安裝 ssh 。
然後,到每臺機器上,分別生成一遍 rsa key pair :ssh-keygen -t rsa
。
最後,將 public key 拷貝到其它機器上,以機器1為例,其它機器類似。
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop000
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop001
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop002
(注:SSH免密碼登入詳解,可參考這一篇 -> https://www.cnblogs.com/maxstack/p/13609285.html
安裝 JDK
首先,在機器1上安裝並配置JDK。
- 在 hadoop000 上部署 jdk ,download and unzip
- 將 jdk bin 配置到系統環境變數 bash_profile ,config JAVA_HOME and PATH
然後,將機器1的東西拷貝到其它機器上。(注意拷貝的目錄需要保持一致)
scp -r jdk1.8.0_91 hadoop@hadoop001:~/app/java/ scp -r jdk1.8.0_91 hadoop@hadoop002:~/app/java/ scp ~/.bash_profile hadoop@hadoop001:~/ scp ~/.bash_profile hadoop@hadoop002:~/
部署 Hadoop
和 JDK 類似,先在機器1上配置好,然後拷貝到其它機器上。
1. download hadooop and unzip
2. configuration change
2.1 hadoop-env.sh
配置 JAVA_HOME
JAVA_HOME=XXX
2.2 core-site.xml
配置主節點
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop000:8020</value>
</property>
2.3 hdfs-site.xml
配置儲存目錄
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/app/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/app/tmp/dfs/data</value>
</property>
2.4 yarn-site.xml
配置 yarn
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop000</value>
</property>
2.5 mapred-site.xml
配置 mapreduce 框架
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
2.6 slaves
配置從節點
hadoop000
hadoop001
hadoop002
3. copy to other machines
scp -r hadoop-2.6.0-cdh5.15.1 hadoop@hadoop001:~/app/hadoop/
scp -r hadoop-2.6.0-cdh5.15.1 hadoop@hadoop002:~/app/hadoop/
scp ~/.bash_profile hadoop@hadoop001:~/
scp ~/.bash_profile hadoop@hadoop002:~/
4. format namenode
到每臺機器上,格式化 NN
hadoop namenode -format
啟動 Cluster
登入一臺機器,比如 hadoop000 ,啟動HDFS:
./start-dfs.sh
同樣地,啟動 yarn:
./start-yarn.sh
最後,到每臺機器上使用jps
,或者使用 UI ,觀察模組啟動情況。