搭建Hadoop环境(超详细)
搭建Hadoop環(huán)境(超詳細(xì))
- 前言
- 一、安裝VMware Workstation10.0
- 二、安裝虛擬機:(沒有寫的全按默認(rèn)處理)
- 1.創(chuàng)建新的虛擬機
- 2.配置虛擬機IP地址
- 3.永久修改主機名Hostname
- 4.配置集群Hosts
- 5.永久關(guān)閉防火墻
- 6.關(guān)閉selinux
- 7.安裝VMware Tools
- 8.安裝JDK
- 三、虛擬機克隆
- 1.克隆虛擬機
- 2.修改克隆出來虛擬機的網(wǎng)絡(luò)IP
- 3.進行ssh遠(yuǎn)程登錄,并配置hosts集群
- 四、進行虛擬機的批量開關(guān)機
- 五、安裝配置Hadoop
- 六、設(shè)置SSH無密碼登錄
- 七、分發(fā)Hadoop文件
- 八、格式化NameNode
- 九、啟動集群
- 1.啟動HDFS
- 2.用jps命令來驗證各個節(jié)點的HDFS服務(wù)是否啟動成功
- 3.查看HDFS Web監(jiān)控頁面
- 4.啟動yarn
- 5.啟動日志服務(wù)器
- 十、測試Job
- 1.準(zhǔn)備mapreduce輸入文件wc.input
- 2. 在HDFS創(chuàng)建輸入目錄input
- 3. 將wc.input上傳到HDFS
- 4. 運行hadoop自帶的mapreduce Demo
- 5. 查看輸出的結(jié)果文件
- 十一、關(guān)閉服務(wù)
前言
所有本文中沒有提到的操作全部按照默認(rèn)處理即可
一、安裝VMware Workstation10.0
選Typical典型安裝
修改為固定、靜態(tài)IP:
三臺機器的IP地址分別為:
192.168.100.10
192.168.100.12
192.168.100.13
子網(wǎng)掩碼:255.255.255.0
在VMware Workstation中-編輯-虛擬網(wǎng)絡(luò)編輯器
點NAT設(shè)置
點DNS設(shè)置
二、安裝虛擬機:(沒有寫的全按默認(rèn)處理)
1.創(chuàng)建新的虛擬機
-典型-稍后安裝操作系統(tǒng)
點擊CD/DVD
選擇CentOS-6.5-x86_64-bin-DVD1.iso
點開啟虛擬機
進入虛擬機后選第1項,回車
選Skip,回車
時區(qū)選上海
虛擬機的Root Password:111111
密碼:111111
2.配置虛擬機IP地址
右鍵右上角網(wǎng)絡(luò)連接圖表-Edit Conections-選中System eh0-Edit
-Apply
3.永久修改主機名Hostname
vi /etc/sysconfig/networki改為insert狀態(tài)
按esc,再:wq保存退出
重啟
4.配置集群Hosts
vi /etc/hosts連按兩下d,把原來的刪除
i改為insert狀態(tài)
寫入
按esc,再:wq保存退出
5.永久關(guān)閉防火墻
chkconfig iptables off reboot重啟
6.關(guān)閉selinux
vi /etc/sysconfig/selinux
改為disabled
再
重啟
7.安裝VMware Tools
虛擬機-安裝VMware Tools
cd /media/VMware\ Tools/(文件夾名字的空格需要寫成\ )
ls tar -xf VMwareTools-9.6.2-1688356.tar.gz -C / cd vmware-tools-distrib ls ./vmware-install.pl一路回車
reboot8.安裝JDK
將壓縮包拖拽到根目錄下的tmp文件夾中
mkdir /opt/modules/解壓到新建的文件夾中
tar -xf /tmp/jdk-8u161-linux-x64.tar.gz -C /opt/modules/配置環(huán)境變量
vi /etc/profile添加以下環(huán)境變量配置:
JAVA_HOME=/opt/modules/jdk1.8.0_161 CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH
執(zhí)行一下修改的文件
輸入
java顯示信息
輸入
顯示版本信息
三、虛擬機克隆
1.克隆虛擬機
先將要克隆的虛擬機關(guān)機
右鍵-管理-克隆-虛擬機中的當(dāng)前狀態(tài)-創(chuàng)建完整克隆-重命名并改路徑(改名為Hadoop2)
右鍵-管理-克隆-虛擬機中的當(dāng)前狀態(tài)-創(chuàng)建完整克隆-重命名并改路徑(改名為Hadoop3)
2.修改克隆出來虛擬機的網(wǎng)絡(luò)IP
配置2號虛擬機:
右鍵右上角網(wǎng)絡(luò)連接圖表-Edit Conections-選中Auto eth1-Edit
-Apply
配置3號虛擬機:
右鍵右上角網(wǎng)絡(luò)連接圖表-Edit Conections-選中Auto eth1-Edit
-Apply
在1號虛擬機中測試是否配置成功:
ping一下其他虛擬機
三臺虛擬機網(wǎng)絡(luò)之間可以成功通訊
更改后兩臺虛擬機的主機名:
在2號中:
按i改為insert狀態(tài),改為2
按esc,再輸入:wq,回車
重啟
在3號中:
vim /etc/sysconfig/network按i改為insert狀態(tài),改為3
按esc,再輸入:wq,回車
重啟
配置hosts:
在1號機中:
連續(xù)敲兩下yy進行復(fù)制整行,再按兩次p進行粘貼兩行
然后進行修改主機名和ip地址
按i改為insert狀態(tài),進行修改
按esc,再輸入:wq,回車
3.進行ssh遠(yuǎn)程登錄,并配置hosts集群
(遠(yuǎn)程登錄到其他機器時,其他機器需要是解鎖狀態(tài))
登錄到2號機
回車(若出現(xiàn)提示,輸入yes,再回車)
再輸入密碼
連續(xù)敲兩下yy進行復(fù)制整行,再按兩次p進行粘貼兩行
然后進行修改主機名和ip地址
按i改為insert狀態(tài),進行修改
按esc,再輸入:wq,回車
再從2號機登錄到3號機
ssh 192.168.100.13回車(若出現(xiàn)提示,輸入yes,再回車)
再輸入密碼
連續(xù)敲兩下yy進行復(fù)制整行,再按兩次p進行粘貼兩行
然后進行修改主機名和ip地址
按i改為insert狀態(tài),進行修改
按esc,再輸入:wq,回車
輸入exit可回到2號機
再輸入exit可回到1號機
或者可以使用scp命令進行遠(yuǎn)程文件的傳輸
scp /etc/hosts root@192.168.100.12:/etc scp /etc/hosts root@192.168.100.13:/etc如果原來已有這個文件,會進行覆蓋
注:如果將來出現(xiàn)2號或3號節(jié)點的DataNode服務(wù)啟動失敗的情況,可以首先查看2號或3號節(jié)點的log日志文件,即:
vi /opt/modules/app/hadoop-2.8.5/logs/hadoop-root-datanode-bigdata-senior02.chybinmy.com.log或
vi /opt/modules/app/hadoop-2.8.5/logs/hadoop-root-datanode-bigdata-senior03.chybinmy.com.log如果看到j(luò)ava.net.BindException: Port in use: localhost:0這條報錯信息,則說明該節(jié)點的0號端口被占用,解決方案就是再把這兩句話:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6添加回2號或3號節(jié)點的/etc/hosts配置文件開頭即可。
四、進行虛擬機的批量開關(guān)機
在1號機中
切換到根目錄下:
新建一個文件shell腳本文件
touch /poweroff.sh vi /poweroff.sh按i鍵改為insert狀態(tài),輸入:
#!/bin/bash for i in 13 12 10 dossh root@192.168.100.$i "shutdown -h now" done按esc鍵,再輸入:wq
ll顯示當(dāng)前所在位置的文件和文件夾的詳細(xì)信息
更改文件權(quán)限:
再
ll查看權(quán)限的變化
執(zhí)行腳本進行關(guān)機
再分別輸入3臺機的密碼進行關(guān)機
執(zhí)行命令的時候需要切換到根目錄下:
五、安裝配置Hadoop
1.在1號機中新建一個文件夾
mkdir /opt/modules/app2.把Hadoop文件以拖拽的方式拷貝到tmp路徑下
3.解壓到新建的文件夾中
tar -xf /tmp/hadoop-2.8.5.tar.gz -C /opt/modules/app/ cd /opt/modules/app/ ls可看到解壓成功
4.配置環(huán)境變量
vi /etc/profile在末尾進行修改:
JAVA_HOME=/opt/modules/jdk1.8.0_161 HADOOP_HOME="/opt/modules/app/hadoop-2.8.5/" CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH export JAVA_HOME HADOOP_HOME CLASSPATH PATH使新配置的環(huán)境變量生效
source /etc/profile輸入start再連續(xù)按兩下tab,如果能顯示start-yarn.sh(為Hadoop中集群啟動的命令)等,說明環(huán)境變量配置正確
5.配置Hadoop 環(huán)境下的JDK路徑:修改hadoop-env.sh、mapred-env.sh、yarn-env.sh文件中的JDK路徑:
vi /opt/modules/app/hadoop-2.8.5/etc/hadoop/hadoop-env.sh找到JAVA_HOME進行修改
export JAVA_HOME="/opt/modules/jdk1.8.0_161" vi /opt/modules/app/hadoop-2.8.5/etc/hadoop/mapred-env.sh找到JAVA_HOME進行修改
export JAVA_HOME="/opt/modules/jdk1.8.0_161"(修改時若最左邊有#要刪掉)
vi /opt/modules/app/hadoop-2.8.5/etc/hadoop/yarn-env.sh找到JAVA_HOME進行修改
export JAVA_HOME="/opt/modules/jdk1.8.0_161"6.配置core-site.xml
vi /opt/modules/app/hadoop-2.8.5/etc/hadoop/core-site.xml在<configuration>標(biāo)簽中添加
<property><name>fs.defaultFS</name><value>hdfs://bigdata-senior01.chybinmy.com:8020</value></property><property><name>hadoop.tmp.dir</name><value>/opt/modules/app/hadoop-2.8.5/data/tmp</value></property>需要創(chuàng)建hadoop.tmp.dir屬性所代表的目錄:
mkdir -p /opt/modules/app/hadoop-2.8.5/data/tmp7.配置hdfs-site.xml
vi /opt/modules/app/hadoop-2.8.5/etc/hadoop/hdfs-site.xml在<configuration>標(biāo)簽中添加
<property><name>dfs.namenode.secondary.http-address</name><value>bigdata-senior03.chybinmy.com:50090</value></property>8.配置slaves
vi /opt/modules/app/hadoop-2.8.5/etc/hadoop/slaves刪掉原來的內(nèi)容,寫入:
bigdata-senior02.chybinmy.com bigdata-senior03.chybinmy.comslaves文件是指定HDFS上有哪些DataNode節(jié)點。設(shè)置2號和3號虛擬機作為數(shù)據(jù)節(jié)點。
9.配置yarn-site.xml
vi /opt/modules/app/hadoop-2.8.5/etc/hadoop/yarn-site.xml在<configuration>標(biāo)簽中添加
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value> </property> <property><name>yarn.resourcemanager.hostname</name><value>bigdata-senior01.chybinmy.com</value> </property> <property><name>yarn.log-aggregation-enable</name><value>true</value> </property> <property><name>yarn.log-aggregation.retain-seconds</name><value>106800</value> </property>10.配置mapred-site.xml
從mapred-site.xml.template復(fù)制一個mapred-site.xml文件:
cp /opt/modules/app/hadoop-2.8.5/etc/hadoop/mapred-site.xml.template /opt/modules/app/hadoop-2.8.5/etc/hadoop/mapred-site.xml vi /opt/modules/app/hadoop-2.8.5/etc/hadoop/mapred-site.xml在<configuration>標(biāo)簽中添加
<property><name>mapreduce.framework.name</name><value>yarn</value></property> <property><name>mapreduce.jobhistory.address</name><value>bigdata-senior01.chybinmy.com:10020</value> </property> <property><name>mapreduce.jobhistory.webapp.address</name><value>bigdata-senior01.chybinmy.com:19888</value> </property>六、設(shè)置SSH無密碼登錄
在1號機中:
1.生成密鑰對
回車,回車,回車
ll /root/.ssh/顯示內(nèi)容,出現(xiàn)公鑰和私鑰
2.發(fā)送公鑰
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.100.10輸入密碼
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.100.12輸入密碼
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.100.13輸入密碼
3.在2號機上做同樣的操作:
登錄到2號機
ssh 192.168.100.12此時不用輸入密碼
生成密鑰對
ssh-keygen -t rsa回車,回車,回車
把公鑰鑰對發(fā)給1號和3號機以及自己
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.100.10 ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.100.12 ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.100.13(若出現(xiàn)連接提示,輸入yes再回車)
4.在3號機上做同樣的操作:
登錄到3號機
此時不用輸入密碼
生成密鑰對
ssh-keygen -t rsa回車,回車,回車
發(fā)送公鑰
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.100.10 ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.100.12 ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.100.13(若需要輸入密碼時輸入密碼)
exit,exit退回到1號機
便實現(xiàn)了各臺機器之間的免密登錄,再進行批量關(guān)機的時候便不需要再輸入密碼
七、分發(fā)Hadoop文件
在1號機中:
1.在其他2兩臺機器上創(chuàng)建存放Hadoop的目錄
exit,exit退回到1號機
2.通過Scp分發(fā)
Hadoop根目錄下的share/doc目錄是存放的hadoop的文檔,文件相當(dāng)大,建議在分發(fā)之前將這個目錄刪除掉,可以節(jié)省硬盤空間并能提高分發(fā)的速度。
rm -rf /opt/modules/app/hadoop-2.8.5/share/doc/分發(fā)到2號機和3號機
scp -r /opt/modules/app/hadoop-2.8.5/ 192.168.100.12:/opt/modules/app/ scp -r /opt/modules/app/hadoop-2.8.5/ 192.168.100.13:/opt/modules/app/3.采用scp分發(fā)的簡便方式來配置2號和3號機的Hadoop環(huán)境變量:
scp -r /etc/profile 192.168.100.12:/etc scp -r /etc/profile 192.168.100.13:/etc使環(huán)境變量生效
ssh 192.168.100.12 source /etc/profile ssh 192.168.100.13 source /etc/profileexit,exit退回到1號機
八、格式化NameNode
在1號機中
在NameNode所部屬的機器bigdata-senior01上執(zhí)行格式化:
(注:當(dāng)在2號和3號虛擬機用jps命令顯示有DataNode進程名,但打開web監(jiān)控頁面卻沒有顯示DataNode節(jié)點信息時,說明HDFS集群沒有啟動成功。此時可以嘗試采用重新格式化的方式來解決)
重新格式化集群的具體操作步驟如下:
1.先停止HDFS集群:
2.然后將3臺虛擬機上的dfs文件夾里的全部內(nèi)容刪除:(分別登錄到3臺機器)
rm -rf /opt/modules/app/hadoop-2.8.5/data/tmp/dfs/ ssh 192.168.100.12 rm -rf /opt/modules/app/hadoop-2.8.5/data/tmp/dfs/ ssh 192.168.100.13 rm -rf /opt/modules/app/hadoop-2.8.5/data/tmp/dfs/3.exit,exit返回1號虛擬機,再重新執(zhí)行格式化命令即可:
hdfs namenode -format4.重啟HDFS集群,確認(rèn)是否成功。
九、啟動集群
1.啟動HDFS
start-dfs.sh2.用jps命令來驗證各個節(jié)點的HDFS服務(wù)是否啟動成功
jps登錄到2號機查看
ssh 192.168.100.12 jps登錄到3號機查看
ssh 192.168.100.13 jps顯示如下即啟動成功:
再exit,exit退回到1號機
(若沒有按此顯示,則查看上面的3.進行ssh遠(yuǎn)程登錄,并配置hosts集群)
3.查看HDFS Web監(jiān)控頁面
在1號機的火狐瀏覽器中輸入:
http://bigdata-senior01.chybinmy.com:50070/
紅框中即為分布式集群中的兩個DataNode存儲節(jié)點信息
4.啟動yarn
啟動yarn便啟動了MapReduce(要保證HDFS在啟動狀態(tài))
start-yarn.sh用jps命令來驗證各個節(jié)點的HDFS服務(wù)是否啟動成功
jps登錄到2號機查看
ssh 192.168.100.12 jps登錄到3號機查看
ssh 192.168.100.13 jps顯示如下即啟動成功:
再exit,exit退回到1號機
5.啟動日志服務(wù)器
啟動歷史(日志)服務(wù)
mr-jobhistory-daemon.sh start historyserverjps查看
查看YARN Web 頁面
在1號機的火狐瀏覽器中輸入:
http://bigdata-senior01.chybinmy.com:8088/cluster
十、測試Job
用hadoop自帶的wordcount例子來在本地模式下測試跑mapreduce
1.準(zhǔn)備mapreduce輸入文件wc.input
mkdir /opt/data vi /opt/data/wc.input寫入
hadoop mapreduce hive hbase spark storm sqoop hadoop hive spark hadoop2. 在HDFS創(chuàng)建輸入目錄input
hdfs dfs -mkdir /input3. 將wc.input上傳到HDFS
hdfs dfs -put /opt/data/wc.input /input/wc.input4. 運行hadoop自帶的mapreduce Demo
yarn jar /opt/modules/app/hadoop-2.8.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar wordcount /input/wc.input /output5. 查看輸出的結(jié)果文件
hdfs dfs -ls /output hdfs dfs -cat /output/part-r-00000顯示wordcount詞頻
在1號機的火狐瀏覽器中輸入:
http://bigdata-senior01.chybinmy.com:8088/cluster
點FINISHED可看到結(jié)果
十一、關(guān)閉服務(wù)
關(guān)機時一定要關(guān)閉!!!
1.關(guān)閉歷史服務(wù)
2.關(guān)閉yarn(MapReduce)
stop-yarn.sh3.關(guān)閉HDFS
stop-dfs.sh4.執(zhí)行腳本進行關(guān)機
cd / ./poweroff.sh可將虛擬機進行復(fù)制備份
注意:將來如果要拷貝3臺虛擬機到其他機器,開機時會彈出如下提示,這時請一定選擇“我已移動該虛擬機”,因為選擇“復(fù)制”的話,VMware平臺會為每臺虛擬機自動生成一塊新的網(wǎng)卡并設(shè)置為啟動狀態(tài),這會導(dǎo)致網(wǎng)絡(luò)不通,還需重新設(shè)置新網(wǎng)卡。
總結(jié)
以上是生活随笔為你收集整理的搭建Hadoop环境(超详细)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux 僵尸进程可以被杀死吗?
- 下一篇: 华为hr,我尽力了