本文是在00-服務器搭建基礎之上搭建的
01-cm和cdh環境搭建
- cm是Cloudera Manager,cdh是Cloudera Distributed Hadoop。前者是管理後者的一個平臺,後者是Hadoop的一個發行版本。
1, 關閉selinu
vim /etc/sysconfig/selinux
# SELINUX=enforcing
重啓啓動服務器reboot生效
查看狀態:
/usr/sbin/sestatus -v
2, 安裝依賴包
yum install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb -y
3, cm安裝
3.1, 下載cm相關包和吃的需要的parcels文件
cloudera manager包 :5.7.2 cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz
下載地址:http://archive.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz-
CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel
下載地址:http://archive.cloudera.com/cdh5/parcels/5.7.2/
注意:需要下載parcel文件,sha1文件和manifest.json文件,
3.2, 解壓文件,並分發到每個機器上
# 解壓文件
mkdir /opt/cloudera-manager
tar -zxvf cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz -C /opt/cloudera-manager
imrsync.sh /opt/cloudera-manager/
3.3, 添加用戶cm用戶,linux下直接執行即可
useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
3.4, 修改cm的server服務器配置
注意注意注意:這個server_host是主機的host,所有的agent都需要配置成一樣的哈!!!!
-
vim /opt/cloudera-manager/cm-5.7.2/etc/cloudera-scm-agent/config.ini
# Hostname of the CM server. server_host=centos01
3.5, jdbc的連接依賴
- 下載mysql-connector -java-5.1.26-bin.jar
- 把mysql-connector-java-5.1.26-bin.jar拷貝到/usr/share/java/目錄下,並更改名字爲:mysql-connector-java.jar
mkdir -p /usr/share/java
mv mysql-connector-java.jar /usr/share/java
3.6, 配置CM Server數據庫(應該只在主節點即可)
grant all on *.* to 'cdh'@'%' identified by 'cdh' with grant option;
# 然後到/opt/cloudera-manager/cm-5.7.2/share/cmf/schema目錄下,執行如下命令:
/opt/cloudera-manager/cm-5.7.2/share/cmf/schema/scm_prepare_database.sh mysql cdh -h centos01 -ucdh -pcdh --scm-host centos01 scm scm scm
3.7, 創建Parcel目錄,更改權限等
也就是各種組件的倉庫
-
server節點
mkdir -p /opt/cloudera/parcel-repo chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
-
Agent節點
mkdir -p /opt/cloudera/parcels chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
3.8, 製作CDH本地源
注意注意注意:上面下載的sha1文件需要改名後綴名sha後放到server節點的/opt/cloudera/parcel-repo下目錄下才行哈!!!!只放server 節點即可
把上面下載parcel文件,sha文件和manifest.json文件放到server節點的/opt/cloudera/parcel-repo下
4, cm的啓動
4.1, 在Server節點上開啓server
/opt/cloudera-manager/cm-5.7.2/etc/init.d/cloudera-scm-server start
cm的sever的日誌目錄位置:/opt/cloudera-manager/cm-5.7.2/log/cloudera-scm-server/cloudera-scm-server.log
- 成功後,jps會多處一個main進程,日誌中無報錯
4.2, 在agent節點上開啓agent
/opt/cloudera-manager/cm-5.7.2/etc/init.d/cloudera-scm-agent start
cm的agent的日誌目錄位置:/opt/cloudera-manager/cm-5.7.2/log/cloudera-scm-agent/cloudera-scm-agent.log
4.3, 瀏覽器訪問驗證
- 賬號:admin
- 密碼:admin
4.4, 可能出現的問題
-- 可能出現的問題:
1, 查看日誌報錯是:ImportError: libxslt.so.1: cannot open shared object file: No such file or directory
- 解決辦法:
- 原因是centos缺少庫文件,執行如下命令即可
- yum install krb5-devel cyrus-sasl-gssapi cyrus-sasl-deve libxml2-devel libxslt-devel mysql mysql-devel openldap-devel python-devel python-simplejson sqlite-devel -y
2,如果需要重新安裝,注意刪除mysql庫中的內容哈