騰訊雲全分佈式集羣hadoop2.6.0_cdh5.13.2+Spark2.2+Scala2.11.8

1.JDK1.8安裝  參考Centos6.8安裝jdk1.8 https://blog.csdn.net/xiaoxin1024/article/details/80718136

tar -xzvf jdk-8u201-linux-x64.tar.gz
vim /etc/profile 
export JAVA_HOME=/usr/local/java/jdk1.8.0_201
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
java -version
javac

                                   

 

2.hadoop2.6.0-cdh5.13.2 下載地址 :http://archive.cloudera.com/cdh5/cdh/5/

下載Hadoop地址:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.13.2.tar.gz

配置參考: https://blog.csdn.net/qq_33588730/article/details/81123614

tar -zvxf hadoop-2.6.0-cdh5.13.2.tar.gz
vim /etc/profile
export HADOOP_HOME=/opt/hadoop-2.6.0-cdh5.13.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HAOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
source /etc/profile
cd /opt/hadoop-2.6.0-cdh5.13.2
cd bin/
hadoop version

             

3.修改主機名稱,重啓服務器後生效

vi /etc/sysconfig/network
HOSTNAME=hadoop201


vi /etc/hosts
129.204.6.178    hadoop201 
129.204.59.228   hadoop202 
203.195.136.223  hadoop203 

                       

 

4.ssh免密碼登錄

ssh-keygen -t rsa        //然後一直按enter
ls                       //無文件
ls -la                   //查看隱藏的文件
cd .ssh/
ls

以hadoop203機器爲主,一臺機器這三句話都要運行!

ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop201        //然後輸入登錄此服務器的密碼
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop202        //然後輸入登錄此服務器的密碼
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop203        //然後輸入登錄此服務器的密碼

exit
ssh hadoop201

5。 配置集羣,1)修改hadoop-env.sh

cd /opt/hadoop-2.6.0-cdh5.13.2/etc/hadoop/
vi hadoop-env.sh
export JAVA_HOME=/usr/local/java/jdk1.8.0_201

2) 修改core-site.xml

vi core-site.xml

<property>
    <name>fs.default.name</name>
    <value>hdfs://hadoop203:8020</value>
</property>

3) 修改hdfs-site.xml

vi hdfs-site.xml


<property>
    <name>dfs.namenode.name.dir</name>
    <value>/opt/tmp/dfs/name</value>
</property>

<property>
    <name>dfs.datanode.data.dir</name>
    <value>/opt/tmp/dfs/data</value>
</property>

4)修改yarn-site.xml

vi yarn-site.xml

<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop201</value>
</property>

 

5)修改mapred-site.xml

cp mapred-site.xml.template mapred-site.xml

vi mapred-site.xml


<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

6) cd $HADOOP_HOME成功了,所以沒有修改vi ~/.bash_profile

export JAVA_HOME=/usr/local/java/jdk1.8.0_201
export PATH=$JAVA_HOME/bin:$PATH

export HADOOP_HOME=/opt/hadoop-2.6.0-cdh5.13.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

7)修改slaves

hadoop201
hadoop202
hadoop203

8)拷貝到其餘兩臺服務器上

scp -r ~/app hadoop@hadoop201:~/        //app目錄下有hadoop、jdk、tmp
scp -r ~/app hadoop@hadoop202:~/

scp ~/.bash_profile hadoop@hadoop201:~/
scp ~/.bash_profile hadoop@hadoop202:~/

9)對namenode格式化,在hadoop203機器上執行

在/opt/hadoop-2.6.0-cdh5.13.2/bin目錄下

./hdfs namenode -format

10)sbin $ ./start-all.sh 時 Permision denied

重新配,將hadoop2.6.0-cdh5.13.2、JDK1.8、Hive軟件都放在/home/hadoop文件夾下

groupadd hadoop

useradd -m -g hadoop hadoop

11)hadoop用戶修/tc/profile顯示該文件readonly,

①切到root用戶修改 /etc/sudoers,無效;在ftp上手動勾選 /etc/profile文件777權限,可以。

②多了hosts文件,解決方法:su  root

vim  /etc/ssh/ssh_config

找到#StrictHostKeyChecking ask去掉註釋,並把ask改爲no即可

Warning: Permanently added 'hadoop201,129.204.6.178' (RSA) to the list of known hosts.
hadoop@hadoop201's password: 
Now try logging into the machine, with "ssh 'hadoop201'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

[hadoop@hadoop201 .ssh]$ ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts

 

12)sbin $ ./start-all.sh

