目錄
- 前言
- VMware克隆虛擬機(jī)(準(zhǔn)備工作,克隆3臺(tái)虛擬機(jī),一臺(tái)master,兩臺(tái)node)
- 1.創(chuàng)建Hadoop用戶(在master,node1,node2執(zhí)行)
- 2.更新apt下載源(在master,node1,node2執(zhí)行)
- 3. 安裝SSH、配置SSH免密登錄 (在master,node1,node2執(zhí)行)
- 4.安裝Java環(huán)境 (在master,node1,node2執(zhí)行)
- 修改主機(jī)名(在master,node1,node2執(zhí)行)
- 修改IP映射(在master,node1,node2執(zhí)行)
- SSH免密登錄其他節(jié)點(diǎn)(在master上執(zhí)行)
- 安裝hadoop3.2.1(在master中執(zhí)行)
- 配置hadoop環(huán)境(這一步需要很仔細(xì))
- 啟動(dòng) (在master上執(zhí)行)
- 關(guān)閉hadoop集群(在master上執(zhí)行)
- 總結(jié)
前言
本次教程是基于學(xué)校的大數(shù)據(jù)實(shí)驗(yàn)而做的,博主在搭建的同時(shí),記錄了自己的命令運(yùn)行結(jié)果截圖,在圖書館搭建環(huán)境+寫博客,也花了將近3個(gè)小時(shí)。長(zhǎng)時(shí)間眼睛對(duì)著電腦會(huì)很傷眼睛,所以童鞋們需要注意保護(hù)好眼睛,做做眼保健操。希望學(xué)到的童鞋可以點(diǎn)個(gè)贊!
VMware克隆虛擬機(jī)(準(zhǔn)備工作,克隆3臺(tái)虛擬機(jī),一臺(tái)master,兩臺(tái)node)
- 先在虛擬機(jī)中關(guān)閉系統(tǒng)
- 右鍵虛擬機(jī),點(diǎn)擊管理,選擇克隆
3.點(diǎn)擊下一步,選擇完整克隆,選擇路徑即可
1.創(chuàng)建Hadoop用戶(在master,node1,node2執(zhí)行)
順序執(zhí)行以下命令即可
1.創(chuàng)建hadoop用戶
sudo useradd -m hadoop -s /bin/bash
設(shè)置用戶密碼(輸入兩次)
添加權(quán)限
切換到hadoop用戶(這里要輸入剛剛設(shè)置的hadoop密碼)
運(yùn)行截圖展示(以master虛擬機(jī)為例)
2.更新apt下載源(在master,node1,node2執(zhí)行)
截圖展示(以master為例)
3. 安裝SSH、配置SSH免密登錄 (在master,node1,node2執(zhí)行)
1.安裝SSH
sudo apt-get install openssh-server
2.配置SSH免密登錄
ssh localhost
exit
cd ~/.ssh/
ssh-keygen -t rsa #一直按回車
cat ./id_rsa.pub >> ./authorized_keys
3.驗(yàn)證免密
ssh localhost
exit
cd ~/.ssh/
ssh-keygen -t rsa #一直按回車
cat ./id_rsa.pub >> ./authorized_keys
截圖展示(以master為例)
4.安裝Java環(huán)境 (在master,node1,node2執(zhí)行)
1.下載 JDK 環(huán)境包
sudo apt-get install default-jre default-jdk
2.配置環(huán)境變量文件
3.在文件首行加入
export JAVA_HOME=/usr/lib/jvm/default-java
4,。讓環(huán)境變量生效
5.驗(yàn)證
截圖展示(以master為例)
修改主機(jī)名(在master,node1,node2執(zhí)行)
1.將文件中原有的主機(jī)名刪除,master中寫入master,node1中寫入node1,node2…(同理)
重啟三個(gè)服務(wù)器
重啟成功后,再次連接會(huì)話,發(fā)現(xiàn)主機(jī)名改變了
截圖展示(以node1為例)
修改IP映射(在master,node1,node2執(zhí)行)
查看各個(gè)虛擬機(jī)的ip地址
如果有報(bào)錯(cuò),則下載 net-tools ,然后再運(yùn)行即可看到
sudo apt install net-tools
如下圖,紅色方框內(nèi)的就是 本臺(tái)虛擬機(jī)的 ip 地址
3臺(tái)虛擬機(jī)中都需要在 hosts 文件中加入對(duì)方的ip地址
以master為例截圖展示
SSH免密登錄其他節(jié)點(diǎn)(在master上執(zhí)行)
在Master上執(zhí)行
cd ~/.ssh
rm ./id_rsa* # 刪除之前生成的公匙(如果有)
ssh-keygen -t rsa # 一直按回車就可以
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都執(zhí)行
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub # 用完就刪掉
驗(yàn)證免密登錄
ssh node1
exit
ssh node2
exit
以master為例截圖展示
安裝hadoop3.2.1(在master中執(zhí)行)
有些鏡像的下載網(wǎng)址失效了,這里貼出官網(wǎng)的下載地址。
下載網(wǎng)址:hadoop3.2.1下載網(wǎng)址
下載好,之后通過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 # 修改文件權(quán)限
驗(yàn)證
cd /usr/local/hadoop
./bin/hadoop version
配置hadoop環(huán)境(這一步需要很仔細(xì))
配置環(huán)境變量
在首行中寫入
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
使得配置生效
創(chuàng)建文件目錄(為后面的xml做準(zhǔn)備)
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è)的首行都寫入
export JAVA_HOME=/usr/lib/jvm/default-java
(master中)配置nodes
cd /usr/local/hadoop/etc/hadoop
刪除掉原有的localhost,因?yàn)槲覀冇?個(gè)node,就把這2個(gè)的名字寫入
配置 core-site.xml
因?yàn)槲覀冎挥幸粋€(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
dfs.namenode.secondary.http-address確保端口不要和core-site.xml中端口一致導(dǎo)致占用
確保/usr/local/hadoop/dfs/name :/usr/local/hadoop/dfs/data 存在
因?yàn)槲覀冎挥?個(gè)node,所以dfs.replication設(shè)置為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
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
配置 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 ~
復(fù)制到node1中
scp ./hadoop.master.tar.gz node1:/home/hadoop
復(fù)制到node2中
scp ./hadoop.master.tar.gz node2:/home/hadoop
在node1、node2上執(zhí)行
解壓
sudo rm -r /usr/local/hadoop # 刪掉舊的(如果存在)
sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local #解壓
sudo chown -R hadoop /usr/local/hadoop #修改權(quán)限
首次啟動(dòng)需要先在 Master 節(jié)點(diǎn)執(zhí)行 NameNode 的格式化,之后不需要
(注意:如果需要重新格式化 NameNode ,才需要先將原來 NameNode 和 DataNode 下的文件全部刪除!?。。。。。。。。?/p>
#看上面的文字,不要直接復(fù)制了
rm -rf $HADOOP_HOME/dfs/data/*
rm -rf $HADOOP_HOME/dfs/name/*
啟動(dòng) (在master上執(zhí)行)
start-all.sh
mr-jobhistory-daemon.sh start historyserver
master中,出現(xiàn)Warning不影響
運(yùn)行截圖展示
關(guān)閉hadoop集群(在master上執(zhí)行)
stop-all.sh
mr-jobhistory-daemon.sh stop historyserver
運(yùn)行截圖展示
總結(jié)
搭建環(huán)境是一件比較耗時(shí)的操作,自己親手搭一遍,可能其中會(huì)遇到很多問題,比如說Linux的命令不熟悉,各種報(bào)錯(cuò),運(yùn)行結(jié)果不對(duì)等,但是這些一般都可以在網(wǎng)上搜索到對(duì)應(yīng)的解決方法。學(xué)習(xí)新技術(shù)就是要勇于試錯(cuò),然后歸納總結(jié),這樣子會(huì)形成自己的一套解決問題的邏輯框架思維,也可以增強(qiáng)知識(shí)框架的形成,加油!
到此這篇關(guān)于VMware + Ubuntu18.04 搭建Hadoop集群環(huán)境的圖文教程的文章就介紹到這了,更多相關(guān)VMware Ubuntu搭建Hadoop集群內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!