【Hadoop集羣搭建第一期】Ubuntu中的Hadoop及Java環境的安裝和配置:https://blog.csdn.net/DXH924/article/details/103832306
【Hadoop集羣搭建第二期】節點克隆及SSH無密碼驗證配置:
https://blog.csdn.net/DXH924/article/details/103841437
本期的任務是Hadoop集羣搭建的重中之重,所有操作都是建立在前兩期的基礎上的
下面進入正題
【第一步】配置靜態ip
VMware Workstation中點擊【編輯】->【虛擬網絡編輯器】->【更改設置】
選中VMnet8,去掉“使用本地DHCP服務將ip地址分配給虛擬機”前的勾,【應用】
下面操作三個節點都要進行,執行命令
sudo nano /etc/network/interfaces
在配置中添加,ip地址根據第一期中ifconfig得出的ip地址進行設定
此處的192.168.153.133爲master的ip
auto ens33
iface ens33 inet static
address 192.168.153.133
netmask 255.255.255.0
gateway 192.168.153.2
dns-nameserver 114.114.114.114
保存配置並重啓網卡
sudo /etc/init.d/networking restart
sudo ifdown ens33
sudo ifup ens33
命令ifconfig查看ens33的ip,重啓三個主機後互ping,確保ip修改成功
這裏需要改成之前hosts配置裏面的ip地址
【第二步】配置Hadoop參數
以下操作在master中進行
執行如下命令,配置core-site.xml
cd /usr/local/hadoop/etc/hadoop
sudo nano core-site.xml
添加配置
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
執行如下命令,配置hadoop-env.sh
sudo nano hadoop-env.sh
在末尾添加
export JAVA_HOME=/usr/lib/jvm/default-java
export HDFS_NAMENODE_USER="hadoop"
export HDFS_DATANODE_USER="hadoop"
export HDFS_SECONDARYNAMENODE_USER="hadoop"
export YARN_RESOURCEMANAGER_USER="hadoop"
export YARN_NODEMANAGER_USER="hadoop"
執行如下命令,配置hdfs-site.xml
sudo nano hdfs-site.xml
添加配置
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.namenode.data.dir</name>
<value>/usr/local/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
執行如下命令,配置mapred-site.xml
sudo nano mapred-site.xml
添加配置
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
執行如下命令,配置workers
sudo nano workers
添加
master
slave1
slave2
執行如下命令,配置yarn-site.xml
sudo nano yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.resoourcemanager.webapp.address</name>
<value>192.168.153.133:8088</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
【第三步】將配置發送給slave節點
將 hadoop 目錄從 master 拷貝到 slave1 與 slave2,覆蓋原來的配置文件
由於之前配置了免密登錄,所以不需要輸入密碼即可完成拷貝
scp -qr /usr/local/hadoop/etc/hadoop slave1:/usr/local/hadoop/etc
scp -qr /usr/local/hadoop/etc/hadoop slave2:/usr/local/hadoop/etc
【第四步】創建臨時文件目錄 (三臺機器都需創建)
創建的目錄對應於hdfs-site.xml 中配置的目錄
即/usr/local/hadoop/hdfs/name和/usr/local/hadoop/hdfs/data
輸入命令
mkdir -p /usr/local/hadoop/hdfs/data
mkdir -p /usr/local/hadoop/hdfs/name
【第五步】格式化 hdfs 文件系統
在master結點執行命令
hdfs namenode -format
出現“Storage directory /usr/local/hadoop/hdfs/name has been successfully formatted”提示
表示格式化成功
【第六步】啓動Hadoop集羣
master中執行命令
start-all.sh
執行命令jps查看進程
若有6個進程,即DataNode, NameNode, SecondaryNameNode,
Jps, ResourceManager以及NodeManager,說明Hadoop集羣搭建成功
slave中執行命令jps
會看到3個進程,即DataNode, NodeManager以及Jps
【第七步】查看可視化界面
web中進入master:8088查看集羣信息
進入master:9870查看HDFS文件系統,【Utilities】->【browse the file system】,此時根目錄下沒有任何文件
【第八步】上傳文件到HDFS
上傳文件測試
cd /usr/local/hadoop #選擇目錄
ls #查看目錄文件
hdfs -dfs -put LICENSE.txt / #上傳LICENSE.txt到HDFS根目錄下
hdfs -dfs -ls / #查看HDFS文件目錄
可視化頁面也可查看HDFS中的文件
到此,Hadoop集羣搭建完成!!!