hadoop-2.6.0-cdh5.4.5.tar.gz(CDH)的3節點集群搭建(含zookeeper集群安裝)


  

前言

  本人嘔心瀝血所寫,經過好一段時間反復錘煉和整理修改。感謝所參考的博友們!同時,歡迎前來查閱賞臉的博友們收藏和轉載,附上本人的鏈接 http://www.cnblogs.com/zlslch/p/5846390.html 

 

 

附鏈接如下:

  http://blog.csdn.net/u010270403/article/details/51446674

 

關於幾個疑問和幾處心得!

a.用NAT,還是橋接,還是only-host模式?

   答: hostonly、橋接和NAT

b.用static的ip,還是dhcp的?

答:static

c.別認為快照和克隆不重要,小技巧,比別人靈活用,會很節省時間和大大減少錯誤。

d.重用起來腳本語言的編程,如paython或shell編程。

 對於用scp -r命令或deploy.conf(配置文件),deploy.sh(實現文件復制的shell腳本文件),runRemoteCdm.sh(在遠程節點上執行命令的shell腳本文件)。

e.重要Vmare Tools增強工具,或者,rz上傳、sz下載。

f.大多數人常用

   Xmanager Enterprise *安裝步驟

 用到的所需:

  1、VMware-workstation-full-11.1.2.61471.1437365244.exe

  2、CentOS-6.5-x86_64-bin-DVD1.iso

  3、jdk-7u69-linux-x64.tar.gz

  4、hadoop-2.6.0-cdh5.4.5.tar

  5、apache-cassandra-2.2.1-bin.tar.gz

  6、apache-flume-1.6.0-bin.tar.gz

  7、apache-tomcat-7.0.65.tar.gz

  8、flume-ng-1.5.0-cdh5.4.5.tar.gz

  9、hbase-1.0.0-cdh5.4.5.tar.gz

  10、hive-1.1.0-cdh5.4.5.tar.gz

  11、protobuf-2.5.0.tar.gz

  12、sqoop-1.4.5-cdh5.4.5.tar.gz

  13、zookeeper-3.4.5-cdh5.4.5.tar.gz

 

 機器規划:

  192.168.80.11   ----------------  CDHNode1

  192.168.80.12   ----------------  CDHNode2

  192.168.80.13   ----------------  CDHNode3

  

  目錄規划:

  1、安裝目錄:

      /home/hadoop/app/

  2、數據存放目錄:

      dfs.namenode.name.dir ---file:/home/hadoop/data/name    //存放元數據

      dfs.datanode.data.dir ---file:/home/hadoop/data/datanode //datanode數據存放目錄

      dfs.namenode.edits.dir---file:/home/hadoop/data/hdfs/edits       //存放編輯日志

      dfs.journalnode.edits.dir--/home/hadoop/data/journaldata/jn      //存放編輯日志同步數據

      dfs.hosts.exclude--/home/hadoop/app/hadoop-2.6.0-cdh5.4.5/etc/hadoop/excludes  //它是一個文件排除host

  3、進程pid:

      export HADOOP_PID_DIR=/home/hadoop/data/pid               //存儲hadoop 常駐進程pid

      export HADOOP_SECURE_DN_PID_DIR=/home/hadoop/data/pid        //datanode進程 pid

  4、臨時目錄:

      /home/hadoop/data/tmp

 

 

  第一步:安裝VMware-workstation虛擬機,我這里是VMware-workstation11版本。

       詳細見 -> 

     VMware workstation 11 的下載      

          VMWare Workstation 11的安裝

          VMware Workstation 11安裝之后的一些配置

  第二步:安裝CentOS系統,我這里是6.6版本。推薦(生產環境中常用)

    詳細見 ->  

          CentOS 6.5的安裝詳解

          CentOS 6.5安裝之后的網絡配置

          CentOS 6.5靜態IP的設置(NAT和橋接都適用) 

          CentOS 命令行界面與圖形界面切換

          網卡eth0、eth1...ethn謎團

          Centos 6.5下的OPENJDK卸載和SUN的JDK安裝、環境變量配置

 

      第三步:VMware Tools增強工具安裝

    詳細見 ->

      VMware里Ubuntukylin-14.04-desktop的VMware Tools安裝圖文詳解

  

  第四步:准備小修改(學會用快照和克隆,根據自身要求情況,合理位置快照) 

    詳細見 ->   

     CentOS常用命令、快照、克隆大揭秘

    新建用戶組、用戶、用戶密碼、刪除用戶組、用戶(適合CentOS、Ubuntu)

    

    1、ssh的安裝(SSH安裝完之后的免密碼配置,放在后面)

    2、靜態IP的設置

    3、hostname和/etc/hosts

    4、永久關閉防火牆

    5、時間同步

    

