安裝CDH的超詳細步驟

一、準備工作

1、下載安裝包,規劃三臺機器

Cloudera Manager 5.9http://archive-primary.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.9.0_x86_64.tar.gz
CDH5.9 主文件http://archive-primary.cloudera.com/cdh5/parcels/5.9.0.23/CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel
CDH5.9 sha文件http://archive-primary.cloudera.com/cdh5/parcels/5.9.0.23/CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha1
manifest 文件http://archive-primary.cloudera.com/cdh5/parcels/5.9.0.23/manifest.json
下載後將這些包上傳到node1機器的/opt/cdn目錄下
2、修改/etc/hosts文件
192.168.233.131 node1
192.168.233.132 node2
192.168.233.133 node3

臨時修改主機名
hostname node1
hostname node2
hostname node3
3、均做免密碼登陸配置
ssh-keygen -t rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub node1
ssh-copy-id -i /root/.ssh/id_rsa.pub node2
ssh-copy-id -i /root/.ssh/id_rsa.pub node3
4、關閉防火牆
防火牆可能引起Hadoop相關組件之間的通訊,所以關閉它,均執行以下操作。

service iptables stop (臨時關閉)
chkconfig iptables off (重啓後生效)

關閉SELINUXsetenforce 0臨時生效,另外修改修改/etc/selinux/config 下的SELINUX=disabled,重啓機器

5、編寫shell
實用shell這一小節主要是講的後續安裝過程可能是考慮到各個機器間需要拷貝文件啥的,用腳本的方式批處理,這是破擊手文中提到的非常棒的想法,我就照搬不誤的啦,在屏幕面前靜靜滴看着刷刷的快感。
在node1機器root目錄下,產生一個nodes文件,文件內容如下,主要將各節點的主機名維護起來


node02
node03

在node1機器root目錄下,產生一個scp.sh文件,文件內容如下,輸入需要傳送的源文件路徑與目標機器的存放路徑兩個參數,路徑都是絕對路徑。

#!/bin/bash
cat nodes | while read host
do
{
    scp -r $1 $host:$2
}&wait
done

