當前位置:
首頁 > 知識 > 搭建hadoop、hdfs環境——ubuntu

搭建hadoop、hdfs環境——ubuntu

最近在學習hadoop相關知識,就在本機上安裝了hadoop,遇到了一些坑,也學到了不少。僅此記錄我的安裝過程,及可能遇到的問題。供參考。交流溝通見頁末。

軟體準備

> 虛擬機(VMware)

個人情況下,不太可能有多台電腦,裝一個虛擬機來進行實驗。虛擬機中我用的是Linux的ubuntu版本。

具體安裝就不在這裡說明了,提示的是:安裝的網路模式選bridged,如果出現無法上網或者不能與本機鏈接,可以使用多網卡,增加NAT模式(如工作網路導致這種情況)。

>hadoop:去apache下載hadoop(http://hadoop.apache.org/releases.html),我選的是2.6.5版本;

> Java環境

JDK:去(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)下載jdk,我選的是tar.gz,這樣就知道解壓到哪裡了。

> WinScp

後期三台虛擬機之間需要進行文件的互通,這裡使用winscp可能會更方便(當然也有其他方式,比如wget下載網路文件,scp進行虛擬機之間的文件傳輸。)

安裝啦!

>第一步:裝好VMware,創建三個虛擬機(hadoop至少需要三個,一個master,兩個node。為什麼需要以後再說啦!)並將下載的hadoop2.6.5和jdk導入到VMware中

chap1:VMware:有master、nod1、nod2,使用的是個人創建賬號(shj,網路上都是創建了hadoop賬號來進行管理,我這裡就不費那個事了。)

通過WinScp導入文件時,提示虛擬機沒有開啟SFTP服務。這時需要對虛擬機做一些配置。

chap2:開通SSH服務:進入虛擬機的命令行(CRTL+ALT+T),使用root賬號(sudo su )

首先更新源文件(atp-get update)-->下載/安裝yum文件(apt-get install -y yum)-->下載/安裝ssh服務(apt-get install -y openssh-server)-->啟動服務(service ssh start,默認開啟 )

--->

chap3:文件傳輸:使用WinScp成功登陸到虛擬機中,將hadoop和jdk文件導入。我放到/home/shj/Documents中

chap4:解壓文件到指定目錄

切換回shj賬號(su shj)

hadoop解壓:tar -xzvf /home/shj/Documents/hadoop-2.6.5.tar.gz -C ~/hadoop --->將壓縮文件解壓到指定目錄中(沒有該目錄則創建,mkdir -p ~/hadoop)

jdk解壓:tar -xzvf /home/shj/Documents/jdk-8u144linux-x64.tar.gz -C~/jdk --->將壓縮文件解壓到指定目錄中(同上)

另外兩台機器,重複上述操作。

第二步:配置SSH秘鑰

我們使用的shj賬號,配置的目的使得三台虛擬機能夠通過該賬號相互進行通信。(對root賬號,不可行)

chap1:生成ssh密鑰對(私鑰和公鑰)

mkdir -p ~/.ssh(如果沒有.ssh則生成一個,ubuntu的好像是沒有的) -->ssh-keygen -t dsa -p "" -f ~/.ssh/key_id(生成ssh密鑰對,放在~/.ssh目錄下)

將生成的key_id.pub寫入文件(authorized_keys)中,確保文件名沒有問題。

chap2:進行本機的免密登錄:ssh localhost

搭建hadoop、hdfs環境——ubuntu

如果報錯,要求輸入密碼,則有問題(一般重啟一下就可以了,如果還有問題,則可能是你的家目錄和私鑰的許可權不對,導致系統不允許免密登錄)

chap3:另外兩台機器同等操作

同chap2

chap4:匯總三台虛擬機的key_id.pub,三個公鑰追加到同一個authorized_keys

通過scp命令(WinScp也可以)將三個公鑰並共享該公鑰。也就是三台虛擬機的公鑰是相同的。

chap5:配置/etc/hosts、/etc/hostname文件

將ip對應的主機名進行映射

chap6:三台虛擬機之間的免密登錄(修改了配置文件,服務需要重啟。)

搭建hadoop、hdfs環境——ubuntu

第一次登錄,會問要不要。當然yes啦!!!完成這一步了。

第三步:配置系統環境

這一步我們需要告訴Linux,我們裝的東西在哪裡,裝了哪些命令

配置系統環境變數(vim /etc/bash.bashrc)

在文件末尾追加:

export JAVA_HOME=/home/shj/jdk(這裡我做了一些變化,解壓後的地址應該不是這些。以實際為準)

export HADOOP_INSTALL=/home/shj/hadoop(同上)

export PATH=$PATH:/home/shj/hadoop/bin:/home/shj/jdk/bin(同上)

完成後,激活一下配置。執行命令:source /etc/bash.bashrc

驗證jdk是否完成配置:java -version

沒有問題!

另外兩台機器,重複上述(也可以後期拷貝到另外兩台機器上。見仁見智!)

第四步:配置hadoop的site文件

>chap1:四個文件(地址:~/hadoop/etc/hadoop)

core-site.xml(全局配置)、mapred-site.xml(MR配置)、hdfs-site.xml(hdfs配置)、hadoop-env.sh(...)

文件: core-site.xml

搭建hadoop、hdfs環境——ubuntu

文件:mapred-site.xml.template

文件:hdfs-site.xml

搭建hadoop、hdfs環境——ubuntu

文件:hadoop-env.sh

需要絕對路徑,要不然會有問題的!

>chap2:寫主機名文件

vim masters

vim slaves

>chap3:將配置的文件同步到另外兩台機器

完成所有機器相同配置

第四步:啟動hadoop

如果這些事情都做完了(當然系統配置不要忘了,這個用scp不好使。)那麼我們開始啟動我們的hadoop吧(如果困難,重啟試試

>chap1:格式化

在master節點上格式化:hadoop namenode -format

> cha2:啟動

cd ~/hadoop/sbin -->source start-all.sh-->沒有問題,則執行命令:jps

在master節點執行jps

在node節點執行jps

這樣就結束了。成功的啟動了你的hadoop。

hadoop支持web界面,可以在瀏覽器中輸入http://192.168.74.134:50070

你可以在web界面中查看你的hadoop運行情況。是不是很爽?!

搭建hadoop、hdfs環境——ubuntu

注意事項/個人經驗

1、由於是dhcp網路配置,如果重啟可能會導致ip地址的變化,這個時候要麼將網路設置成靜態網路要麼重新配置一些/etc/hosts文件

2、不同的階段問題的的原因可能不一樣,其中ssh配置出的問題會多一點。基本上重啟一下就能解決。

3、在啟動hadoop時,如果遇到問題就查看對應目錄下的/hadoop/logs文件。master和node哪個錯了,查看哪個的日誌,直接翻到最後一行,往上捋

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 科技優家 的精彩文章:

Mastering KVM Virtualization>:第二章 KVM內部原理
ASP.NET Core 源碼學習之 Logging[4]:FileProvider
HTML <img>標籤 創建圖像映射
C 6.0 內插字元串 (Interpolated Strings)
nginx實現請求的負載均衡 + keepalived實現nginx的高可用

TAG:科技優家 |

您可能感興趣

python selenium環境搭建
Ubuntu Linux環境下shadowsocks-qt5的安裝與配置
python小白學習之anaconda的安裝與Jupyter環境配置
Python3+Selenium3 Windows下環境搭建
Appium Android For Mac OS 搭建環境
Cloud Native 環境
Kotlin Android 環境搭建
在 Fedora 上搭建 Jupyter 和數據科學環境
Docker-Window環境下安裝,使用入門hello-world示例
微軟為辦公室工作環境帶來 Windows Collaboration Displays 硬體平台
ubuntu16.04通過Chrome搭建Postman環境
Win10+RTX2080環境搭建:tensorflow、mxnet、pytorch、caffe
Windows 7下搭建pyhton開發環境
Jenkins+RobotFramework持續集成測試-jenkins環境搭建
谷歌發布一個新的強化學習環境:Google Research Football
Studio Florian&Christin:是撿破爛的設計師也是倡導環境保護的藝術家
Olafur Eliasson 在三種環境中的獨白
ubuntu環境下,apache更改默認埠80,以其他埠作為socket的方式
windows離線狀態下源碼安裝Robotframework 環境及依賴包
Eclipse JSP/Servlet 環境搭建