1 軟件環境准備

 

 

虛擬機

VMWare11

操作系統

CentOS6.5

JDK

jdk-7u79-linux-x64.tar.gz 

遠程連接

XShell






hadoop生態系統


hadoop-2.6.0-cdh5.4.5.tar.gz


hbase-1.0.0-cdh5.4.4.tar.gz

hive-1.1.0-cdh5.4.5.tar.gz

flume-ng-1.5.0-cdh5.4.5.tar.gz

sqoop-1.4.5-cdh5.4.5.tar.gz

zookeeper-3.4.5-cdh5.4.5.tar.gz

 

2 主機規划

由於我要安裝3個節點的集群環境,所以我們分配好ip地址和主機功能

 

CDHNode1

/192.168.80.11

CDHNode2

/192.168.80.12

CDHNode3

/192.168.80.13

namenode

datanode

resourcemanager

journalnode

zookeeper

日志采集服務器

采集服務器負載均衡

目標網站(web)程序

注意:Journalnode和ZooKeeper保持奇數個,最少不少於 3 個節點。

 

3 CDHNode1、CDHNode2、CDHNode3的靜態IP、網絡配置、主機名、用戶名和用戶組

1、    CDHNode1、CDHNode2、CDHNode3的Linux安裝省略,不再贅述。

2、 CDHNode1、CDHNode2、CDHNode3的靜態IP、網絡配置、主機名、用戶名、用戶組

 

