1. 程式人生 > >hadoop叢集搭建2

hadoop叢集搭建2

下面提到的一些配置檔案,因為篇幅過大,就不放上面了,我已經壓縮好放在連結裡,可以自行下載,配置引數也都做了詳細的備註說明
hadoop配置中的一些.xml檔案

java的部署

[[email protected] software]$3代表小視窗中同時將命令列輸入到三臺機器上,[[email protected] software]$1代表將命令列輸入到當前機器上
1.解壓jdk包放到/usr/java裡面

[[email protected] ~]#3 su - hadoop
[[email protected] ~]$3 cd software
[
[email protected]
software]$3 ll /usr/java (沒有,退出到root下面去建立資料夾) [[email protected] ~]#3 mkdir /usr/java [[email protected] ~]#3 tar -xzvf /home/hadoop/software/jdk-8u45-linux-x64.gz -C /usr/java (-C是解壓到指定目錄中) [[email protected] ~]#3 chown -R root:root /usr/java/jdk1.8.0_45(注意看解壓後的使用者使用者組不對,修改三臺機器的使用者使用者組) [
[email protected]
~]#3 ll /usr/java (檢視是否已經修改完成)

2.配置Java的環境變數,因為考慮到Java都會用到,所以配置在全域性環境變數中。

[[email protected] ~]#3 vi /etc/profile (然後三臺機器都要把各自的家目錄新增到path的路徑裡面)
#env (#代表註釋掉,此行不執行)
export JAVA_HOME=/usr/java/jdk1.8.0_45
export PATH=$JAVA_HOME/bin:$PATH
[[email protected] ~]#3 source /etc/profile (生效)
[
[email protected]
~]#3 java -version (驗證是否部署成功) 到此為止,JDK環境部署完成

解壓hadoop、zookeeper

1.解壓

[[email protected] ~]#3 su - hadoop
[[email protected] ~]$3 cd software
[[email protected] software]$3 tar -zvxf hadoop-2.6.0-cdh5.7.0.tar.gz -C ../app/
[[email protected] software]$3 cd ..
[[email protected] ~]$3 cd app
[[email protected] ~]$3 ll (檢視是否三臺機器已經將解壓後的資料夾放在了hadoop家目錄下面的app裡面)
[[email protected] app]$3 tar -zvxf /home/hadoop/software/zookeeper-3.4.6.tar.gz -C /home/hadoop/app/
[[email protected] app]$3 ll (檢視一下是否三臺機器已經將解壓後的軟體放在hadoop家目錄下面的app裡面,以及其使用者使用者組是否正確)

把hadoop軟體、zookeeper軟體的路徑新增到hadoop使用者下的個人環境變數中去

1.修改hadoop的個人環境變數

[[email protected] app]$3 cd (進入hadoop使用者的家目錄)
[[email protected] ~]$3 vi .bash_profile (然後分別在三臺機器中改路徑引數)
刪除個人環境變數檔案的最下面的PATH=$PATH:$HOME/bin   export PATH 兩行內容
export HADOOP_HOME=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0
export ZOOKEEPER_HOME=/home/hadoop/app/zookeeper-3.4.6
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin:$PATH
[[email protected] ~]$3 source .bash_profile (同時讓三臺機器的個人環境變數檔案生效)
[[email protected] ~]$3 cd $HADOOP_HOME(看是否能夠切到三臺機器的hadoop軟體的家目錄)

2.目錄規劃
在hadoop軟體的家目錄下建立data logs tmp這三個資料夾。tmp資料夾要把許可權改為777,使用者使用者組改為root

[[email protected] hadoop-2.6.0-cdh5.7.0]$3 mkdir $HADOOP_HOME/data && mkdir $HADOOP_HOME/logs && mkdir $HADOOP_HOME/tmp (同時在三臺機器下面的hadoop軟體的家目錄下建立data logs tmp這三個資料夾)
[[email protected] hadoop-2.6.0-cdh5.7.0]$3 chmod -R 777 $HADOOP_HOME/tmp (修改許可權)
[[email protected] hadoop-2.6.0-cdh5.7.0]$3 ll (檢視一下)

3.關閉防火牆 (小插曲)

[[email protected] ~]#3 service iptables stop(關閉3臺機器的防火牆)
[[email protected] ~]#3 service iptables status(檢視防火牆是否關閉)
[[email protected] ~]#3 chkconfig iptables off (關閉防火牆的自動執行)
[[email protected] ~]#3 chkconfig --list | grep iptables(驗證是否關閉自啟動)
iptables        0:off 1:off 2:off 3:off 4:off 5:off 6:off

安裝zookeeper

前面我們已經把zookeeper下載好了,也解壓過了,下面就直接到/home/hadoop/app/zookeeper-3.4.6下面進行安裝
1.進入到conf下面,修改配置檔案

