Hadoop叢集搭建(一)
Haoop叢集搭建【一】--虛擬機器安裝及其網路配置
Ⅰ 前言
最近由於硬碟垃圾檔案太多,圖方便直接恢復出廠清空了所有盤檔案,想著重灌一次虛擬機器可以順便寫一個安裝心得還有教程,於是寫了包括本文的接下來幾個部落格,該系列部落格將會手把手搭建hadoop叢集及其常用元件,記錄全過程並指出部分常見錯誤
Ⅱ 搭建虛擬機器準備(附帶下載連結)
我們首先需要準備一些基本的軟體用於搭建叢集
一.VMware
VMware Workstation(中文名“威睿工作站”)是一款功能強大的桌面虛擬計算機軟體,提供使用者可在單一的桌面上同時執行不同的作業系統.我們需要下載這個平臺用於搭建虛擬機器,在下面連結中下載完成後自行安裝好。
(以下給出下載連結)
VMware Station pro 16.0.0 下載連結
密碼:geigeguanzhu
至於啟用碼,搜尋一下,網上一大把都可以隨便用(我的連結中的虛擬機器版本是16.0,啟用版本別搞錯了)
二.終端模擬器及檔案傳輸軟體
我們還需要一個終端模擬器和檔案傳輸軟體來進行對虛擬機器的控制和檔案傳輸,這裡我們使用Xmanager,他包含一組工具,其中含有Xshell(模擬器)和Xftp(傳輸軟體),此處要是有自己習慣的軟體的話也可以使用自己喜歡的,安裝即可,一樣的,下面給出連結,
Xmanager下載連結
密碼:zccy
1,解壓壓縮包
2、註冊碼.txt中獲取序列號。雙擊執行Xme5.exe,進行安裝
三.虛擬機器映象
我們還需要為虛擬機器準備系統映象,這裡選用適合初學者的centos7(linux)
Centos7映象下載地址
密碼:zccy
四.相關元件
hadoop生態圈還有很多的元件。例如Spark,Hbase,hive等等,因為篇幅問題,這些軟體在此處不介紹,給出下載連結,具體的安裝教程將會在之後的部落格給出,(本文需要使用連結中的hadoop,ant,eclipse,jdk)
叢集元件下載連結
密碼:zccy
Ⅲ.叢集安裝與配置教程
一,建立虛擬機器
建立虛擬機器—>選擇典型—>下一步
選擇稍後安裝—>點選下一步
選擇Linux—>版本選擇Centos(7) 64位—>點選下一步
修改名稱—>選擇儲存路徑—>下一步
預設配置即可
完成虛擬機器建立,此步可以自定義硬體(虛擬機器的記憶體可根據自身計算機的配置自行分配,一般使用預設即可)
二,安裝Centos7
先掛載映象
開啟虛擬機器
選擇Install Centos7
一段時間的載入後,進入語言選擇介面,選擇自己喜歡的語言,再點選繼續
選擇安裝軟體
選擇KDE視覺化介面(推薦,要是喜歡在命令列敲程式碼也可以選其他的)
選擇自動分割槽—>開始安裝
可以在等待時間裡設定一下root密碼和hadoop賬戶,完成後點選重啟即可
常見問題
三,虛擬機器網路配置(通過環回介面卡)
如圖,使用root使用者登陸虛擬機器
本地物理機網路配置
特別提醒,這裡操作的是你自己的電腦,不是虛擬機器,開啟自己電腦的計算機管理,如圖所示點選,
選擇新增過時硬體
下一步
選擇網路介面卡
選擇廠商為Microsoft,選擇型號為KM-TEST環回介面卡
沒有的話也可能這個
連續點選幾個下一步,然後完成。
接下來開啟“控制皮膚\網路和 Internet\網路連線”
找到剛剛新增的環回介面卡,然後進行如下操作
虛擬機器網路配置
如圖,在VMware中開啟虛擬網路編輯器
選擇更改設定
新增一個VMnet2(沒有的話)
將新建的VMnet2連線到KM迴環介面卡上
然後修改一下虛擬機器的網路屬性
修改網路連結,確認儲存後重啟虛擬機器
虛擬機器網路卡配置
重啟完成後,再次登入root使用者
在虛擬機器中點選右鍵,再點選console
輸入兩個命令:
cd /etc/sysconfig/network-scripts/
ls
我們看到了如下的介面
輸入編輯網路卡的指令,並進行如下修改:
vi ifcfg-ens33
修改後結果如下
輸入命令:
service network restart
如果結果和下圖一樣,則執行成功
成功了就關機就是簡單粗暴
克隆虛擬機器
其實除了通過VMware克隆,還可以在本地檔案系統找到虛擬機器根目錄,直接複製貼上虛擬機器,但這種方法不做推薦(能按兩下解決的事,整那麼複雜幹嘛)
如下圖,依次點選
複製當前狀態
建立完整克隆
修改名稱和儲存路徑
克隆完成,關閉
按箭頭順序依次點選,記住一定要重新生成,不然會沒網(老版本克隆不會自動重新生成)
之後開啟slave,修改他的網路卡配置(IP),方法上面講過
重啟網路卡
相同方法再克隆一個Slave2
配置主機名及hosts列表
在Master中輸入指令
hostnamectl set-hostname master
在slave中輸入指令
hostnamectl set-hostname slave
在所有虛擬機器上配置hosts列表(否則會導致連線錯誤)
vi /etc/hosts
刪除其餘的配置,向其中新增主節點以及從節點資訊(如圖)
設定免金鑰登入
首先在三個虛擬機器都輸入指令
ssh-keygen –t rsa
連續點選幾個回車
然後回到master上,繼續輸入指令
cd .ssh
cp id_rsa.pub authorized_keys
scp -p id_rsa.pub root@slave:/root/.ssh/authorized_keys
scp -p id_rsa.pub root@slave2:/root/.ssh/authorized_keys
注意,最後兩步需要輸入密碼,請一步一步執行,不要直接複製全部
最後回到兩個slave上輸入指令
cd .ssh
chmod 600 authorized_keys
如圖,即成功
關閉防火牆
關閉虛擬機器防火牆
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
關閉物理機防火牆(ping不通物理機再關)
驗證網路
將下面幾行填入/etc/hosts檔案中(根據自己配的IP地址)
192.168.1.2 master
192.168.1.3 slave
192.168.1.4 slave2
使用ping命令檢視網路
我們可以看到三個虛擬機器之間是可以互ping的,接著我們試一試ping 192.168.1.1(物理機ip)
那我們再試試外網,如果Ping通,結果如下
(
注:僅使用本教程的迴環介面卡是無法聯網的,需要再連線一個新的網路卡連線外網,方法在我的另一個部落格(裡面還有常見的幾種網路配置錯誤的解決方法)
傳送門:虛擬機器ping不通的幾種常見解決方法
)
如圖,也是可以的,
Ⅳ,安裝hadoop
做好了準備,我們開始正式進入hadoop叢集安裝
首先開啟Xmanager中的Xshell
如圖,建立一個新會話
接受並儲存
輸入root使用者名稱(勾選記住使用者名稱)(之後輸入自己的密碼)
出現這樣的畫面就說明連線成功
同樣地,再設兩個虛擬機器會話
一樣連線上
開啟Xftp
安裝jdk
將jdk還有hadoop傳給虛擬機器(幾個虛擬機器都傳)
(確定在根目錄下)建立一個jdk目錄(三個虛擬機器同步),並解壓jdk到這個資料夾,(順便建立一個hadoopdata目錄)
mkdir jdk
tar -xvf jdk-8u144-linux-x64.tar.gz -C /root/jdk
然後我們會看到命令列視窗開始duang duang duang地彈東西,等解壓完了。我們看一看目錄
ls /root/jdk
解壓完成,我們配置一下jdk路徑(保證在root目錄下)
vi ./.bash_profile
編輯內容如下
export JAVA_HOME=/root/jdk/jdk1.8.0_144/
export PATH=$JAVA_HOME/bin:$PATH
編輯完成後,重新載入,輸入下列指令
source .bash_profile
再檢視jdk版本
java -version
再次提醒,三個虛擬機器都要設定
這裡我們說一下.bash_profile檔案,這是一個配置路徑的檔案,還有一個效果相同的檔案(在/etc)profile,這裡我們之所以使用.bash_profile的原因是/etc/profile是預設配置檔案,我們可以把我們的路徑資訊放在.bash_profile中,就可以與系統配置檔案錯開
提示:JAVAHOME是自己設定的jdk路徑(跟著我做的檔案跟我一樣就行)
安裝hadoop
解壓到指定資料夾
tar -xvf hadoop-2.7.7.tar.gz
配置環境變數 hadoop-env.sh
輸入指令
vi ./hadoop-2.7.7/etc/hadoop/hadoop-env.sh
找到配置檔案中的JAVA_HOME,新增自己的jdk路徑
完成
配置環境變數 yarn-env.sh
輸入指令
vi ./hadoop-2.7.7/etc/hadoop/yarn-env.sh
同樣的,修改其中的JAVA_HOME
完成
配置核心元件core-site.xml
輸入指令
vi ./hadoop-2.7.7/etc/hadoop/core-site.xml
在檔案末尾的 configuration 之間新增下列內容
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoopdata</value>
</property>
結果如下
完成
配置檔案系統 hdfs-site.xml
輸入指令
vi ./hadoop-2.7.7/etc/hadoop/hdfs-site.xml
在檔案末尾的 configuration 之間新增下列內容
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
結果如下
配置檔案系統 yarn-site.xml
輸入指令
vi ./hadoop-2.7.7/etc/hadoop/yarn-site.xml
在檔案末尾的 configuration 之間新增下列內容
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8025</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8141</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
結果如下
配置計算框架 mapred-site.xml
輸入指令
cd ./hadoop-2.7.7/etc/hadoop/
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
在檔案末尾的 configuration 之間新增下列內容
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
結果如下:
配置slaves檔案
vi slaves
把localhost改成slave,slave2
在根目錄複製slave
scp -r hadoop-2.7.7 root@slave:~/
scp -r hadoop-2.7.7 root@slave2:~/
配置hadoop啟動系統環境變數
向.bash_profile 新增hadoop配置資訊
vi .bash_profile
export HADOOP_HOME=/root/hadoop-2.7.7
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
結果如下
編輯完成後,重新載入,輸入下列指令
source .bash_profile
啟動Hadoop叢集
格式化檔案系統
hdfs namenode -format
啟動Hadoop
cd hadoop-2.7.7/sbin
./start-dfs.sh
./start-yarn.sh
jps檢視執行情況,如圖所示,即成功(namenode啟動)
開啟瀏覽器,在位址列中輸入 http://master:50070/檢視節點情況,若如圖,則配置成功
好了,到這偽分散式叢集就搭建完成了
叢集(節點)無法啟動,可以參考我的另一篇部落格
這是傳送門:虛擬機器節點啟動異常的解決方法
web頁面無法顯示datanode節點資訊,可以參考我的另一篇部落格
這是傳送門:hadoop叢集web頁面無法顯示節點資訊的解決方法
Ⅴ,小結
安裝hadoop叢集是學習是學習haoop叢集的第一步,如果出現了什麼問題歡迎在評論區留言,互相討論,下一篇將會介紹hadoop叢集上eclipse(附帶scala配置)的安裝和使用,以及spark安裝,如果這篇博有幫到你,請在下文點個贊呦!
相關文章
- Hadoop叢集搭建Hadoop
- Hadoop搭建叢集Hadoop
- 4.4 Hadoop叢集搭建Hadoop
- hadoop分散式叢集搭建Hadoop分散式
- Hadoop叢集搭建之關閉防火牆(一)Hadoop防火牆
- (一)hadoop叢集搭建——1.4hdfs的操作Hadoop
- Hadoop HA叢集簡單搭建Hadoop
- Hadoop分散式叢集搭建_1Hadoop分散式
- 大資料7.1 - hadoop叢集搭建大資料Hadoop
- hadoop-2.5.0-cdh5.3.6叢集搭建HadoopH5
- 虛擬機器Hadoop叢集搭建5安裝Hadoop虛擬機Hadoop
- 大資料平臺Hadoop叢集搭建大資料Hadoop
- 基於 ZooKeeper 搭建 Hadoop 高可用叢集Hadoop
- 基於kerberos的hadoop安全叢集搭建ROSHadoop
- BigData~03:Hadoop05 ~ HA叢集搭建Hadoop
- hadoop叢集搭建及程式設計實踐Hadoop程式設計
- hadoop叢集搭建——單節點(偽分散式)Hadoop分散式
- hadoop叢集搭建,CentOS7克隆HadoopCentOS
- Centos mini系統下的Hadoop叢集搭建CentOSHadoop
- 五行命令使用docker搭建hadoop叢集DockerHadoop
- Hadoop叢集之 ZooKeeper和Hbase環境搭建Hadoop
- hadoop之旅3-centerOS7: 搭建hadoop免密叢集啟動HadoopROS
- Ubuntu上搭建Hadoop叢集環境的步驟UbuntuHadoop
- Hadoop叢集搭建--虛擬機器互相ping通Hadoop虛擬機
- Hadoop框架:叢集模式下分散式環境搭建Hadoop框架模式分散式
- CentOS7搭建Hadoop-3.3.0叢集手記CentOSHadoop
- Linux 環境下搭建Hadoop叢集(全分佈)LinuxHadoop
- hadoop之旅9-centerOS7 : hbase叢集環境搭建HadoopROS
- 搭建zookeeper叢集(偽叢集)
- Centos7搭建hadoop3.3.4分散式叢集CentOSHadoop分散式
- 基於Hadoop不同版本搭建hive叢集(附配置檔案)HadoopHive
- 【教程】手把手教你如何搭建Hadoop單機偽叢集Hadoop
- Hadoop-叢集執行Hadoop
- 使用docker部署hadoop叢集DockerHadoop
- Hadoop叢集面試題Hadoop面試題
- zookeeper叢集及kafka叢集搭建Kafka
- CentOS 7上搭建Spark 3.0.1 + Hadoop 3.2.1分散式叢集CentOSSparkHadoop分散式
- 雲主機centos7搭建基於docker的hadoop叢集CentOSDockerHadoop