hadoop203: starting namenode, logging to /home/hadoop/hadoop-2.6.0-cdh5.13.2/logs/hadoop-hadoop-namenode-hadoop203.out
hadoop201: Warning: Permanently added 'hadoop201,129.204.6.178' (RSA) to the list of known hosts.
hadoop202: Warning: Permanently added 'hadoop202,129.204.59.228' (RSA) to the list of known hosts.

 

13).hadoop203 jps

 

14836 DataNode
15749 SecondaryNameNode
16214 Jps
15997 NodeManager

6.安裝Scala

tar -zvxf scala-2.11-8.tgz 
tar -zvxf ~/opt/scala-2.11-8.tgz -C /usr/local
cd /usr/local/
mv ./scala-2.11.8/ ./scala  #將文件名修改爲scala
chown -R hadoop ./scala     #修改文件權限,hadoop用戶擁有scala目錄的權限

hadoop 常用命令

hadoop dfsadmin -report //查看集羣狀態
[root@hadoop01 ~]# cat /etc/group|grep hadoop
hadoop:x:992:hdfs,mapred,yarn

 

 

******************************************************************************************************************************

 

轉載來自:http://blog.csdn.net/ab198604/article/details/8250461

要想深入的學習hadoop數據分析技術,首要的任務是必須要將hadoop集羣環境搭建起來,可以將hadoop簡化地想象成一個小軟件,通過在各個物理節點上安裝這個小軟件,然後將其運行起來,就是一個hadoop分佈式集羣了。

說來簡單,但是應該怎麼做呢?不急,本文的主要目的就是讓新手看了之後也能夠親自動手實施這些過程。由於本人資金不充裕,只能通過虛擬機來實施模擬集羣環境,雖然說是虛機模擬,但是在虛機上的hadoop的集羣搭建過程也可以使用在實際的物理節點中,思想是一樣的。也如果你有充裕的資金,自己不介意燒錢買諸多電腦設備,這是最好不過的了。

也許有人想知道安裝hadoop集羣需要什麼樣的電腦配置,這裏只針對虛擬機環境,下面介紹下我自己的情況:

CPU:Intel酷睿雙核 2.2Ghz

內存: 4G

硬盤: 320G

系統:xp

 

老實說,我的本本配置顯然不夠好,原配只有2G內存,但是安裝hadoop集羣時實在是很讓人崩潰,本人親身體驗過後實在無法容忍,所以後來再擴了2G,雖然說性能還是不夠好,但是學習嘛,目前這種配置還勉強可以滿足學習要求,如果你的硬件配置比這要高是最好不過的了,如果能達到8G,甚至16G內存,學習hadoop表示無任何壓力。

 

說完電腦的硬件配置,下面說說本人安裝hadoop的準備條件:

1 安裝Vmware WorkStation軟件

有些人會問,爲何要安裝這個軟件,這是一個VM公司提供的虛擬機工作平臺,後面需要在這個平臺上安裝linux操作系統。具體安裝過程網上有很多資料,這裏不作過多的說明。

 

2 在虛擬機上安裝linux操作系統

在前一步的基礎之上安裝linux操作系統,因爲hadoop一般是運行在linux平臺之上的,雖然現在也有windows版本,但是在linux上實施比較穩定,也不易出錯,如果在windows安裝hadoop集羣,估計在安裝過程中面對的各種問題會讓人更加崩潰,其實我還沒在windows上安裝過,呵呵~

在虛擬機上安裝的linux操作系統爲ubuntu10.04,這是我安裝的系統版本,爲什麼我會使用這個版本呢,很簡單,因爲我用的熟^_^其實用哪個linux系統都是可以的,比如,你可以用centos, redhat, fedora等均可,完全沒有問題。在虛擬機上安裝linux的過程也在此略過,如果不瞭解可以在網上搜搜,有許多這方面的資料。

 

3 準備3個虛擬機節點

其實這一步驟非常簡單,如果你已經完成了第2步,此時你已經準備好了第一個虛擬節點,那第二個和第三個虛擬機節點如何準備?可能你已經想明白了,你可以按第2步的方法,再分別安裝兩遍linux系統,就分別實現了第二、三個虛擬機節點。不過這個過程估計會讓你很崩潰,其實還有一個更簡單的方法,就是複製和粘貼,沒錯,就是在你剛安裝好的第一個虛擬機節點,將整個系統目錄進行復制,形成第二和第三個虛擬機節點。簡單吧!~~

很多人也許會問,這三個結點有什麼用,原理很簡單,按照hadoop集羣的基本要求,其中一個是master結點,主要是用於運行hadoop程序中的namenode、secondorynamenode和jobtracker任務。用外兩個結點均爲slave結點,其中一個是用於冗餘目的,如果沒有冗餘,就不能稱之爲hadoop了,所以模擬hadoop集羣至少要有3個結點,如果電腦配置非常高,可以考慮增加一些其它的結點。slave結點主要將運行hadoop程序中的datanode和tasktracker任務。