[[email protected] conf]$3 ll
-rw-rw-r--. 1 hadoop hadoop  535 Feb 20  2014 configuration.xsl
-rw-rw-r--. 1 hadoop hadoop 2161 Feb 20  2014 log4j.properties
-rw-rw-r--. 1 hadoop hadoop  922 Feb 20  2014 zoo_sample.cfg
[[email protected] conf]$3 cp zoo_sample.cfg zoo.cfg (三臺機器的zoo_sample.cfg案例檔案都拷貝一份重新命名到自己的當前資料夾)
[[email protected] conf]$3 ll(檢視來核對是否正確)
[[email protected] conf]$1 vi zoo.cfg (在當前這臺機器下修改引數檔案)修改內容有如下兩處:
dataDir=/tmp/zookeeper (這個引數代表其日誌目錄的資料夾,預設在/tmp目錄下面)我們把這個修改為自己設定好的路徑,用於以後方便管理)
修改為:dataDir=/home/hadoop/app/zookeeper-3.4.6/data
複製下面三行內容到檔案中去,可以把這三行放在最後面。
server.1=hadoop001:2888:3888
server.2=hadoop002:2888:3888
server.3=hadoop003:2888:3888
(server.1中的1就是代表該臺伺服器的id,也就是代表相應的第一臺機器的zookeeper,它們有唯一的標識,類似id主鍵約束一樣,是不能重複的,那麼1對應的機器是hadoop001這臺機器。2888和3888對應的是通訊埠,在此不多做解釋了,想深入瞭解的小夥伴可以自己google)
[[email protected] conf]$1 more zoo.cfg(檢視引數是否修改成功)
修改完上面這兩處之後,把在hadoop001上修改的這份檔案scp到其他兩臺機器上面
[[email protected] conf]$1 scp zoo.cfg hadoop002:/home/hadoop/app/zookeeper-3.4.6/conf/
[[email protected] conf]$1 scp zoo.cfg hadoop003:/home/hadoop/app/zookeeper-3.4.6/conf/
到此三臺機器的配置檔案修改完成

2.修改另一個檔案

[[email protected] conf]$3 cd .. (三臺機器同時退出到zookeeper的家目錄下面)
[[email protected] zookeeper-3.4.6]$3 mkdir data (建立一個data資料夾)
[[email protected] zookeeper-3.4.6]$3 touch data/myid(在data資料夾下面建立一個空的檔案,用於存放id)
[[email protected] zookeeper-3.4.6]$1 echo 1 > data/myid (需單獨操作每臺機器)
[[email protected] zookeeper-3.4.6]$1 echo 2 > data/myid
[[email protected] zookeeper-3.4.6]$1 echo 3 > data/myid
[[email protected] zookeeper-3.4.6]$3 cat data/myid (檢視核實)
####切記:echo 3>data/myid,將>前後空格保留,否則無法將 3 寫入 myid 檔案!!
到此,zookeeper的配置檔案部署到此結束,下面開始配置hadoop

配置hadoop

1.修改hadoop-env.sh檔案 (把JAVA的路徑要配置進去)

[[email protected] hadoop]$3 pwd (此路徑下面有一些配置檔案)
/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop
[[email protected] hadoop]$1 vi hadoop-env.sh 
export JAVA_HOME=${JAVA_HOME} (該行代表Java的家目錄,將預設值改為我們自定義的Java的家目錄)
修改為:
export JAVA_HOME=/usr/java/jdk1.8.0_45
修改完其中一臺機器的hadoop-env.sh,再傳到其他兩臺上
[[email protected] hadoop]$1 scp hadoop-env.sh hadoop002:/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/
[[email protected] hadoop]$1 scp hadoop-env.sh hadoop003:/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/

2.修改/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/core-site.xml
3.修改/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/hdfs-site.xml
4.修改/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/yarn-env.sh (也就是修改yarn的日誌地址相關的引數)

# Yarn Logs
export YARN_LOG_DIR="/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/logs"

5.修改/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/mapred-site.xml
6.修改/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/yarn-site.xml
7.修改/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/slaves
如下:

[[email protected] hadoop]$3 pwd
/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop
[[email protected] hadoop]$3 rm -f core-site.xml hdfs-site.xml yarn-site.xml slaves (把該檔案下面的配置檔案刪除,從Windows裡面上傳已經修改好的配置檔案)
[[email protected] hadoop]$1 rz (分別把這2-7除4之外的五個檔案上傳到每臺機器的/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/下面)
###切記:slaves檔案從Windows上傳至Linux會出現亂碼的情況,所以一定要使用命令dos2unix filename.sh轉一下,不然後來啟動會起不來)