- 準備工作
1.1. 系統環境
硬件設備:16G 內存,1.8T
網絡組成:
172.16.41.41 j1
172.16.41.42 j2
172.16.41.43 j3
操作系統:Centos6.4 64 位
1.2. 安裝 JDK
從官方網站上下載 rpm 包,本次使用版本 1.7.0_79(CDH5 可能支持 1.7 之前的版本,具體
情況未經測試),執行命令:
rpm -ivh jdk-7u60-linux-x64.rpm
由于是 rpm 包并不需要我們來配置環境變量,我們只需要配置一個全局的 JAVA_HOME 變量
即可,執行命令:
echo "JAVA_HOME=/usr/java/latest/" >> /etc/environment
執行命令,查看 Jdk 是否安裝正確
java -version
javac -version
1.3. 修改主機名
修改/etc/sysconfig/network 文件:
NETWORKING=yes
HOSTNAME=j1
其中 HOSTNAME 與主機名一致。
主機名如果跟系統安裝時不一致請執行 hostname 命令讓其立即生效,否則會影響各節點互
相訪問,命令如下:
hostname master
修改/etc/hosts 文件,添加:
172.16.41.41 j1
172.16.41.42 j2
172.16.41.43 j3
重新啟動網絡服務,執行命令:
service network restart
1.4. 關閉防火墻
防火墻會引起 hadoop 相關組件通訊的各種異常。 防火墻:
service iptables stop (臨時關閉)
chkconfig iptables off (重啟后生效)
設置 SELINUX:
setenforce 0 (臨時生效)
修改/etc/selinux/config 下的 SELINUX=disabled (重啟后生效)
1.5. SSH 無密鑰驗證
所有節點均執行如下命令,遇到提示一路回車即可:
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys_hostname 到文件 authorized_keys:
cat ~/.ssh/authorized_keys_$hostname >>authorized_keys
主機分發合并后的 authorized_keys 所有節點主機:
scp ~/.ssh/authorized_keys root@j2:~/.ssh/
scp ~/.ssh/authorized_keys root@j3:~/.ssh/
然后輸入密碼即可,以后再到其他機器就不需要密碼額。
1.6. 安裝 NTP 服務
所有節點安裝相關組件:ntp 與 ntpdate。按順序安裝即可,完成后,配置開機啟動:
yum install ntp
chkconfig ntpd on
檢查是否設置成功:
chkconfig --list ntpd
1.7. 安裝 Mysql 數據庫
檢查安裝環境
查找以前是否裝有 mysql,命令:
rpm -qa|grep -i mysql
可以看到 mysql 的兩個包:
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
刪除 mysql
刪除命令:rpm -e --nodeps 包名
( rpm -ev mysql-4.1.12-3.RHEL4.1 )
刪除老版本 mysql 的開發頭文件和庫
rm -fr /usr/lib/mysql
rm -fr /usr/include/mysql
注意:卸載后/var/lib/mysql 中的數據及/etc/my.cnf 不會刪除,如果確定沒用后就手工刪除
rm -f /etc/my.cnf
rm -fr /var/lib/mysql
安裝 mysql
使用 yum 源安裝,執行安裝命令:
yum install mysql-server
yum install mysql-delvel
1.8. 配置 mysql 數據庫
啟動 mysql 數據庫
service mysqld start
修改初始密碼:
修改 MySQL 數據庫 root 用戶的初始密碼,先查下初始密碼
cat /root/.mysql_secret
使用初始密碼登陸 mysql 數據庫,登陸命令為:
mysql –uroot –p
執行如下命令修改數據庫 root 用戶密碼:
set password=password('root');
刷新權限表:
flush privileges;
將 mysql 設置成開機啟動,測試使用新密碼進行登陸。
chkconfig mysqld on
本次安裝需要創建如下數據庫
--hive 數據庫
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci
--集群監控數據庫
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci
--hue 數據庫
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci - 安裝 CM
2.1. 下載安裝包
下載地址 http://archive-primary.cloudera.com/cm5/cm/5/,根據自己的系統選擇相應的
版本,本次安裝選用的是 cloudera-manager-el6-cm5.4.3_x86_64.tar.gz。下載完成后只
上傳到 j1 節點即可。然后解壓到/opt 目錄下,不能解壓到其他地方,因為 cdh5 的源會默
認在/opt/cloudera/parcel-repo 尋找,怎么制作 cdh5 的本地源文件會在之后介紹。
2.2. 安裝 CM
給所有節點添加 cloudera-scm 用戶:
useradd --system --home=/opt/cm-5.4.3/run/cloudera-scm-server/ --no-create-home
--shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
修改/opt/cm-5.4.3/etc/cloudera-scm-agent/config.ini 下面的 server_host
Hostname of the CM server.
server_host=j1
上傳 mysql 驅動包 mysql-connector-java-5.1.26-bin.jar 到/opt/cm-5.4.3/share/cmf/lib/目錄:
cp /root/data/mysql-connector-java-5.1.22-bin.jar /opt/cm-5.4.3/share/cmf/lib/
為 Cloudera Manager 5 建立數據庫:
/opt/cm-5.4.3/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot
-proot --scm-host localhost scm scm scm
格式是 :scm_prepare_database.sh 數據庫類型 數據庫 服務器 用戶名 密碼 –
scm-host Cloudera_Manager_Server 所在的機器,后面那三個不知道代表什么,直接照
抄官網的了。
開啟 Cloudera Manager 5 Server 端:
/opt/cm-5.4.3/etc/init.d/cloudera-scm-server start
注意 server 首次啟動不要立即關閉或重啟,因為首次啟動會自動創建相關表以及數據,如
果因為特殊原因中途退出,請先刪除所有表以及數據之后再次啟動,否則將會出現啟動不成
功的情況。
開啟 Cloudera Manager 5 Agents 端:
先 scp /opt/cm-5.4.1 到所有 datanode 節點上,然后在每臺機器上開啟 Agents 端:
scp -r /opt/cm-5.4.3 root@j2:/opt
scp -r /opt/cm-5.4.3 root@j3:/opt
等待拷貝成功,在所有 datanode 節點上啟動:(注意必須以管理員權限啟動)
/opt/cm-5.4.3/etc/init.d/cloudera-scm-agent start
瀏覽器啟動 Cloudera Manager 5 控制臺(172.16.41.41:7180),啟動成功就會看到登陸頁
面。
安裝 CDH
3.1. 下載 CDH 版本
下載 CDH 版本到本地 http://archive-primary.cloudera.com/cdh5/parcels/5.0.0/,需要下載
三樣東西: 1、與操作系統版本相對應的 parcel 包 2、 manifest.json 文件。
3、 CDH-5.4.4-1.cdh5.4.3.p0.4-el6.parcel.sha1 文件。
3.2. 安裝 CDH
本地源制作
下載完成后將這三個文件放到 master 節點的/opt/cloudera/parcel-repo 下(目錄在安裝
Cloudera Manager 5 時已經生成),并將 CDH-5.4.4-1.cdh5.4.4.p0.4-el6.parcel.sha1
重命名為 CDH-5.4.4-1.cdh5.4.4.p0.4-el6.parcel.sha。
CDH 安裝
打開 http:// 172.16.41.41:7180,登陸控制臺,默認賬戶和密碼都是 admin,安裝時選擇
免費版,之后由于 cm5 對中文的支持很強大,按照提示安裝即可,如果系統配置有什么問題
在安裝過程中會有提示,根據提示選擇 impala 組件安裝就可以了。
安裝完成后,在控制臺可以看到所裝的組件和各組件的運作狀態:
主節點 j1 的角色分配如下所示:
j 2、j3 節點的角色分配如下:常見問題處理
1、 安裝 hive、Impala 組件時,需要 mysql 源數據支持,需要新建數據庫并進行賦權操作,
然后重啟數據庫。詳細操作如下:
grant all on . to root@"%" Identified by "root";
service mysqld restart
然后重啟數據庫
在安裝 hive 時無法繼續,查看日志發現如下報錯信息:
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql':
解決辦法:修改密碼后重啟。
mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;//記得要這句話,否則如果關閉先前的終端,又會出現原來的錯
誤。2、 詳細操作安裝 Hive 時,遇到安裝失敗的問題,查看一下日志發現時安裝 Hive 時需要安
裝 JDBC 驅 動 , 所 以 同 樣 我 們 將 Mysql 的 驅 動 包 拷 貝 到
/opt/cloudera/parcels/CDH-5.4.3-1.cdh5.0.0.p0.47/lib/hive/lib/目錄下,之后再繼續安裝就
不會遇到問題了。 3、 使用用 yum 安裝時,無法連接網絡。
解決辦法:在/etc/resolv.conf 中添加 nameserver 8.8.8.8。參考文獻
博客 1:http://www.tuicool.com/articles/ENjmeaY
博客 2:http://m.blog.csdn.net/blog/hjckevin/38873345
社區:http://www.aboutyun.com/thread-8921-1-1.html
impala 官網:
http://www.cloudera.com/content/cloudera/en/documentation/cloudera-impala/latest/topics/impala_install.html