您好,登錄后才能下訂單哦!
首先給出官方的離線安裝http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/installation_installation.html#../topics/cm_ig_install_path_c.html
由于是最新版網上上資料比較少,很多問題只能×××去找答案。大家只要嚴格按照我的步驟一步一步來就一定能安裝成功,所有步驟都在公司集群上親自實驗過,其中也參考了大量網上資料,在此對那些無私奉獻者表示感謝!
在線安裝的兩種方式就不介紹了,大家可以自己去官網看文檔,不推薦大家在線安裝,要是安裝過程碰到問題會很麻煩。
下面直接進入正題,下載所需離線安裝包
Cloudrea Manager5.3.3下載地址
http://archive.cloudera.com/cm5/
下載cloudera-manager-el6-cm5.3.3_x86_64.tar.gz文件
CDH5.3.3下載地址
http://archive.cloudera.com/cdh6/
下載CDH-5.3.3-1.cdh6.3.3.p0.5-el6.parcel,CDH-5.3.3-1.cdh6.3.3.p0.5-el6.parcel.sha1,manifest.json
這三個文件,其中CDH-5.3.3-1.cdh6.3.3.p0.5-el6.parcel.sha1的文件名需要修改為
CDH-5.3.3-1.cdh6.3.3.p0.5-el6.parcel.sha
CDH5.3.3每個組件tar包及源碼的單獨下載地址
http://archive.cloudera.com/cdh6/cdh/5/
環境準備
1.CentOS release 6.5 (Final)-----cat /etc/issue
2.3臺主機:cdh2.hadoop.com
cdh3.hadoop.com
cdh4.hadoop.com
3.每臺機器內存16G (建議32G),硬盤1T
4.每臺機器確保能連外網
所有節點關閉防火墻
在防火墻開啟的情況下,執行如下兩條命令:
臨時關閉: service iptables stop
永久關閉防火墻:chkconfig iptables off
兩個命令同時運行,運行完成后查看防火墻關閉狀態:
service iptables status
所有節點關閉SELINUX
修改/etc/selinux/config 下的將SELINUX=enforcing改為SELINUX=disabled(重啟后生效)
setenforce 0 臨時生效
查看SELinux狀態:
1、/usr/sbin/sestatus -v ##如果SELinux status參數為enabled即為開啟狀態
SELinux status: enabled
2、getenforce ##也可以用這個命令檢查
配置主機名和IP地址
修改/etc/hosts文件,添加:
192.168.1.105 cdh2.hadoop.com
192.168.1.106 cdh3.hadoop.com
192.168.1.107 cdh4.hadoop.com
修改主機名
修改/etc/sysconfig/network文件:
HOSTNAME=cdh2.hadoop.com
執行hostname cdh2.hadoop.com命令讓主機名立即生效
執行命令:servicenetwork restart
打通SSH,設置ssh無密碼登陸(所有節點)
(1)所有節點(cdh2.hadoop.com、cdh3.hadoop.com、cdh4.hadoop.com):
生成無密碼的密鑰對:ssh-keygen -t rsa一路回車,生成無密碼的密鑰對。
(2)主節點(cdh2.hadoop.com):將公鑰添加到認證文件中:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
(3)scp文件到datenode節點(cdh3.hadoop.com):
scp ~/.ssh/authorized_keys root@cdh3.hadoop.com:~/.ssh/
(4)將cdh3.hadoop.com的公鑰添加到認證文件中:
cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
(5)復制cdh3.hadoop.com的認證文件到cdh4.hadoop.com:
scp ~/.ssh/authorized_keys root@cdh4.hadoop.com:~/.ssh/
(6)將cdh4.hadoop.com的公鑰添加到認證文件中:
cat~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
(7)設置authorized_keys的訪問權限:
chmod 600 ~/.ssh/authorized_keys。
(8)將最終生成的認證文件復制到所有節點:
scp ~/.ssh/authorized_keys root@cdh2.hadoop.com:~/.ssh/
scp~/.ssh/authorized_keys root@cdh3.hadoop.com:~/.ssh/
(9)測試(不需要密碼能夠直接登陸):
sshcdh2.hadoop.com
sshcdh3.hadoop.com
sshcdh4.hadoop.com
安裝NTP服務,同步時間
所有節點安裝相關組件:yum installntp。
完成后,配置開機啟動: chkconfig ntpd on ,
檢查是否設置成功:chkconfig--list ntpd其中2-5為on狀態就代表成功。
主節點配置(cdh2.hadoop.com)
在配置之前,先使用ntpdate手動同步一下時間,免得本機與對時中心時間差距太大,使得ntpd不能正常同步。這里選用202.120.2.101(上海交通大學網絡中心NTP服務器地址)作為對時中心,輸入命令:
ntpdate -u 202.120.2.101
修改配置文件 /etc/ntp.conf,沒用的注釋掉:
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default nomodify notrap
server 202.120.2.101 prefer #遠程服務器地址
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
配置文件修改后,執行如下命令:
1 service ntpd start
2 chkconfig ntpd on (設置開機啟動)
ntpstat命令查看同步狀態
配置ntp客戶端(cdh3.hadoop.com,cdh4.hadoop.com)
修改配置文件 /etc/ntp.conf:
driftfile /var/lib/ntp/drift
restrict127.0.0.1
restrict -6 ::1
restrict default kod nomodify notrap nopeernoquery
restrict -6 default kod nomodify notrapnopeer noquery
server cdh2.hadoop.com #這里是主節點的主機名或者ip
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
手動同步時間ntpdate -u cdh2.hadoop.com
啟動服務service ntpdstart
設置開機啟動chkconfig ntpd on
安裝Oracle的Java(所有節點)
CDH5.3.3需要Java7的支持,使用 rpm -qa | grep java 查詢java相關的包,個人根據系統不同可能有所不同,下面是我機器上需要卸載的openJDk
rpm -e --nodeps java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64
rpm -e --nodeps java-1.7.0-openjdk-devel-1.7.0.45-2.4.3.3.el6.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
rpm -e --nodeps java-1.6.0-openjdk-devel-1.6.0.0-1.66.1.13.0.el6.x86_64
去Oracle的官網下載jdk的rpm安裝包,并使用 rpm -ivh包名安裝
rpm-ivh jdk-7u79-linux-x64.rpm
修改文件/etc/profile改變環境變量
export JAVA_HOME=/usr/java/jdk1.7.0_79
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
為使生效:source /etc/profile
執行命令:yum installmysql-server
設置開機啟動:chkconfig mysqld on
啟動mysql:service mysqld start
設置root的初始密碼:mysqladmin -u root password 'root'
mysql -uroot -proot 進入mysql命令行,創建以下數據庫(根據安裝的服務有所區別,我裝的是核心組件):
#hive
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity monitor
create database amon 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'@'cdh2.hadoop.com'identified by 'root' with grant option;
flush privileges;
將ClouderaManager的壓縮包cloudera-manager-el6-cm5.3.3_x86_64.tar.gz復制到/opt目錄下,并解壓:
sudo tar -zxvf cloudera-manager*.tar.gz
然后復制mysql的jar包mysqldemysql-connector-java-5.1.33-bin.jar到
/opt/cm-5.3.3/share/cmf/lib/目錄下。
主節點初始化Cloudera Manager5的數據庫,執行以下命令:
/opt/cm-5.3.3/share/cmf/schema/scm_prepare_database.sh mysql cm-h localhost -uroot -proot --scm-host localhost scm scm scm
Agent配置文件修改
修改/opt/cm-5.3.3/etc/cloudera-scm-agent/config.ini
server_host=cdh2.hadoop.com
復制文件到Agent節點
scp -r /opt/cm-5.3.3 root@cdh3.hadoop.com:/opt/
scp -r /opt/cm-5.3.3 root@cdh4.hadoop.com:/opt/
在所有節點(包括服務器)創建cloudera-scm用戶
sudo useradd --system --home=/opt/cm-5.3.3/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment"Cloudera SCM User" cloudera-scm
安裝CDH5.3.3
將前面下載CHD5.3.3 三個安裝文件復制到到主節點的/opt/cloudera/parcel-repo/目錄下
執行下面的命令,修改parcel-repo文件夾權限,給用戶cloudera-scm權限:
sudo chown -R cloudera-scm:cloudera-scm /opt/cloudera-manager/cloudera/parcel-repo
創建parcels文件夾并修改權限:
sudo mkdir -p /opt/cloudera-manager/cloudera/parcels
sudo chown -R cloudera-scm:cloudera-scm /opt/cloudera-manager/cloudera/parcels
啟動Server和Agent
主節點 /opt/cm-5.3.3/etc/init.d/cloudera-scm-server start 啟動服務端。
所有節點 /opt/cm-5.3.3/etc/init.d/cloudera-scm-agentstart 啟動Agent服務。
啟動后可通過瀏覽器訪問 http://cdh2;hadoop.com:7180,用戶名和密碼默認為均為admin
CDH5.3.3的安裝過程的問題
1.yarn報錯:nodemanager無法啟動,Error found before invokingsupervisord: dictionary update sequence element #78 has length2; 2
這個錯誤是CM的一個bug,解決方法為修改
/opt/cm-5.3.3/lib64/cmf/agent/src/cmf/util.py文件。將其中的代碼:
pipe= subprocess.Popen(['/bin/bash', '-c', ". %s; %s; env" % (path,command)],stdout=subprocess.PIPE, env=caller_env)
修改為:
pipe = subprocess.Popen(['/bin/bash', '-c', ". %s; %s; env |grep -v { | grep -v }" % (path, command)],stdout=subprocess.PIPE,env=caller_env)
2.hive報錯:unable to load driver
所有節點復制mysql的jar包復制到
/opt/cloudera/parcels/CDH-5.3.3-1.cdh6.3.3.p0.5/lib/hive/lib目錄下
3.sqoop2報錯:大概意思是無法創建數據庫,原因是自帶derby驅動好像不行,到官網下載最新derby.jar,這兒我下載的是db-derby-10.11.1.1-lib.tar.gz,解壓包里面包含了derby.jar,按以下步驟即可解決:
(1)刪除 /opt/cloudera/parcels/CDH-5.3.3-1.cdh6.3.3.p0.5/lib/sqoop2/webapps/sqoop/WEB-INF/lib/derby-{version}.jar 軟連接
(2)復制 derby.jar 到/opt/cloudera/parcels/CDH-5.3.3-1.cdh6.3.3.p0.5/jars目錄
(3)新建連接ln -s /opt/cloudera/parcels/CDH-5.3.3-1.cdh6.3.3.p0.5/jars/derby.jar/opt/cloudera/parcels/CDH-5.3.3-1.cdh6.3.3.p0.5/lib/sqoop2/webapps/sqoop/WEB-INF/lib/derby.jar
4.修改swappiness
在etc/sysctl.conf最后加上這樣一行:vm.swappiness=0
echo 0 > /proc/sys/vm/swappiness臨時修改
5.Oozie 第二次啟動失敗:DB scheme exist
rm -rf /var/lib/oozie/*
6. HDFS無法重新格式化
刪除所有節點上的/dfs 文件夾即可。rm -rf /dfs
CDH5.3.3的基本使用
啟動
安裝完成后,所有服務是已啟動的。這里,主要考慮到,平時使用虛擬環境,開機后:
服務節點(CDH1):
/opt/cm-5.3.0/etc/init.d/cloudera-scm-server start
Agent節點(CDH2、CDH3):
/opt/cm-5.3.0/etc/init.d/cloudera-scm-agent start
在系統上啟動服務后,在頁面啟動Custer1所有服務,再啟動Cloudera Management Service服務。
關閉
和啟動順序相反。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。