centos7.1安裝部署Hadoop

http://blog.csdn.net/u012852986/article/details/51488496

明明之前已經(jīng)在Ubuntu上部署過Hadoop了,換到CentOS又卡了好久,還是好弱,趕緊寫篇博客記錄下來。

一、安裝JDK,配置環(huán)境變量

(1)查看CentOS自帶JDK是否已安裝

yum list installed|grep java

[圖片上傳中...(image-714da0-1513668920940-33)]

[圖片上傳中...(image-b5ea8f-1513668920938-20)]

**這里

我已經(jīng)安裝過了java-1.8.0-openjdk,為了方便演示所以就當做自帶環(huán)境了,不影響接下來的操作。(這里補充一下jdk和openjdk的區(qū)別:簡單來講,openjdk只包含最精簡的jdk,而且兩者授權(quán)協(xié)議不同,openjdk采用GPL V2協(xié)議,jdk采用JRL,雖然都是開源,但前者可以用于商業(yè),后者只能用于個人)**

(2)卸載自帶的Java環(huán)境

yum -y remove java-1.8.0-openjdk

(注意不要漏掉*,表示卸載所有openjdk相關文件,-y表示選項默認選yes)

[圖片上傳中...(image-b60898-1513668920937-4)]

[圖片上傳中...(image-9b7fb-1513668920937-7)]

(3)查看yum庫中的Java包

*yum -y list java

注意*

)**

[圖片上傳中...(image-5cfd82-1513668920938-19)]

[圖片上傳中...(image-220169-1513668920937-6)]

(4)使用yum安裝Java環(huán)境

*yum -y install java-1.8.0-openjdk

注意*

)**

[圖片上傳中...(image-990a11-1513668920937-3)]

[圖片上傳中...(image-385943-1513668920936-0)]

安裝

完成后,就可以通過java -version和javac來查看剛安裝的Java版本信息了

[圖片上傳中...(image-b4f49b-1513668920937-2)]

[圖片上傳中...(image-203962-1513668920937-1)]

(5)配置環(huán)境變量

vim /etc/profile

添加下面幾行內(nèi)容

[圖片上傳中...(image-35926f-1513668920938-18)]

[圖片上傳中...(image-989626-1513668920937-5)]

保存退出之后,再執(zhí)行source /etc/profile

至此Java環(huán)境就配置成功了,接下來是Hadoop的配置。

二、配置Hadoop

(1)下載Hadoop壓縮包

wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz

[圖片上傳中...(image-48952e-1513668920938-17)]

**(

2)解壓縮**

tar -zxvf hadoop-1.2.1.tar.gz

[圖片上傳中...(image-9d28ce-1513668920939-32)]

[圖片上傳中...(image-ca525a-1513668920938-16)]

**(

3)4個需要配置的文件**

[圖片上傳中...(image-92961a-1513668920939-31)]

[圖片上傳中...(image-b6991b-1513668920938-15)]

**(

3-1)配置hadoop-env.sh**

這個文件是hadoop配置的環(huán)境變量等信息

vim hadoop-env.sh

[圖片上傳中...(image-58f914-1513668920939-30)]

[圖片上傳中...(image-dbfe6e-1513668920938-14)]

**將

這行的注釋取消(去掉#)同時修改JAVA_HOME路徑為上文配置Java環(huán)境變量時的JAVA_HOME路徑**

(3-2)配置core-site.xml

這個文件是用做全局配置

vim core-site.xml

[圖片上傳中...(image-783d57-1513668920939-29)]

[圖片上傳中...(image-e37302-1513668920938-13)]

**具體

配置情況如上圖,其中doarcutine為我主機的hostname,hostname通過輸入**

hostname

就可以得到,這里還要注意主機名盡量不要包含特殊符號,centos修改主機名可以通過如下指令

sudo hostname doarcutine

[圖片上傳中...(image-b7c2b7-1513668920939-28)]

(3-3)配置hdfs-site.xml

這個文件是hdfs的局部配置(hadoop的關鍵就是hdfs和MapReduce,自然要對這兩個分別做設置)

vim hdfs-site.xml

[圖片上傳中...(image-a350f8-1513668920939-27)]

[圖片上傳中...(image-283547-1513668920938-12)]

**配置

情況如上圖**

(3-4)配置mapred-site.xml(mapred其實就是MapReduce的意思)

vim mapred-site.xml

[圖片上傳中...(image-8075e5-1513668920939-26)]

[圖片上傳中...(image-f7ef66-1513668920938-11)]

(4)配置環(huán)境變量

vim /etc/profile

添加如下兩項內(nèi)容

[圖片上傳中...(image-ef91ed-1513668920939-25)]

[圖片上傳中...(image-f2f862-1513668920938-10)]

**s

ource /etc/profile**

執(zhí)行之后,可以通過執(zhí)行

hadoop

[圖片上傳中...(image-582199-1513668920939-24)]

查看hadoop是否可以正常找到執(zhí)行程序

[圖片上傳中...(image-c399fc-1513668920938-9)]

**(

5)格式化namenode**

這里可能遇到問題,見下文(7)

這是執(zhí)行之前的第一步,為什么要格式化呢?因為hadoop可以看做一個單獨的文件系統(tǒng)(準確的說是hdfs),所以就像空硬盤需要格式化一樣,通過格式化讓存儲空間知道以什么方式組織數(shù)據(jù)。

**hadoop namenode -format (

建議在bin目錄下執(zhí)行

)**

[圖片上傳中...(image-22f042-1513668920938-23)]

[圖片上傳中...(image-e3f021-1513668920937-8)]

**(

6)啟動start-all.sh**

這里可能遇到問題,見下文(7)

cd /opt/hadoop-1.2.1/bin

進入這個目錄下,我們可以看到有start-all.sh這樣一個文件,我們可以在任意一個地方執(zhí)行這個文件。

start-all.sh

啟動成功后如下圖,輸入jps可以看到啟動的項目

[圖片上傳中...(image-954755-1513668920938-22)]

[圖片上傳中...(image-cf3756-1513668920938-21)]

大功告成

!

(7)一些可能遇到的問題

(7-1)執(zhí)行(5)時如果報錯,則很有可能是Java路徑配置有問題,注意查看/etc/profile和/opt/hadoop-1.2.1/conf/hadoop-env.sh這兩個文件中Java路徑是否正確。

**(7-2)執(zhí)行(6)時

如果報錯異常了,并且有一句是Caused by: java.lang.RuntimeException: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence。那么原因就是當前系統(tǒng)用的語言是GBK,所以需要前面配置的3個xml用GBK編碼,當然更好的方式是把系統(tǒng)語言改成utf8,具體修改方法參考http://blog.csdn.net/wave_1102/article/details/45116783**

(7-3)執(zhí)行(6)總提示localhost的密碼不對。

**執(zhí)行命令 ssh localhost,查看ssh是否可以免密碼登錄,如果不可以,啟動下面命令:

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys**

之后應該可以了 如果還是不可以就從新設置一下ssh文件權(quán)限之后再執(zhí)行上述命令應該就可以了

**(7-4)執(zhí)行jps后,進程數(shù)目不正常(比截圖中要少,只有其中的個別幾個),這個原因在于配置文件中主機名錯誤,建議修改為一個沒有特殊字符的主機名,修改方式見(3-2),然后/opt/hadoop-1.2.1/conf/core-site.xml和

/opt/hadoop-1.2.1/conf/mapred-site.xml修改兩個文件中主機名。**

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容