所以,在準備好這3個結點之後,需要分別將linux系統的主機名重命名(因爲前面是複製和粘帖操作產生另兩上結點,此時這3個結點的主機名是一樣的),重命名主機名的方法:

Vim /etc/hostname

通過修改hostname文件即可,這三個點結均要修改,以示區分。

以下是我對三個結點的ubuntu系統主機分別命名爲:master, node1, node2

基本條件準備好了,後面要幹實事了,心急了吧,呵呵,彆着急,只要跟着本人的思路,一步一個腳印地,一定能成功布署安裝好hadoop集羣的。安裝過程主要有以下幾個步驟:

一、            配置hosts文件

二、            建立hadoop運行帳號

三、            配置ssh免密碼連入

四、            下載並解壓hadoop安裝包

五、            配置namenode,修改site文件

六、            配置hadoop-env.sh文件

七、            配置masters和slaves文件

八、            向各節點複製hadoop

九、            格式化namenode

十、            啓動hadoop

十一、      用jps檢驗各後臺進程是否成功啓動

十二、      通過網站查看集羣情況

                                                  

下面我們對以上過程,各個擊破吧!~~

一、           配置hosts文件

先簡單說明下配置hosts文件的作用,它主要用於確定每個結點的IP地址,方便後續

master結點能快速查到並訪問各個結點。在上述3個虛機結點上均需要配置此文件。由於需要確定每個結點的IP地址,所以在配置hosts文件之前需要先查看當前虛機結點的IP地址是多少,可以通過ifconfig命令進行查看,如本實驗中,master結點的IP地址爲:

        

如果IP地址不對,可以通過ifconfig命令更改結點的物理IP地址,示例如下:

        

通過上面命令可以將IP改爲192.168.1.100。將每個結點的IP地址設置完成後,就可以配置hosts文件了,hosts文件路徑爲;/etc/hosts,我的hosts文件配置如下,大家可以參考自己的IP地址以及相應的主機名完成配置

 

二、           建立hadoop運行帳號

即爲hadoop集羣專門設置一個用戶組及用戶,這部分比較簡單,參考示例如下:

sudo groupadd hadoop    //設置hadoop用戶組

sudo useradd –s /bin/bash –d /home/zhm –m zhm –g hadoop –G admin   //添加一個zhm用戶,此用戶屬於hadoop用戶組,且具有admin權限。

sudo passwd zhm   //設置用戶zhm登錄密碼

su zhm   //切換到zhm用戶中

 

上述3個虛機結點均需要進行以上步驟來完成hadoop運行帳號的建立。

 

三、           配置ssh免密碼連入

這一環節最爲重要,而且也最爲關鍵,因爲本人在這一步驟裁了不少跟頭,走了不少彎

路,如果這一步走成功了,後面環節進行的也會比較順利。

SSH主要通過RSA算法來產生公鑰與私鑰,在數據傳輸過程中對數據進行加密來保障數

據的安全性和可靠性,公鑰部分是公共部分,網絡上任一結點均可以訪問,私鑰主要用於對數據進行加密,以防他人盜取數據。總而言之,這是一種非對稱算法,想要破解還是非常有難度的。Hadoop集羣的各個結點之間需要進行數據的訪問,被訪問的結點對於訪問用戶結點的可靠性必須進行驗證,hadoop採用的是ssh的方法通過密鑰驗證及數據加解密的方式進行遠程安全登錄操作,當然,如果hadoop對每個結點的訪問均需要進行驗證,其效率將會大大降低,所以才需要配置SSH免密碼的方法直接遠程連入被訪問結點,這樣將大大提高訪問效率。

 

         OK,廢話就不說了,下面看看如何配置SSH免密碼登錄吧!~~

(1)     每個結點分別產生公私密鑰。

鍵入命令:

以上命令是產生公私密鑰,產生目錄在用戶主目錄下的.ssh目錄中,如下:

Id_dsa.pub爲公鑰,id_dsa爲私鑰,緊接着將公鑰文件複製成authorized_keys文件,這個步驟是必須的,過程如下:

用上述同樣的方法在剩下的兩個結點中如法炮製即可。

 

(2)     單機迴環ssh免密碼登錄測試

即在單機結點上用ssh進行登錄,看能否登錄成功。登錄成功後註銷退出,過程如下:

注意標紅圈的指示,有以上信息表示操作成功,單點回環SSH登錄及註銷成功,這將爲後續跨子結點SSH遠程免密碼登錄作好準備。

用上述同樣的方法在剩下的兩個結點中如法炮製即可。

 

