HDFS的簡單分佈式集羣集羣搭建
前言
本文介紹簡單的HDFS完全分佈式集羣搭建操作,之所以說是簡單的分佈式集羣,因爲它並不是高可用的HDFS。下篇文章將介紹如何搭建HA的HDFS分佈式集羣。
一、集羣搭建規劃
共需準備4臺機器。
一臺機器作爲NomeNode節點,4臺機器作爲DataNode節點,其中一個DataNode節點和NameNode節點公用一臺機器。
hadoop3(192.168.23.133):NameNode & DataNode
hadoop4(192.168.23.134):DataNode
hadoop5(192.168.23.135):DataNode
hadoop6(192.168.23.136):DataNode
二、HDFS分佈式集羣搭建
1、克隆4臺虛擬機
克隆的這4臺機器都安裝了JDK並配置環境變量,如何安裝JDK並配置環境變量?
2、分別設置4臺機器的ip地址,hostname以及ip和hostname的映射文件
2.1 分別修改4臺機器的ip地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33
2.2 分別修改4臺機器的hostname
vim /etc/hostname
2.3 分別修改4臺機器的hostname與ip的映射文件hosts
vim /etc/hosts
每臺機器上都要配置規劃4臺機器的ip地址映射
2.4 分別重啓4臺機器
reboot
3、配置SSH免密登錄
3.1、在NameNode節點上生成ssh私密鑰
ssh-keygen
3.2、將公鑰拷貝到其他3他機器
ssh-copy-id hadoop4
ssh-copy-id hadoop5
ssh-copy-id hadoop6
4、在NameNode節點上解壓hadoop壓縮包並進行相關配置
4.1 解壓hadoop壓縮包
tar -zxvf /root/hadoop/hadoop-2.9.2.tar.gz
4.2 配置hadoop環境變量
vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0
export JRE_HOME=$JAVA_HOME/jre
export HADOOP_HOME=/root/hadoop/hadoop-2.9.2
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
重新加載配置文件
source /etc/profile
4.3、配置hadoop-evn.sh
vim /root/hadoop/hadoop-2.9.2/etc/hadoop/hadoop-env.sh
將JAVA的路徑配置到hadoop的環境文件中
# The java implementation to use.
export JAVA_HOME=/usr/lib/jvm/java-1.8.0
4.4、配置core-sit.xml
vim /root/hadoop/hadoop-2.9.2/etc/hadoop/core-site.xml
1、配置哪臺機器爲namenode
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop3:9000</value>
</property>
2、默認hadoop的配置將數據放在系統臨時目錄中:/tmp/hadoop-${user.name},系統臨時目錄可能會導致集羣數據的不安全,因此修改配置,將數據存放在指定的目錄,本文將數據存放在解壓後的hadoop-2.9.2的下的data文件夾下
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop/hadoop-2.9.2/data</value>
</property>
4.5、配置hdfs-site.xml
修改root的權限,這樣可以讓非root用戶也可以操作hdfs
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
4.6、配置slaves文件
vim /root/hadoop/hadoop-2.9.2/etc/hadoop/slaves
將hadoop3,hadoop4,hadoop5,hadoop6作爲DataNode節點機器
hadoop3
hadoop4
hadoop5
hadoop6
5、在NameNode節點上將配置好的hadoop-2.9.2目錄同步到其他集羣節點
scp –r /etc/hadoop/Hadoop-2.9.2 root@hadoop4:/root/hadoop
scp –r /etc/hadoop/Hadoop-2.9.2 root@hadoop5:/root/hadoop
scp –r /etc/hadoop/Hadoop-2.9.2 root@hadoop6:/root/hadoop
6、在NameNode節點上將格式化NameNode
hdfs namenode -format
7、分別關閉4臺機器的防火牆
systemctl stop firewalld
最好將其他3臺機器的profile文件重新編譯
source /etc/profile
8、啓動集羣
start-dfs.sh
9、訪問HDFS集羣瀏覽器界面
NameNode節點的機器IP,才能訪問
http://192.168.23.133:50070/