1、首先創建好虛擬機并且上傳jdk,hadoop到虛擬機上
這邊我上傳的位置為/opt/module 下,并將其解壓到/opt/software下并且重命名為hadoop和jdk
2、設定好ip地址、主機名
設定ip地址首先點擊vm上的編輯按鈕下虛擬網路編輯器查看VMnet8的ip地址是多少,例如我這ip地址為192.168.119.0,那么我的hadoop的ip地址前3位就需要設定為192.168.119,然后進入我們的虛擬機里面進行ip地址的設定,輸入命令vi /etc/sysconfig/network-scripts/ifcfg-ens33 進行ip地址的設定

第一步設定為靜態獲取,更改BOOTPROTO=static
第二步添加IP地址,在最下方添加IPADDR=192.168.119.50 注:IP地址最后一位取決你的網段分配情況,不是隨便填寫,隨便填寫很有可能導致不能聯網,
第三步添加網關地址,添加GATEWAY=192.168.119.2
第四步添加子網掩碼,添加NETMASK=255.255.255.0
第五步添加DNS地址,添加DNS1=114.114.114.114
設定完畢后按鍵盤上的esc鍵然后按下shift+;輸入wq進行保存退出
退出后,輸入命令進行網卡重置 systemctl restart network
再輸入ifconfig查看IP地址是否設定成功
IP地址設定完成后設定自己的主機號,這里我將主機號設定為了hadoop101,主機號不做要求可按自己的想法去進行設定,
輸入命令 hostnamectl set-hostname hadoop101進行主機號的設定
3、進行虛擬機的克隆
首先對當前虛擬機進行關機操作,然后右擊虛擬機下的管理下的克隆,克隆分為兩種,一種是創建鏈接克隆,一種是創建完整克隆,這里我們選擇創建完整克隆,一共需要創建兩個克隆,創建完成后在創建好的兩臺克隆虛擬機上進行第二步的操作,修改IP地址以及主機名,因為我們是進行克隆的所以我們修改IP地址只需要修改IPADDR那一項就行了,我這邊修改后是第一臺虛擬機IP地址為:192.168.119.50 主機號為hadoop101 第二臺虛擬機IP地址為:192.168.119.51 主機號為hadoop102 第三臺虛擬機IP地址為:192.168.119.52 主機號為hadoop103 ,設定好后使用工具xshell將3臺虛擬機進行連接上
4、設定主機的映射
因為我們是搭建完全分布式,所以在設定映射的時候需要設定3臺虛擬機的映射關系
輸入命 vi /etc/hosts進行主機 ip的映射設定

5、配置免密
在任意一臺虛擬機上輸入命令 ssh-keygen -t rsa 然后連續按下三次回車然后輸入命令
ssh-copy-id hadoop101(之前設定的主機名)按下回車后輸入hadoop101所對應的虛擬機密碼
ssh-copy-id hadoop102(之前設定的主機名)按下回車后輸入hadoop102所對應的虛擬機密碼
ssh-copy-id hadoop103(之前設定的主機名)按下回車后輸入hadoop103所對應的虛擬機密碼

設定完后進行rsync命令操作進行另外兩臺虛擬機的檔案更新
輸入rsync -rvl /etc/hosts root@hadoop102:/etc/host
輸入rsync -rvl /etc/hosts root@hadoop103:/etc/host

更新完映射關系后在另外兩臺進行重復免密操作,也就是上面所寫的ssh-keygen -t rsa 和ssh-copy-id xx 的操作
6、設定jdk和hadoop的組態檔
輸入命令 vi /etc/profile
游標移動到命令列的最后一行輸入組態檔如下圖所示

輸入好后保存退出,然后輸入source /etc/profile進行組態檔的更新
進行使用rsync命令進行另外兩臺虛擬機的更新
rsync -rvl /etc/profile root@hadoop102:/etc/profile
rsync -rvl /etc/profile root@hadoop103:/etc/profile
然后進入另外兩臺虛擬機中輸入source /etc/profile
7、設定hadoop組態檔
首先進入hadoop組態檔的目錄下,也就是剛才解壓后的hadoop檔案下的etc下的hadoop,如果不是按照我的目錄來寫的就使用自己的方法進入hadoop組態檔目錄下,如果目錄和我的是一樣的就輸入 cd /opt/software/hadoop/etc/hadoop
vi core-site.xml
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop101:9000</value>
</property>
<!-- 指定Hadoop運行時產生檔案的存盤目錄 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/software/hadoop/data/tmp</value>
</property>
vi hadoop-env.sh
export JAVA_HOME=/opt/software/jdk
vi hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 指定Hadoop輔助名稱節點主機配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop103:50090</value>
</property>
vi yarn-env.sh
export JAVA_HOME=/opt/software/jdk
vi yarn-site.xml
<!-- Reducer獲取資料的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop102</value>
</property>
vi mapred-env.sh
export JAVA_HOME=/opt/software/jdk
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
vi slaves 注意:slaves內的東西需要全部刪完再輸入組態檔
hadoop101
hadoop102
hadoop103
然后使用rsync 進行另外兩臺的hadoop組態檔更新
rsync -rvl /opt/software/hadoop/etc/hadoop/ root@hadoop102:/opt/software/hadoop/etc/hadoop/
rsync -rvl /opt/software/hadoop/etc/hadoop/ root@hadoop103:/opt/software/hadoop/etc/hadoop/
8、格式化namenode
輸入命令:hdfs namnoe -format
注
如果需要重新格式化
在重新格式化之前一定要先洗掉data資料和log日志,然后再進行格式化,
1、停止使用hadoop行程(stop-all.sh)
2、洗掉組態檔core-site.xml和hdfs-site.xml中指定目錄下的檔案
9、啟動hdfs、啟動yarn
首先進入hadoop主目錄
輸入 cd /opt/software/hadoop
啟動hdfs,輸入 sbin/start-dfs.sh
然后用3臺虛擬機進行jps測驗,和下圖出現的行程一樣就成功了

然后啟動yarn,yarn的啟動需要在ResouceManager所在的機器上進行,在 yarn-site.xml中設定過,我這邊設定的是hadoop102,所以我需要進入到hadoop102所在的虛擬機上操作yarn的啟動命令,
輸入 cd /opt/software/hadoop
啟動yarn,輸入 sbin/start-yarn.sh
然后用3臺虛擬機進行jps測驗,和下圖出現的行程一樣就成功了

10、關閉防火墻進行網站訪問
在三臺虛擬機上都輸入命令:systemctl stop firewalld.service即可關閉防火墻
然后進入瀏覽器輸入網站http://192.168.119.50:50070/和http://192.168.119.51:8088/,即可測驗是否搭建成功,


最后一句話:這完全分布式有手就行
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/403912.html
標籤:其他
上一篇:Java API在HDFS上實作檔案的上傳、下載到本地、創建檔案夾、洗掉檔案和重命名檔案
下一篇:hadoop 實作資料排序