(3)     讓主結點(master)能通過SSH免密碼登錄兩個子結點(slave)

爲了實現這個功能,兩個slave結點的公鑰文件中必須要包含主結點的公鑰信息,這樣

當master就可以順利安全地訪問這兩個slave結點了。操作過程如下:

如上過程顯示了node1結點通過scp命令遠程登錄master結點,並複製master的公鑰文件到當前的目錄下,這一過程需要密碼驗證。接着,將master結點的公鑰文件追加至authorized_keys文件中,通過這步操作,如果不出問題,master結點就可以通過ssh遠程免密碼連接node1結點了。在master結點中操作如下:

由上圖可以看出,node1結點首次連接時需要,“YES”確認連接,這意味着master結點連接node1結點時需要人工詢問,無法自動連接,輸入yes後成功接入,緊接着註銷退出至master結點。要實現ssh免密碼連接至其它結點,還差一步,只需要再執行一遍ssh node1,如果沒有要求你輸入”yes”,就算成功了,過程如下:

如上圖所示,master已經可以通過ssh免密碼登錄至node1結點了。

 

對node2結點也可以用同樣的方法進行,如下圖:

Node2結點複製master結點中的公鑰文件

 

Master通過ssh免密碼登錄至node2結點測試:

第一次登錄時:

 

第二次登錄時:

表面上看,這兩個結點的ssh免密碼登錄已經配置成功,但是我們還需要對主結點master也要進行上面的同樣工作,這一步有點讓人困惑,但是這是有原因的,具體原因現在也說不太好,據說是真實物理結點時需要做這項工作,因爲jobtracker有可能會分佈在其它結點上,jobtracker有不存在master結點上的可能性。

 

對master自身進行ssh免密碼登錄測試工作:

 

至此,SSH免密碼登錄已經配置成功。

 

四、下載並解壓hadoop安裝包

關於安裝包的下載就不多說了,不過可以提一下目前我使用的版本爲hadoop-0.20.2,

這個版本不是最新的,不過學習嘛,先入門,後面等熟練了再用其它版本也不急。而且《hadoop權威指南》這本書也是針對這個版本介紹的。

         注:解壓後hadoop軟件目錄在/home/zhm/hadoop下

 

五、配置namenode,修改site文件

         在配置site文件之前需要作一些準備工作,下載java最新版的JDK軟件,可以從oracle官網上下載,我使用的jdk軟件版本爲:jdk1.7.0_09,我將java的JDK解壓安裝在/opt/jdk1.7.0_09目錄中,接着配置JAVA_HOME宏變量及hadoop路徑,這是爲了方便後面操作,這部分配置過程主要通過修改/etc/profile文件來完成,在profile文件中添加如下幾行代碼:

然後執行:

讓配置文件立刻生效。上面配置過程每個結點都要進行一遍。

 

到目前爲止,準備工作已經完成,下面開始修改hadoop的配置文件了,即各種site文件,文件存放在/hadoop/conf下,主要配置core-site.xml、hdfs-site.xml、mapred-site.xml這三個文件。

Core-site.xml配置如下:

 

Hdfs-site.xml配置如下:

 

接着是mapred-site.xml文件:

 

六、配置hadoop-env.sh文件

這個需要根據實際情況來配置。

 

七、配置masters和slaves文件

根據實際情況配置masters的主機名,在本實驗中,masters主結點的主機名爲master,

於是在masters文件中填入:

    同理,在slaves文件中填入:

 

八、向各節點複製hadoop

向node1節點複製hadoop:

 

    向node2節點複製hadoop:

這樣,結點node1和結點node2也安裝了配置好的hadoop軟件了。

 

九、格式化namenode

這一步在主結點master上進行操作:

注意:上面只要出現“successfully formatted”就表示成功了。

 

十、啓動hadoop

這一步也在主結點master上進行操作:

 

 

十一、   用jps檢驗各後臺進程是否成功啓動

在主結點master上查看namenode,jobtracker,secondarynamenode進程是否啓動。

如果出現以上進程則表示正確。

 

在node1和node2結點了查看tasktracker和datanode進程是否啓動。

先來node1的情況:

 

下面是node2的情況:

進程都啓動成功了。恭喜~~~

 

十二、   通過網站查看集羣情況

    在瀏覽器中輸入:http://192.168.1.100:50030,網址爲master結點所對應的IP:

 

 

    在瀏覽器中輸入:http://192.168.1.100:50070,網址爲master結點所對應的IP:

 

至此,hadoop的完全分佈式集羣安裝已經全部完成,
---------------------
作者:ab198604
來源:CSDN
原文:https://blog.csdn.net/ab198604/article/details/8250461
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章