新建用戶組、用戶、用戶密碼、刪除用戶組、用戶(適合CentOSUbuntu

groupadd hadoop      創建hadoop用戶組

useradd -m -g hadoop hadoop    新建hadoop用戶並增加到hadoop用戶組中

passwd hadoop     hadoop用戶密碼,為hadoop

‘’

 

4 、目錄規划、下載必備軟件

 

目錄規划

 

1、安裝目錄:

/home/hadoop/app/

 

2、數據存放目錄:

dfs.namenode.name.dir ---file:/home/hadoop/data/name    //存放元數據

dfs.datanode.data.dir ---file:/home/hadoop/data/datanode //datanode數據存放目錄

dfs.namenode.edits.dir---file:/home/hadoop/data/hdfs/edits       //存放編輯日志

dfs.journalnode.edits.dir--/home/hadoop/data/journaldata/jn      //存放編輯日志同步數據

dfs.hosts.exclude--/home/hadoop/app/hadoop-2.6.0-cdh5.4.5/etc/hadoop/excludes  //它是一個文件排除host

 

3、進程pid:

export HADOOP_PID_DIR=/home/hadoop/data/pid               //存儲hadoop 常駐進程pid

export HADOOP_SECURE_DN_PID_DIR=/home/hadoop/data/pid        //datanode進程 pid

 

4、臨時目錄:

/home/hadoop/data/tmp

 

1、安裝目錄:

/home/hadoop/app/

 

2、數據存放目錄:

dfs.namenode.name.dir ---file:/home/hadoop/data/name    //存放元數據

dfs.datanode.data.dir ---file:/home/hadoop/data/datanode //datanode數據存放目錄

dfs.namenode.edits.dir---file:/home/hadoop/data/hdfs/edits       //存放編輯日志

dfs.journalnode.edits.dir--/home/hadoop/data/journaldata/jn      //存放編輯日志同步數據

dfs.hosts.exclude--/home/hadoop/app/hadoop-2.6.0-cdh5.4.5/etc/hadoop/excludes  //它是一個文件排除host

 

dfs.hosts.exclude--/home/hadoop/app/hadoop-2.6.0-cdh5.4.5/etc/hadoop/excludes  //它是一個文件排除host

 

等到后面,解壓了hadoop-2.6.0-cdh5.4.5的安裝包后,再新建。

 

3、進程pid:

export HADOOP_PID_DIR=/home/hadoop/data/pid               //存儲hadoop 常駐進程pid

export HADOOP_SECURE_DN_PID_DIR=/home/hadoop/data/pid        //datanode進程 pid

 

4、臨時目錄:

/home/hadoop/data/tmp

 

下載必備軟件

注:1、在CDHNode1節點上安裝,使用yum命令 ,參數-y表示,下載過程中的自動回答yes,有興趣的話,可以試試不加的情況;install表示從網上下載安裝。

         2、使用yum命令安裝軟件必須是root用戶。

1、安裝lrzsz,可以方便在Xshell上,上傳和下載文件,輸入rz命令,可以上傳文件,sz命令可以從遠程主機上下載文件到本地。

 

2、安裝ssh服務器。

 

 

3、安裝ssh客戶端。

 

5、永久關閉防火牆、時間同步

只有在關機重啟后,生效。

關機后,重啟。再查看下

 

時間同步

1、我們先使用date命令查看當前系統時間

如果系統時間與當前時間不一致,可以按照如下方式修改。

 

2、查看時區設置是否正確。我們設置的統一時區為Asia/Shanghai,如果時區設置不正確,可以按照如下步驟把當前時區修改為上海。

cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime 

 

3、下面我們使用ntp(網絡時間協議)同步時間。如果ntp命令不存在,則需要在線安裝ntp

 

4、安裝ntp后,我們可以使用ntpdate命令進行聯網時間同步。

ntpdate pool.ntp.org

 

ntpdate pool.ntp.org

 

5、最后我們在使用date命令查看,時間是否同步成功。

由此可見,我們的時鍾同步,完成。

 

 

方便操作

1、 首先點擊新建按鈕,如下;在新建會話屬性對話框中輸入名稱和需要連接的主機ip地址。

2、 接下來點擊左側的用戶身份驗證,輸入要登錄主機的用戶名和密碼,點擊確定,此時創建成功。

3、 在打開會話對話框中選中剛創建的CDHNode1,然后點擊連接

 

4、 此時連接成功,即可進行遠程操作

 

 

5、為了以后方便打開遠程主機,我們可以把當前連接的主機添加到鏈接欄中,只需點擊添加到鏈接欄按鈕即可添加

這樣以后,就很方便啦。

 

6、上傳hadoop-2.6.0-cdh5.4.5.tar.gz安裝包和SSH免密碼登錄 

在master上啟動start-dfs.sh,master上啟動namenode,在slave1和2上啟動datanode。

那這是如何做到的呢?有興趣,可以看看。這就是要做免密碼登錄的必要!

這里,三處都回車。

 

 

 

現在,來進入SSH免密碼登錄的設置。

 

總的來說:

1、  集群里的每台機器自己本身的無密碼訪問設置

CDHNode1本身、CDHNode2本身、CDHNode3本身

 

CDHNode1本身

 

CDHNode2本身

 

CDHNode3本身

 

1、  集群里的每台機器自己本身的無密碼訪問設置

CDHNode2與 CDHNode1、CDHNode3與CDHNode1、然后CDHNode1分發~/.ssh/ authorized_keys

 

CDHNode2與 CDHNode1

 

CDHNode3與 CDHNode1

 

cat ~/.ssh/id_rsa.pub | ssh hadoop@CDHNode1 'cat >> ~/.ssh/authorized_keys'

 

 

將CDHNode1的~/.ssh/ authorized_keys,分發給CDHNode2

知識點:用自己寫好的腳本,也可以,或者,用scp命令

 

 

scp -r authorized_keys hadoop@CDHNode2:~/.ssh/

 

 

將CDHNode1的~/.ssh/ authorized_keys,分發給CDHNode3

至此,集群間機器完成SSH免密碼登錄。

 

7、上傳jdk-7u79-linux-x64.tar安裝包和jdk環境變量配置

若是有自帶的java,一定將其卸載。

rpm -qa|grep java命令查出沒有

 

注意:

一般在生產上,部署一個集群時候,我們的用戶是很多的,比如有hadoop用戶、hbase用戶、hive用戶、zookeeper用戶等。。。

  這樣,我們若將jdk安裝到hadoop用戶的主目錄下,則出現其他的用戶無法使用,很麻煩,

  強烈建議,安裝在/usr/local 或 /usr/share

 

實際上,jdk自帶的它默認就是安裝在這個目錄底下,嘿嘿

而我這里,沒自帶,所以,沒對應的java目錄。

 

 

好,現在開始上傳jdk-7u79-linux-x64.tar.gz

在生產環境里,一般jdk安裝在/usr/local或/usr/share。這里,我們選擇/usr/share

 

這里要注意,知識點,必須是root用戶才可以。

 

改下,uucp。並刪除,jdk壓縮包

退回到hadoop用戶

總結,在實驗里,就沒分那么多用戶了,hadoop用戶、hive用戶、zookeeper用戶、、、

 

配置在這個文件~/.bash_profile,或者也可以,配置在那個全局的文件里,也可以喲。/etc/profile。

#java

 

export JAVA_HOME=/usr/local/jdk/jdk1.8.0_60

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib

export PATH=$PATH:$JAVA_HOME/bin

 

為了偷懶,

 

scp -r .bash_profile hadoop@CDHNode2:~

scp -r .bash_profile hadoop@CDHNode3:~

 

8、HDFS核心配置文件的配置和exclueds文件創立

 

學會技巧,一般,先在NotePad++里寫好,

直接傳上去。

刪除壓縮包,留下壓縮后的文件夾。

其他兩個一樣

cd hadoop-2.6.0-cdh5.4.5/etc/Hadoop

rm core-site.xml

rm hadoop-env.sh

rm hdfs-site.xml

rm slaves

rm yarn-env.sh

rm yarn-site.xml

其他兩個一樣

 

接下來,將在NotePad++里寫好的,直接上傳。

 

其他兩個一樣

 

至此,HDFS核心配置文件的配置完成!

在,

現在,該是創建這個文件的時候了

touch /home/hadoop/app/hadoop-2.6.0-cdh5.4.5/etc/hadoop/excludes

 

其他兩個一樣

 

9、zookeeper-3.4.5-cdh5.4.5.tar.gz的安裝、環境變量配置和hadoop-2.6.0-cdh5.4.5的環境變量配置

Zookeeper-3.4.5-cdh5.4.5.tar.gz

注意:hadoop-2.6.0-cdh5.4.5.tar.gz與Zookeeper-3.4.5-cdh5.4.5.tar.gz保持一致。

 

安裝在/home/hadoop/app/下,

CDHNode2和3的一樣

CDHNode2和3的一樣

並刪除壓縮包,

CDHNode2和3的一樣

CDHNode2和3的一樣

 

為此,現在需要,對zookeeper-3.4.5-cdh5.4.5/下的zoo.cfg進行,修改配置。

修改地方是

dataDir=/home/hadoop/data/zookeeper

server.1=CDHNode1:2892:3892

server.2=CDHNode2:2892:3892

server.3=CDHNode3:2892:3892

分析:

因為,用到了目錄/home/hadoop/data/zookeeper,所以,我們得新建好它。

 

下面,將zookeeper的安裝目錄放到環境變量里去,以便在任何路徑下

這里是~/.bash_profile

CDHNode2和3,都一樣

這里,是,把hadoop-2.6.0-cdh5.4.5的環境變量配置好了,算是補的!

 

10、初始化hdfs(一次性操作)

a)      先啟動zookeeper,在安裝zookeeper的機器上執行./bin/zkServer.sh start