6、安裝jdk
①都卸載自帶jdk
[root@node3 ~]# rpm -qa|grep java
java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
tzdata-java-2013g-1.el6.noarch
java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
[root@node3 ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
[root@node3 ~]# rpm -e --nodeps tzdata-java-2013g-1.el6.noarch
[root@node3 ~]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
②在node1上上傳jdk1.8,解壓到/usr/local/下
並修改環境變量 vi /etc/profile
export JAVA_HOME=/usr/local/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH

③利用shell拷貝
 sh scp.sh /usr/local/jdk1.8/ /usr/local/jdk1.8/
 sh scp.sh /etc/profile /etc/
 是環境變量生效(全執行)
  source /etc/profile
  echo "JAVA_HOME=/usr/local/jdk1.8" >> /etc/environment
 7、配置yum
 
 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
 mv /etc/yum.repos.d/CentOS-Debuginfo.repo /etc/yum.repos.d/CentOS-Debuginfo.repo.bak
 mv CentOS-Vault.repo CentOS-Vault.repo.bak

 vi  /etc/yum.repos.d/CentOS-Media.repo
 
 
 [c6-media]

name=CentOS-$releasever - Media

baseurl=file:///mnt/

gpgcheck=1

enabled=1

gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-6
 
 
 掛載鏡像
 mount /dev/cdrom /mnt
 yum list 查看是否配置yum成功
8、安裝mysql
yum -y install mysql-server
chkconfig mysqld on
service mysqld restart

create user 'CDH' identified by '123456';
必須設置遠程可登陸
grant all privileges on *.* to CDH@'%' identified by '123456' with grant option;
flush privileges;

9、
設置swap空間

echo "vm.swappiness = 10" >> /etc/sysctl.conf
sh scp.sh /etc/sysctl.conf /etc/

關閉大頁面壓縮

試過只設置defrag,但貌似個別節點還是會有警告,乾脆全部設置,編輯/etc/rc.local,末尾添加如下命令

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag


同步到各個節點機器sh scp.sh /etc/rc.local /etc/,然後重啓reboot生效。

二、安裝CM



1、進入/opt/cdh目錄,將CM解壓到/opt目錄下,不能解壓到其他地方,因爲cdh5的源會默認在/opt/cloudera/parcel-repo尋找,而CM可以按照個人喜好安裝

tar -zxvf cloudera-manager-el6-cm5.9.0_x86_64.tar.gz -C /opt/
mkdir -p /opt/program
mv /opt/cm-5.9.0/ /opt/program/
ln -s /opt/program/cm-5.9.0/ /opt/cm

2、將CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel 和 CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha1移動到/opt/cloudera/parcel-repo,這樣安裝時CM就能直接找到了

mv CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha1 /opt/cloudera/parcel-repo/

3、將CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha1重命名爲CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha(去掉結尾的1),非常重要。我試安裝時,這點遺漏了,導致安裝CDH的時候一直刷不出5.9版本,通過日誌發現,沒有manifest.json就會去下載,不能訪問外網就報錯了,但不影響安裝CDH,還是mv一下吧。

mv manifest.json /opt/cloudera/parcel-repo/
cd /opt/cloudera/parcel-repo/
mv CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha1 CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha

4、修改配置文件中的server_host,編輯/opt/cm/etc/cloudera-scm-agent/config.ini

server_host=node1

將mysql的JDBC驅動放入CM的lib目錄下,下載地址http://dev.mysql.com/downloads/connector/j/,gz和zip都無所謂,最終要的是裏面的jar包。解壓獲得mysql-connector-java-5.1.40-bin.jar上傳到集羣。

mv mysql-connector-java-5.1.40-bin.jar /opt/cm/share/cmf/lib/

5、爲CM創建數據庫

/opt/cm/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p123456 --scm-host localhost scm scm scm


6、爲每個節點創建cloudera-scm用戶,均執行

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

7、接下來其實可以直接在node1上啓動服務安裝了,但因爲其它節點沒有CM,最後還是通過遠程的yum在線下載再安裝,我這設置了內部網絡,其它節點是訪問不了外網的,所以拷貝CM到其它節點進行完全離線安裝。拷貝CM到每個節點,在拷貝之前在其餘節點執行mkdir /opt/program

sh scp.sh /opt/program/cm-5.9.0/ /opt/program/cm-5.9.0/
ln -s /opt/program/cm-5.9.0/ /opt/cm     (每臺機手動執行)
8、 在node1上啓動CM的service服務

/opt/cm/etc/init.d/cloudera-scm-server start

在所有節點上面節點上啓動CM的agent服務
/opt/cm/etc/init.d/cloudera-scm-agent start


service服務過程需要啓動幾分鐘,這看機器性能,如果用netstat -apn|grep 7180能夠查看到端口占用,就可以用瀏覽器打開http://node1IP:7180/進行訪問,登錄用戶名與密碼分別爲admin

到此基本上CM的安裝啓動己完成,接下來就可以用過WEB界面進行安裝CDH了,嘩啦嘩啦,前面安裝的步驟到不是很複雜,但安裝的東西倒不少

三、圖像化安裝CDH

  1. 登陸
    cdh01

  2. 勾選然後繼續
    cdh02

  3. 按需選擇,我選擇免費
    cdh03
  4. 繼續
    cdh04
  5. 因爲我們在節點上啓動了agent,所以直接點“當前管理的主機”,此時當前管理主機有5個。如果節點上沒有CM,只有master上有,這邊可以在新主機下去搜索,例如192.168.2.[100-104],但這樣最後從節點會去yum在線安裝。
    cdh05
  6. 全部勾上,然後繼續
    cdh06
  7. 選擇版本,然後繼續
    cdh07
  8. 開始安裝了,等着吧
    cdh08
  9. 好了之後繼續
    cdh09
  10. 全部是勾,完美!炒雞興奮呀
    cdh10
  11. 集羣設置,按需選擇
    cdh11
  12. 角色分配,按需分配,我這裏選擇默認,媽呀第一次不敢亂動
    cdh12
  13. 創建Mysql數據庫並測試(按需創建,比如你沒選oozie,就不用創建oozie的數據庫,如下,其實我們己經在前面安裝MYSQL的時候己經建庫了
    cdh13

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