Centos6.8安裝CDH5
相關包的下載地址:
Cloudera Manager地址:http://archive.cloudera.com/cm5/cm/5/
CDH安裝包地址:http://archive.cloudera.com/cdh5/parcels/latest/
操作系統為centos6.8:
下載文件為以下:
CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel
CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel.sha1
cloudera-manager-el6-cm5.10.0_x86_64.tar.gz
manifest.json
jdbc的MySQL下載地址:http://download.softagency.net/MySQL/Downloads/Connector-J/
准備工作:
以下操作均需要(root)管理員權限
1.網絡配置(所有節點)
修改主機名:vim /etc/sysconfig/network
NETWORKING = yes
HOSTNAME = cdh1
NETWORKING_IPV6 = no
PEERNTP = no
重啟網絡:service network restart
修改ip與主機名的對應關系:vim /etc/hosts
192.168.1.101 cdh1
192.168.1.102 cdh2
192.168.1.103 cdh3
2. 打通ssh,設置無密碼登陸(所有節點)
執行ssh-keygen -t rsa,一路回車,生成無密碼的密鑰對。
將公鑰添加到認證文件中:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,並設置authorized_keys的訪問權限:chmod 600 ~/.ssh/authorized_keys。
通過scp命令將各節點的認證文件拷貝到所有其他節點使得各節點能夠相互訪問。
scp ~/.ssh/authorized_keys root@cdh2:~/.ssh/authorized_keys
cdh2操作:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/
scp ~/.ssh/authorized_keys root@cdh3:~/.ssh/authorized_keys
cdh3操作:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys root@cdh1:~/.ssh/authorized_keys
cdh1操作:
chmod 600 ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys root@cdh2:~/.ssh/authorized_keys
3.安裝Oracle的Java(所有節點)
CentOS自帶OpenJdk,不過運行CDH5需要使用oracle的JDK,需要Java 7的支持。
卸載自帶的OpenJdk,使用rpm -qa | grep java查詢java相關的包,使用rpm -e --nodeps 包名卸載之。
去Oracle的官網下載jdk的rpm安裝包,並使用rpm -ivh 包名安裝,最后配置環境變量。
Jdk7下載地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html
rpm –ivh jdk-7u80-linux-x64.rpm
4.安裝配置MySQL(主節點)
通過yum install mysql-server安裝mysql服務器。chkconfig mysqld on設置開機啟動,並service mysqld start啟動mysql服務,並根據提示設置root的初試密碼:mysqladmin -u root password 'xxxx'。
mysql -uroot -pxxxx進入mysql命令行,創建以下數據庫:
#hive
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity monitor
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
# Oozie
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#Hue
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#授權root用戶在主節點擁有所有數據庫的訪問權限
grant all privileges on *.* to 'root'@'cdh1' identified by 'xxxx' with grant option;
flush privileges;
5.關閉防火牆和SELinux
注意: 需要在所有的節點上執行,因為涉及到的端口太多了,臨時關閉防火牆是為了安裝起來更方便,安裝完畢后可以根據需要設置防火牆策略,保證集群安全。
關閉防火牆:
service iptables stop (臨時關閉)
chkconfig iptables off (重啟后生效)
關閉SELINUX(實際安裝過程中發現沒有關閉也是可以的,不知道會不會有問題,還需進一步進行驗證):
setenforce 0 (臨時生效)
修改 /etc/selinux/config 下的 SELINUX=disabled (重啟后永久生效)
6.所有節點配置NTP服務
集群中所有主機必須保持時間同步,如果時間相差較大會引起各種問題。 具體思路如下:
master節點作為ntp服務器與外界對時中心同步時間,隨后對所有datanode節點提供時間同步服務。
所有datanode節點以master節點為基礎同步時間。
所有節點安裝相關組件:yum install ntp。完成后,配置開機啟動:chkconfig ntpd on,檢查是否設置成功:chkconfig --list ntpd其中2-5為on狀態就代表成功。
主節點:
# vi /etc/ntp.conf
server 210.72.145.44 #這是中國國家授時中心的IP
server 0.uk.pool.ntp.org
server 1.uk.pool.ntp.org
啟動:service ntpd start
開機啟動:chkconfig ntpd on
查看NTP服務的運行狀況: watch ntpq –p
其他節點:server cdh1 然后啟動:service ntpd start
ntpdate –u cdh1
7.安裝Cloudera Manager Server 和Agent
主節點解壓安裝
cloudera manager的目錄默認位置在/opt下,解壓:tar xzvf cloudera-manager*.tar.gz將解壓后的cm-5.10.0和cloudera目錄放到/opt目錄下。
為Cloudera Manager 5建立數據庫
首先需要去MySql的官網下載JDBC驅動,http://dev.mysql.com/downloads/connector/j/,解壓后,找到mysql-connector-java-5.1.42-bin.jar,放到/opt/cm-5.10.0/share/cmf/lib/中。
Hive的拷貝位置為:# cp /opt/cm-5.10.0/share/cmf/lib/mysql-connector-java-5.1.42-bin.jar/opt/cloudera/parcels/CDH-5.10.0-1.cdh5.10.0.p0.41/lib/hive/lib/
Oozie的拷貝位置為:# cp /opt/cm-5.10.0/share/cmf/lib/mysql-connector-java-5.1.42-bin.jarr /var/lib/oozie/
在主節點初始化CM5的數據庫:
/opt/cm-5.10.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -pxxxx --scm-host localhost scm scm scm
Agent配置
修改/opt/cm-5.10.0/etc/cloudera-scm-agent/config.ini中的server_host為主節點的主機名。
vim /opt/cm-5.10.0/etc/cloudera-scm-agent/config.ini
serverhost = cdh1
同步Agent到其他節點
scp -r /opt/cm-5.10.0/ root@cdh2:/opt/
scp -r /opt/cm-5.10.0/ root@cdh3:/opt/
在所有節點創建cloudera-scm用戶:
useradd --system --home=/opt/cm-5.10.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
准備Parcels,用以安裝CDH5
將CHD5相關的Parcel包放到主節點的/opt/cloudera/parcel-repo/目錄中。
相關的文件如下:
CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel
CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel.sha1
manifest.json
最后將CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel.sha1,重命名為CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel.sha,這點必須注意,否則,系統會重新下載CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel.sha1文件。
相關啟動腳本
通過/opt/cm-5.10.0/etc/init.d/cloudera-scm-server start啟動服務端。
通過/opt/cm-5.10.0/etc/init.d/cloudera-scm-agent start啟動Agent服務。
我們啟動的其實是個service腳本,需要停止服務將以上的start參數改為stop就可以了,重啟是restart。
CDH5的安裝配置
Cloudera Manager Server和Agent都啟動以后,就可以進行CDH5的安裝配置了。
這時可以通過瀏覽器訪問主節點的7180端口測試一下了(由於CM Server的啟動需要花點時間,這里可能要等待一會才能訪問),默認的用戶名和密碼均為admin:
臨時修改:echo 0 > /proc/sys/vm/swappiness
重啟生效:vim /etc/sysctl.conf
添加一行vm.swappiness=10
臨時:
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
或添加上面二行:vim /etc/rc.local
默認值繼續:
稍等一會:
Perfect!!!