這里安裝zookeeper的機器是,CDHNode1、2和3。

 

CDHNode1為F,

 

CDHNode2為L,

 

CDHNode3為F,

總結,初始化一次,就可以了。以后啟動,會自帶啟動。

Zookeeper以后還是要自己啟動。

 

 

 

b)      在hadoop-2.6.0-cdh5.4.5啟動journalnode(所有journalnode節點都得起)

./sbin/hadoop-daemon.sh start journalnode

這里,CDHNode1、2和3都要做。

 

 

CDHNode2和3一樣

c)      主節點(CDHNode1)的hadoop-2.6.0-cdh5.4.5執行

./bin/hdfs namenode -format
./bin/hdfs zkfc -formatZK 
./bin/hdfs namenode

接着,會出現下面問題

buildSupportsSnappy()Z問題,解決鏈接:

知識點,CDH默認是沒有提供native庫的,需要我們自己去編譯。

提供的是32位,我們需要的是64位。編譯過程很復雜,

這里如何去編譯呢?這里是個知識點,我就在網上,找個別人已經編譯好了的64位。具體見鏈接: http://download.csdn.net/detail/tongyuehong/8524619

編譯好之后的native放到/home/hadoop/app/hadoop-2.6.0-cdh5.4.5/lib/

 

所以呀,看到了,最好還是自己要掌握!!!加油

通過hadoop-2.6.0-cdh5.4.5.src.tar.gz來編譯,安裝snappy並生成hadoop native本地庫。

(大牛的教導:特地開設一個節點,專門來玩玩如apache、cdh這樣的hadoop源代碼編譯,來提升自己的橫向能力!並寫於博客。)

 

 

去吧,開啟一個新的節點,新的起點。

快照恢復

  CDHNode2、3一樣。

  先去制作native庫吧!

 

 

 

 

 

 

 

 

歡迎大家,加入我的微信公眾號:大數據躺過的坑        人工智能躺過的坑
 
 
 

同時,大家可以關注我的個人博客

   http://www.cnblogs.com/zlslch/   和     http://www.cnblogs.com/lchzls/      http://www.cnblogs.com/sunnyDream/   

   詳情請見:http://www.cnblogs.com/zlslch/p/7473861.html

 

  人生苦短,我願分享。本公眾號將秉持活到老學到老學習無休止的交流分享開源精神,匯聚於互聯網和個人學習工作的精華干貨知識,一切來於互聯網,反饋回互聯網。
  目前研究領域:大數據、機器學習、深度學習、人工智能、數據挖掘、數據分析。 語言涉及:Java、Scala、Python、Shell、Linux等 。同時還涉及平常所使用的手機、電腦和互聯網上的使用技巧、問題和實用軟件。 只要你一直關注和呆在群里,每天必須有收獲

 

      對應本平台的討論和答疑QQ群:大數據和人工智能躺過的坑(總群)(161156071) 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM