product of大數據平臺搭建------CM 和CDH安裝

 

1、安裝說明

      CM是由cloudera公司提供的大數據組件自動部署和監控管理工具,相應的和CDH是cloudera公司在開源的hadoop社區版的基礎上作了商業化的封裝的大數據平臺。java

       採用離線安裝模式,雖然在線安裝比較簡單,可是速度感人,緣由你們都懂,這裏我使用的各軟件版本信息爲:node

操做系統:CentOS6.8mysql

CDH版本:5.7.1:CDH-5.7.1-1.cdh5.7.1.p0.11-el5.parcel.shalinux

                           CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcelweb

                           manifest.jsonsql

 

二 、系統環境部署

 

 

2.1 在全部節點上部署網絡環境

vim /etc/hosts數據庫

 

 

**注意127.0.0.1對應的node2要刪掉,不然後面mysql的登陸會有問題json

2.2 關閉防火牆和SELINUX

 

關閉防火牆vim

暫時關閉緩存

service iptables stop

永久關閉

chkconfig iptables off

關閉SELINUX

臨時關閉

setenforce 0

永久關閉

vim /etc/selinux/config

   修改SELINUX=enforcing 改成 SELINUX=disabled

 

2.3 安裝JDK(這部就很少BB了)

2.4 設置時間同步

全部節點安裝NTP

yum install ntp

配置開機自動啓動

chkconfig ntpd on

檢查是否開啓成功

chkconfig --list ntpd(2-5爲on則開啓成功)

設置同步

ntpdate -u ntp.sjtu.edu.cn

 

**遇到問題noserver suitable for synchronization found

**解決方案:cmd裏輸入nslookup cn.pool.ntp.org,找到ping的通的IP,將這個IP地址替換到ntpdata -u後面

 

 

2.5 配置本地yum源或者第三方yum源

 

將xxxx.repo拷貝到各臺機器的/etc/yum.repo.d下(這裏的repo是公司本身部署的,我就直接拿過來用了)

清理元數據緩存

yum clean all

從新創建元數據緩存

yum makecache

2.6 在管理節點上安裝mysql

 

 

安裝mysql的yum源

rpm -ivh

http://repo.mysql.com/yum/mysql-5.5-community/el/6/x86_64/mysql-community-release-el6-5.noarch.rpm

修改安裝好的yum源

vim /etc/yum.repos.d/mysql-community.repo

   將5.5的enabled改成1,5.6的enabled改成0

安裝mysql

yum install mysql-server

添加自啓動

啓動mysql

修改root密碼

進入mysql

chkconfig mysqld on

service mysqld start

mysqladmin -u root password '123456'

mysql -uroot -p123456

2.7 在mysql中建立相關庫並受權

建庫

mysql> create database amon default character set utf8 ;

mysql> create database rman default character set utf8;

mysql> create database metastore default character set utf8;

mysql> create database sentry default character set utf8;

mysql> create database hue default character set utf8;

mysql> create database nav default character set utf8;

mysql> create database navms default character set utf8;

mysql> create database oozie default character set utf8;

受權

mysql> grant all privileges on amon.* to 'amon'@'192.168.%' identified by 'amon';

mysql> grant all privileges on hue.* to 'hue'@'192.168.%' identified by 'hue';

mysql> grant all privileges on rman.* to 'rman'@'192.168.%' identified by 'rman';

mysql> grant all privileges on metastore.* to 'hive'@'192.168.%' identified by 'hive';

mysql> grant all privileges on sentry.* to 'sentry'@'192.168.%' identified by 'sentry';

mysql> grant all privileges on nav.* to 'nav'@'192.168.%' identified by 'nav';

mysql> grant all privileges on navms.* to 'navms'@'192.168.%' identified by 'navms';

mysql> grant all privileges on oozie.* to 'oozie'@'192.168.%' identified by 'oozie';

mysql> flush privileges;

2.8 添加cmadmin用戶(可選)

 

各臺機器上添加cmadmin用戶

groupadd cmadmin

useradd cmadmin -g cmadmin

passwd cmadmin(cmadmin123.)

分別添加sudo權限

visudo

   cmadmin  ALL=(ALL)     ALL

切換到cmadmin用戶

su cmadmin

2.9 配置SSH免密鑰登陸(可選)

 

Ssh免祕鑰設置

注意調整/etc/hosts.all中的sshd訪問權限,增長cm server的ip

sshd:192.168.8.20#cloudera manager server's ip

切換到cmadmin用戶,執行下面命令

全部機器

ssh-keygen -t rsa

管理端

ssh-keygen -t rsa

cat ~/.ssh/id_rsa.pub  >> ~/.ssh/authorized_keys

chmod 600 .ssh/authorized_keys

scp -P 20022 ~/.ssh/authorized_keys

 cmadmin@tk-dat-hadoop179:~/.ssh/(根據具體ip變化)

 

 

3、Cloudera Manager安裝

 

 

3.1 安裝CM

sudo yum install cloudera-manager-daemons cloudera-manager-server --enablerepo=jjmatch //這裏的repo是剛纔配置的本地yum源

3.2 建立臨時初始化cloudera manager server數據庫的帳號

(node2替換爲主機名)

mysql -uroot -p123456

    grant all privileges on *.* to 'temp'@'node2' identified by 'temp' with grant option;

    grant all privileges on *.* to scm@'node2' identified by scm with grant option;

 

3.3 初始化Manage server的數據庫配置

/usr/share/cmf/schema/scm_prepare_database.sh mysql -h node2 -utemp -ptemp --scm-host node2 scm scm scm

*****問題1:提示找不到JAVA_HOME

故障緣由:CM server找不到javahome

解決方案:將/usr/share/cmf/schema/scm_prepare_database.sh打開,在對應java版本的java_home_candidates里加上本機的java_home位置

 

 

*****問題2:mysql一直提示Accessdenied for user 'root'@'node2

故障緣由:hosts文件中的地址解析和mysql有衝突

解決辦法:刪除host文件中主機名對應的IP,重裝mysql或在其餘機器上安裝mysql。

成功界面

 

3.4 啓動cloudera manager server服務

sudo service cloudera-scm-server start

3.5 Cloudera manager agent安裝(全部節點):

yum  -y install cloudera-manager-agent cloudera-manager-daemons

3.6 準備parcels(parcels是cm能識別的cdh安裝包):

一、從網上下載相關parcels至manager機器上的parcels目錄(默認是/opt/cloudera/parcel-repo)

二、打開manifest.json文件,找到"parcelName":"CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel"對應的hash值(e24f56882ecdcf6837636abc8298c629c0f9d109),並將它複製下來,將CDH-5.4.3-1.cdh5.4.3.p0.6-el6.parcel.sha1 重命名爲

CDH-5.4.3-1.cdh5.4.3.p0.6-el6.parcel.sha

mv CDH-5.4.3-1.cdh5.4.3.p0.6-el6.parcel.sha1 CDH-5.4.3-1.cdh5.4.3.p0.6-el6.parcel.sha

三、而後打開CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel,把複製的hash值替換掉裏面的值,正常狀況下這個文件裏的hash值是一致的。這樣,本地源製做就完成了。

*****問題1:web頁面找不到我所下載版本parcel包

故障緣由:一、parcel包與parcel.sha1包對應的文件名不同,一個是el5,一個是el6

                二、沒看清楚安裝文檔,直接將mainfest.json中最末尾的hash值複製到parcel.sha中,應該是找到版本對應的hash值
 

4、經過CM安裝CDH

 

4.1 登陸控制檯,找到對應的主機和parcel安裝包

    開始登錄clouderamanager管理控制檯http://192.168.159.11:7180(cloudera manager server所在主機ip:7180)

    初始帳號:amdin  密碼:admin,選擇Express版本,指定主機的時候,輸入本身的機器的網段192.168.159.[11-13]。

  選擇本身提早下載好的parcel包對應的版本。   

 

*****問題1:在本頁面中找不到「當前管理的主機」的Tab欄,

故障緣由:沒有在agent中配置server的主機名

解決辦法:在/etc/cloudera-scm-agent/config.ini中配置CM的主機名,此處改爲node2.

 

4.2 正式開始安裝CDH

JDK安裝

不勾選,使用咱們以前安裝好的jdk,點擊繼續

單用戶模式

不勾選,點擊繼續

SSH憑據

爲系統提供ssh密碼,點擊繼續

 

*****問題1:node4沒法接收Agent發出的檢測信號,

故障緣由:node4上的hosts文件中的127.0.0.1對應的node4沒有刪除

解決辦法:刪除hosts文件中對應的node4

 

點擊繼續

 

*****問題1:檢查器在node[3-4]上未啓動

故障緣由:clouderamanager 不會自動去系統環境變量裏尋找jdk,而會用本身的bigtop管理jdk

解決辦法:修改/usr/lib64/cmf/service/common/cloudera-config.sh中對應版本的jdk_candidates,添加本身安裝的jdk

*****注意:路徑前有斜槓,千萬不要漏掉!千萬不要漏掉!千萬不要漏掉!以前漏掉了一次,排查了很久

 

****問題2:Cloudera建議將 /proc/sys/vm/swappiness 設置爲 0

# vi /etc/sysctl.conf

   vm.swappiness = 0

 

*****問題3:已啓用「透明大頁面

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

echo never > /sys/kernel/mm/transparent_hugepage/defrag(暫時生效)

vim /etc/rc.local(將上面兩行添加進來,永久生效)

4.2 選擇組件

 

注意zookeeper至少三臺,其餘設置保持默認便可,一路下一步

5、添加其餘大數據組件

 

5.1 選擇要添加的組件

 

5.2 分配角色

 

6、總結

    一個如此簡單的平臺部署工做,對於我這個新手來講卻折騰了大半天,一些經常使用的linux命令也不熟悉,各個文件的默認安裝目錄也不知道,什麼事都要問百度,CDH和CM解決了大規模的集羣的部署工做,簡化了無數的手工操做,簡直是中小公司快速部署大數據集羣的福音,官方文檔也十分詳盡,裏面有數不清的寶藏,你們有空能夠多去看看,就當練習英語了均可以。可是CDH被詬病的地方也是其中各個組件的版本綁定太厲害,對於定製化開發需求很大的公司來講,是一個不能忍受的弊端。

 

https://blog.csdn.net/sinat_32176947/article/details/79591583

相關文章
相關標籤/搜索