Cloudera Manager 和 CDH 4 終極安裝


 轉載請注明出處:http://www.cnblogs.com/thinkCoding/p/3567408.html

 

系統環境

  操作系統:CentOS 6.5

  Cloudera Manager 版本:4.8.1

  CDH版本:4.5.0

各機器准備工作:

  yum -y groupinstall "Development tools"

  yum -y install wget 

Cloudera-manager壓縮包地址:     http://archive.cloudera.com/cm4/cm/4/cloudera-manager-el6-cm4.8.1_x86_64.tar.gz 

CDH 下載地址:             http://archive.cloudera.com/cdh4/parcels/

IMPALA 下載地址:           http://archive.cloudera.com/impala/parcels/

Cloudera Search(SOLR)下載地址:   http://archive.cloudera.com/search/parcels/latest/

 

官方安裝參考 

  http://www.cloudera.com/content/cloudera-content/cloudera-docs/CM4Ent/latest/Cloudera-Manager-Installation-Guide/cmig_install_path_C.html

  官網介紹的安裝方式有三種:

  

  我們選擇了第三種方法。

  理由是第一種方法必須要求所有機器都能連網,而且外國網站不太穩定。一旦失敗,重裝非常痛苦。

  第二種方法還沒仔細研究,看上去要下載很多包。

  第三種方法對系統侵入性最小,最大優點可實現全離線安裝,而且重裝什么的都非常方便。后期的集群統一包升級也非常好。

 

准備工作

以下所有操作都以root進行。

0 修改主機名

  修改/etc/sysconfig/network文件

    NETWORKING=yes

    HOSTNAME=yc01

 

  重啟后生效:service network restart

 

  修改/etc/hosts文件,類似

    192.168.1.191 yc01  
    192.168.1.192 yc02
    192.168.1.193 yc03
    192.168.1.194 yc04
    192.168.1.195 yc05

 

1 安裝 salt (可忽略)

  略。

2 打通 ssh 

  所有機器,使用   ssh-keygen -t rsa    一路按回車就行了。

  剛才都作甚了呢?主要是生成ssh的密鑰和密鑰的存放路徑。 在 ~/.ssh下。

  打開~/.ssh 下面至少有兩個文件

  id_rsa,私鑰

  id_rsa.pub,公鑰 

  在主結點上:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

  scp文件到其他機器:

 scp ~/.ssh/authorized_keys root@yc02:~/.ssh/

  現在登陸到其他機器就不用密碼了。

3 安裝 java

  由於 CDH4 支持 JAVA7 ,考慮到 CDH5 只支持 JAVA7,果斷上。(后面的Mysql也用了最新的5.6.16,后來發現悲劇了,不知道是哪個原因,於是JDK又改成了官方推薦版,還是不行,又把Mysql回退到5.1.X版本,最終可以了。個人猜測JDK還是可以用7的,Mysql只能用5.5,再往上就不行了。參考 http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Requirements-and-Supported-Versions/cdhrsv_topic_2.html)

  從Oracle官網下載解壓JDK 。 tar zxvf jdk-7u51-linux-x64.gz 放到 /opt/java 下。

  以前好像在哪看到過說,CDH 需要一個 /usr/java/default 的軟鏈,才會識別。以防萬一,建了一個,至少這樣也更容易管理:

mkdir -p /usr/java ; cd /usr/java ;
ln -s /opt/java/jdk1.7.0_51 latest ; ln -s latest default

  最后JAVA添加環境變量

export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

   使配置生效  

source /etc/profile

 

4 安裝Mysql數據庫(安裝過程后來直接跳過了,直接 yum -y install mysql-server  再建需要的數據庫)

  Cloudera Manager 自身的需要數據庫,它現在支持 Mysql 、PostgreSQL 和 Oracle ,本人沒用過PostgreSQL ,Oracle 興師動眾,果斷上 Mysql 。

  Installing and Configuring a MySQL Database

  官網上說了很多,總結起來三句話:

    1) 安裝一個 Mysql 

     下載地址 http://dev.mysql.com/downloads/mysql/

     下載了客戶端和服務端

     rpm -ivh MySQL-server-5.6.16-1.el6.x86_64.rpm

     rpm -ivh MySQL-client-5.6.16-1.el6.x86_64.rpm

     安裝server是會提示 生成 root 的隨機碼。

     

    

    SET PASSWORD = PASSWORD('ycmedia_2014');

    默認mysql不會生成 /etc/my.cnf 文件,cp  /usr/my.cnf  /etc/my.cnf 

    2) 配置MySql 自身的一些參數,和 CDH 沒任何關系。只着重強調了一下 max_connections 的值。建議是 數據庫數*100+50。大集群(50台以上)建議必須分開放。

     過程: vi /etc/my.cnf ,修改哪些參數,參考上面那個鏈接。只為一般性目的的可直接跳過此步驟。

    3) 建數據庫,授權。需要哪些庫呢,免費版:amon、hmon、hive、smon、scm(Cloudera Manager 自身,我自己命名的)

      這些庫的名字其實是可以自定義的。其它都是官網示例的名字,就這樣吧。保持一致。只有最后一個庫是我自己命名的。

    create database hive   DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

    create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;    

    create database smon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;   

    create database hmon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;   

    給用戶授權,類似如下:

    grant all on *.* to root@"%" Identified by "123456";

 

 5 關閉防火牆 和 SELinux

  關閉防火牆:

    service iptables stop (臨時關閉)

    chkconfig iptables off (重啟后生效)

  關閉SELINUX:

    setenforce 0 (臨時生效)  

    修改 /etc/selinux/config 下的 SELINUX=disabled (重啟后永久生效) 

 

