本次教程是基于學(xué)校的大數據實(shí)驗而做的,博主在搭建的同時(shí),記錄了自己的命令運行結果截圖,在圖書(shū)館搭建環(huán)境+寫(xiě)博客,也花了將近3個(gè)小時(shí)。長(cháng)時(shí)間眼睛對著(zhù)電腦會(huì )很傷眼睛,所以童鞋們需要注意保護好眼睛,做做眼保健操。希望學(xué)到的童鞋可以點(diǎn)個(gè)贊!
3.點(diǎn)擊下一步,選擇完整克隆,選擇路徑即可
順序執行以下命令即可
1.創(chuàng )建hadoop用戶(hù)
sudo useradd -m hadoop -s /bin/bash
設置用戶(hù)密碼(輸入兩次)
sudo passwd hadoop
添加權限
sudo adduser hadoop sudo
切換到hadoop用戶(hù)(這里要輸入剛剛設置的hadoop密碼)
su hadoop
運行截圖展示(以master虛擬機為例)
sudo apt-get update
截圖展示(以master為例)
1.安裝SSH
sudo apt-get install openssh-server
2.配置SSH免密登錄
ssh localhost exit cd ~/.ssh/ ssh-keygen -t rsa #一直按回車(chē) cat ./id_rsa.pub >> ./authorized_keys
3.驗證免密
ssh localhost exit cd ~/.ssh/ ssh-keygen -t rsa #一直按回車(chē) cat ./id_rsa.pub >> ./authorized_keys
截圖展示(以master為例)
1.下載 JDK 環(huán)境包
sudo apt-get install default-jre default-jdk
2.配置環(huán)境變量文件
vim ~/.bashrc
3.在文件首行加入
export JAVA_HOME=/usr/lib/jvm/default-java
4,。讓環(huán)境變量生效
source ~/.bashrc
5.驗證
java -version
截圖展示(以master為例)
1.將文件中原有的主機名刪除,master中寫(xiě)入master,node1中寫(xiě)入node1,node2…(同理)
sudo vim /etc/hostname
重啟三個(gè)服務(wù)器
reboot
重啟成功后,再次連接會(huì )話(huà),發(fā)現主機名改變了
截圖展示(以node1為例)
查看各個(gè)虛擬機的ip地址
ifconfig -a
如果有報錯,則下載 net-tools ,然后再運行即可看到
sudo apt install net-tools
如下圖,紅色方框內的就是 本臺虛擬機的 ip 地址
3臺虛擬機中都需要在 hosts 文件中加入對方的ip地址
sudo vim /etc/hosts
以master為例截圖展示
在Master上執行
cd ~/.ssh rm ./id_rsa* # 刪除之前生成的公匙(如果有) ssh-keygen -t rsa # 一直按回車(chē)就可以 cat ./id_rsa.pub >> ./authorized_keys scp ~/.ssh/id_rsa.pub hadoop@node1:/home/hadoop/ scp ~/.ssh/id_rsa.pub hadoop@node2:/home/hadoop/
在node1,node2都執行
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys rm ~/id_rsa.pub # 用完就刪掉
驗證免密登錄
ssh node1 exit ssh node2 exit
以master為例截圖展示
有些鏡像的下載網(wǎng)址失效了,這里貼出官網(wǎng)的下載地址。
下載網(wǎng)址:
下載好,之后通過(guò)VMware-Tools上傳到master的/home/hadoop中
解壓
cd /home/hadoop sudo tar -zxf hadoop-3.2.1.tar.gz -C /usr/local #解壓 cd /usr/local/ sudo mv ./hadoop-3.2.1/ ./hadoop # 將文件夾名改為hadoop sudo chown -R hadoop ./hadoop # 修改文件權限
驗證
cd /usr/local/hadoop ./bin/hadoop version
配置環(huán)境變量
vim ~/.bashrc
在首行中寫(xiě)入
export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
使得配置生效
source ~/.bashrc
創(chuàng )建文件目錄(為后面的xml做準備)
cd /usr/local/hadoop mkdir dfs cd dfs mkdir name data tmp cd /usr/local/hadoop mkdir tmp
配置hadoop的java環(huán)境變量
vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
vim $HADOOP_HOME/etc/hadoop/yarn-env.sh
兩個(gè)的首行都寫(xiě)入
export JAVA_HOME=/usr/lib/jvm/default-java
(master中)配置nodes
cd /usr/local/hadoop/etc/hadoop
刪除掉原有的localhost,因為我們有2個(gè)node,就把這2個(gè)的名字寫(xiě)入
vim workers
node1 node2
配置 core-site.xml
vim core-site.xml
因為我們只有一個(gè)namenode,所以用fs.default.name,不采用fs.defalutFs
其次確保/usr/local/hadoop/tmp這個(gè)目錄存在
<configuration> <property> <name>fs.default.name</name> <value>hdfs://Master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/tmp</value> </property> </configuration>
配置 hdfs-site.xml
vim hdfs-site.xml
dfs.namenode.secondary.http-address確保端口不要和core-site.xml中端口一致導致占用
確保/usr/local/hadoop/dfs/name :/usr/local/hadoop/dfs/data 存在
因為我們只有2個(gè)node,所以dfs.replication設置為2
<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>Master:9001</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> </configuration>
配置mapred-site.xml
vim mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
配置 yarn-site.xml
vim yarn-site.xml
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>Master</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property> </configuration>
將hadoop壓縮
cd /usr/local tar -zcf ~/hadoop.master.tar.gz ./hadoop #壓縮 cd ~
復制到node1中
scp ./hadoop.master.tar.gz node1:/home/hadoop
復制到node2中
scp ./hadoop.master.tar.gz node2:/home/hadoop
在node1、node2上執行
解壓
sudo rm -r /usr/local/hadoop # 刪掉舊的(如果存在) sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local #解壓 sudo chown -R hadoop /usr/local/hadoop #修改權限
首次啟動(dòng)需要先在 Master 節點(diǎn)執行 NameNode 的格式化,之后不需要
hdfs namenode -format
(注意:如果需要重新格式化 NameNode ,才需要先將原來(lái) NameNode 和 DataNode 下的文件全部刪除?。。。。。。。。。?/p>
#看上面的文字,不要直接復制了 rm -rf $HADOOP_HOME/dfs/data/* rm -rf $HADOOP_HOME/dfs/name/*
start-all.sh mr-jobhistory-daemon.sh start historyserver
master中,出現Warning不影響
jps
運行截圖展示
stop-all.sh mr-jobhistory-daemon.sh stop historyserver
運行截圖展示
搭建環(huán)境是一件比較耗時(shí)的操作,自己親手搭一遍,可能其中會(huì )遇到很多問(wèn)題,比如說(shuō)Linux的命令不熟悉,各種報錯,運行結果不對等,但是這些一般都可以在網(wǎng)上搜索到對應的解決方法。學(xué)習新技術(shù)就是要勇于試錯,然后歸納總結,這樣子會(huì )形成自己的一套解決問(wèn)題的邏輯框架思維,也可以增強知識框架的形成,加油!
到此這篇關(guān)于VMware + Ubuntu18.04 搭建Hadoop集群環(huán)境的圖文教程的文章就介紹到這了,更多相關(guān)VMware Ubuntu搭建Hadoop集群內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站