正式開工

1 安裝 Cloudera Manager Server 和 Agents 

  解壓壓縮包:

    tar xzf /opt/package/cloudera-manager*.tar.gz -C /opt/; mv /opt/cm-4.8.1 /opt/cloudera-manager-4.8.1

  添加 cloudera-scm 用戶 

    useradd --system --home=/opt/cloudera-manager-4.8.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

  為了方便,下面稱 /opt/cloudera-manager-4.8.1 為 <tarball root>

  修改<tarball root>/etc/cloudera-scm-agent/config.ini  下面的 server_port 和 server_host ,把server_port 改成ClouderaManager運行的主機名或ip, 默認server_port 端口是 7182

  Cloudera Manager 會在下面目錄保存一些玩意。

  

2 為Cloudera Manager 建立數據庫

  

  建立數據庫前要下載 jdbc驅動,放到 <tarball root>/share/cmf/lib/ 下。

  生成數據庫

<tarball root>/share/cmf/schema/scm_prepare_database.sh mysql scm  -hlocalhost -uroot -p123456  --scm-host localhost scm scm scm

  格式是:  scm_prepare_database.sh 數據庫類型  數據庫 服務器 用戶名 密碼  --scm-host  Cloudera_Manager_Server所在的機器  ....... 

  后面那三個不知道代表什么,直接照抄官網的了。詳細說明:

  

 

3 開啟Cloudera Manager Server 端

  在你上面安裝的那台機器上開啟Server端:

    

<tarball root>/etc/init.d/cloudera-scm-server start

  設置成開機啟動:

    cp <tarball root>/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server
    chkconfig cloudera-scm-server on

4 開啟Cloudera Manager Agents 端

  先SCP <tarball root> 到所有機器上 ,然后在每台機器上開啟Agents端:

sudo <tarball root>/etc/init.d/cloudera-scm-agent start

  設置開機啟動:

  cp <tarball root>/etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent
  chkconfig cloudera-scm-agent on

5 啟動 Cloudera Manager 管理控制台

  地址類似  http://example.com:7180/ ,默認端口是 7180,如果上面沒改的話。

  用戶名密碼都是 admin

   

至此:Cloudera Manager 安裝完畢。

------------------------------------------------------------------------------------分割線不夠華麗----------------------------------------------------------------------------------

----------------------------------------------------------------------------------此處需要華麗分割線--------------------------------------------------------------------------------

 

6  准備Parcels,用以安裝 CDH

  將前面下載的CDH 和 IMPALA 放到 /opt/cloudera/parcel-repo 下,再生成 sha 文件,

  sha文件參照 http://archive.cloudera.com/cdh4/parcels/latest/manifest.json 里面,和每個文件是對應的。把 hash 值拿出來即可,最簡單當然是直接計算一下就ok了。

  

     

  

   獲取更多信息參閱: Using Parcels

 

7 開始從界面安裝 CDH4

  從界面登陸后,選擇版本

  

  可以注意到,CDH以前的版本是有最大50個節點限制的,現在沒有限制了。繼續。

 

  

  繼續。

 

 此處需要特別關注,我們明明有N台服務器的,現在只有一台,why ? 是因為我一開始在啟動Cloudera Manager Agents 時沒有修改 server_host=localhost ,

   vi ./etc/cloudera-scm-agent/config.ini  改成Cloudera Manager  server所在機器名。再重新啟動agent( 在 <tarball root> 下  ./etc/init.d/cloudera-scm-agent restart)

   現在所有機器都有了。點擊繼續。

 

我們選擇Parcels 方式,繼續。會安裝cdh impala solr . 幾分鍾內應該就完成了。取決於你內網傳輸速度。

 

  繼續。

 

 

選擇要安裝的服務,特別注意,紅框處【檢查角色分配】,太不起眼啦!!! 曾經沒注意,有點郁悶。點擊分配角色。分配好后,繼續,當然后期還是可以改的。。

 

測試連接的時候必須成功才能繼續,這個地方,有可能會出現,在本地 root + 密碼 是可以登陸上 mysql 的,這里測試時卻會失敗。主要還是因為對於root 的用戶比較復雜。

因為你的root 帳戶本質上可能是下圖這樣的,這個地方我對mysql理解的也不深,大意應該就是本地用的雖然也是root ,那是實質上並非同一個用戶。

不管三七二十一,統統授權了。

grant all on *.* to root@"yc01" Identified by "123456" ; 
grant all on *.* to root@"localhost" Identified by "123456" ; 
grant all on
*.* to root@"127.0.0.1" Identified by "123456" ;

另外此處有個備注,可觀注下。比如說對於某個monitor,在前面我們分配角色時,分到了某一台機器,那么數據庫最好也是在同一台機器。

 

點擊繼續。

 

修改成合適自己的配置。繼續之前做下面兩個操作。因為下一步HIVE的安裝會失敗,要提前把 jdbc包放到hive的各lib目錄下。如

scp mysql-connector-java-5.1.28.jar root@yc02:/opt/cloudera/parcels/CDH-4.5.0-1.cdh4.5.0.p0.30/lib/hive/lib/

HUE也可能失敗,報錯如下:

不知道是什么包,所以一開始直接這么搞了:

yum -y install libxslt* libxml2

 

 

耐心等待所有啟動成功。 

 

 

恭喜您,安裝成功,下一步開始你的Hadoop之旅!

轉載請注明出處:http://www.cnblogs.com/thinkCoding/p/3567408.html

 

 

 


免責聲明!

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



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