一、說(shuō)明
節(jié)點(diǎn)(CentOS7.5) | Server || Agent | CPU |
node11 | Server || Agent | 4G |
node12 | Agent | 2G |
node13 | Agent | 2G |
二、系統(tǒng)環(huán)境搭建
1、網(wǎng)絡(luò)配置(所有節(jié)點(diǎn))
1.設(shè)置主機(jī)名和IP
2.配置/etc/hosts IP和主機(jī)名的映射
2、SSH免密碼登錄
1.產(chǎn)生公鑰和私鑰:ssh-keygen -t rsa (一直回車直即可)
2.將公鑰分發(fā)給所有節(jié)點(diǎn)(包括本機(jī)): ssh-copy-id -i 主機(jī)名
3.測(cè)試ssh訪問: ssh root@主機(jī)名
3、關(guān)閉防火墻
1.關(guān)閉防火墻:systemctl stop firewalld
2.防止開機(jī)自啟:systemctl disable firewalld
3.查看狀態(tài):firewall-cmd –state
4、關(guān)閉SELINUX
1.編輯 vi /etc/selinux/config
2.將SELINUX設(shè)置為:SELINUX=disabled
[root@node11~]# sestatus -v
SELinux status: disabled 表示已經(jīng)關(guān)閉了
5、安裝JDK
1.查看安裝的Java信息:
rpm -qa | grep java
2.卸載自帶open jdk
rpm -e –nodeps 包名
3.創(chuàng)建/usr/java目錄,并上傳包到此目錄下,然后將rpm包解壓到此目錄下
rpm -ivh jdk-8u191-linux-x64.rpm
4.配置環(huán)境變量
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_191
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/sbin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
5.使配置后的環(huán)境變量生效
source /etc/profile
6.查看是否安裝成功
java -version
6、設(shè)置NTP
[root@node11~]#yum -y install ntp 更改master的節(jié)點(diǎn)
[root@node11~]## vi /etc/ntp.conf 注釋掉所有server *.*.*的指向,新添加一條可連接的ntp服務(wù)器(我選的本公司的ntp測(cè)試服務(wù)器)
server 172.30.0.19 iburst 在其他節(jié)點(diǎn)上把ntp指向master服務(wù)器地址即可(/etc/ntp.conf下) server node11 iburst
[root@node11~]## systemctl start ntpd //啟動(dòng)ntp服務(wù)
[root@node11~]## systemctl status ntpd //查看ntp服務(wù)狀態(tài)
7、安裝配置MySql
(主節(jié)點(diǎn)安裝即可–這里將node11作為主節(jié)點(diǎn))
1.卸載mariadb
rpm -qa|grep mariadb
rpm -e –nodeps mariadb的包名
2.上傳MySQL包到自建目錄:/opt/software
3.安裝MySQL
# groupadd mysql # useradd -r -g mysql -s /sbin/nologin mysql #cd /usr/local/ # tar zxvf /root/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz # ln -s mysql-5.7.21-linux-glibc2.12-x86_64/ mysql #cd mysql # mkdir mysql-files # chown -R mysql.mysql . # bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data # cp -rf /etc/my.cnf /etc/my.cnf.old # vim /etc/my.cnf [mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data skip-grant-tables
啟動(dòng)mysql
# bin/mysqld_safe --user=mysql &
# cp support-files/mysql.server /etc/init.d/mysql # chmod a+x /etc/init.d/mysql # chkconfig --add mysql # chkconfig mysql on # service mysql start
設(shè)置root的密碼
mysql> use mysql; mysql> update user set authentication_string=PASSWORD('123456') where User='root'; mysql> alter user root@'localhost' identified by '123456'; //修改密碼
重新初始化
# killall mysqld # rm -rf /usr/local/mysql/data/ # chown -R mysql.mysql /usr/local/mysql # bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data # bin/mysql_ssl_rsa_setup # service mysqld restart
授權(quán)root用戶使用密碼從任意主機(jī)連接到mysql服務(wù)器
GRANT ALL PRIVILEGES ON *.* TO ‘ROOT’@’%’ IDENTIFIED BY ‘1234’ WITH GRANT OPTION;
flush privileges;
三、Cloudera Manager Server&Agent安裝
CM安裝包下載地址: https://archive.cloudera.com/cm5/cm/5/
CDH安裝包下載地址: http://archive.cloudera.com/cdh5/parcels/5.15.0/
1、安裝Cloudera Manager Server&Agent
上傳到/home/tools下 (三臺(tái)機(jī)器都要安裝) tar xvzf cloudera-manager-centos7-cm5.15.0_x86_64.tar.gz -C /opt
2、配置CM Agent
1.cm的安裝包的server和agent都是同一個(gè)包,啟動(dòng)的時(shí)候啟動(dòng)命令指定為server還是agent;
2.cm有一個(gè)工作目錄,需要
我們來(lái)創(chuàng)建;創(chuàng)建一個(gè)用戶;修改agent的配置,給它指定server的位置;那個(gè)端口7182是server和agent通信的端口;
3.server_host配置為server的名字;
vi /opt/cm-5.15.0/etc/cloudera-scm-agent/config.ini 中 server_host(三臺(tái)機(jī)器)
3、創(chuàng)建用戶cloudera-scm(所有節(jié)點(diǎn))
useradd –system –home=/opt/cm-5.15.0/run/cloudera-scm-server/ –no-create-home –shell=/bin/false –comment “Cloudera SCM User” cloudera-scm
4、創(chuàng)建Parcel目錄
創(chuàng)建parcel目錄,這個(gè)目錄是server和agent用來(lái)接收和發(fā)送數(shù)據(jù)的目錄,server端的parcel-repo這個(gè)目錄會(huì)把所有
的安裝文件全部下載到此目錄,而agent也需要安裝包,parcels就是用來(lái)存儲(chǔ)指定的安裝包的,當(dāng)然需要有權(quán)限能操作
這些目錄;
Server節(jié)點(diǎn)
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
Agent節(jié)點(diǎn)
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
把CDH安裝包移到cloudera/parcel-repo下面,并修改其中后綴為sha1的文件為sha,如下
5、配置CM Server的數(shù)據(jù)庫(kù)
cp mysql-connector-java.jar /opt/cm-5.15.0/share/cmf/lib/ 注意jar包名稱要修改為mysql-connector-java.jar

mysql -u root -p123456 use mysql; grant all on *.* to 'root'@'%' identified by 'root' with grant option; flush privileges; 初始化cm數(shù)據(jù)庫(kù): cd /opt/cm-5.15.0/share/cmf/schema/ ./scm_prepare_database.sh mysql cm -h node11 -uroot -p123456 --scm-host node11 scm scm scm 格式:數(shù)據(jù)庫(kù)類型、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)服務(wù)器、用戶名、密碼、cm server服務(wù)器

創(chuàng)建其他組件需要的數(shù)據(jù)庫(kù)
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
6、啟動(dòng)CM Manager&Agent服務(wù)
先確保啟動(dòng)了mysql service mysqld start
node11:執(zhí)行 /opt/cm-5.15.0/etc/init.d/cloudera-scm-server start
node11,12,13: 執(zhí)行 /opt/cm-5.15.0/etc/init.d/cloudera-scm-agent start
service服務(wù)啟動(dòng)需要幾分鐘,取決于服務(wù)器的性能,此時(shí)我們可以使用
netstat -apn|grep 7180
查詢端口被占用后,就可以用瀏覽器打開http://node11:7180/進(jìn)行訪問了,登錄用戶名與密碼分別為admin。
7、Server&Agent開機(jī)自啟動(dòng)服務(wù)
將/opt/cm-5.15.0/etc/init.d/目錄下的cloudera-scm-server服務(wù)器啟動(dòng)腳本和cloudera-scm-agent代理服務(wù)啟動(dòng)腳本復(fù)制到/etc/init.d/目錄下面。(/etc/init.d/目錄用于存放開機(jī)啟動(dòng)腳本的目錄)

//配置server主節(jié)點(diǎn)node11 [root@node11 ~]# cp /opt/cm-5.15.0/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server [root@node11 ~]# chkconfig --add cloudera-scm-server [root@node11 ~]# chkconfig cloudera-scm-server on [root@node11 ~]# vi /etc/init.d/cloudera-scm-server CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default} 修改為 CMF_DEFAULTS=${CMF_DEFAULTS:-/opt/cm-5.15.0/etc/default} #你的cloudera manager安裝目錄,然后保存???出即可。 添加:export JAVA_HOME=/usr/local/java/jdk1.8 #你的java安裝目錄 [root@node11 ~]# chkconfig --list cloudera-scm-server //然后查看狀態(tài),如果2-5顯示開啟表示配置成功。 [root@node11 ~]# service cloudera-scm-server start & systemctl start cloudera-scm-server.service
//配置agent所有節(jié)點(diǎn),node11,node12,node13 [root@node11 ~]# cp /opt/cm-5.15.0/etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent [root@node11 ~]# chkconfig --add cloudera-scm-agent [root@node11 ~]# chkconfig cloudera-scm-agent on [root@node11 ~]# vi /etc/init.d/cloudera-scm-agent CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default} 修改為 CMF_DEFAULTS=${CMF_DEFAULTS:-/opt/cm-5.15.0/etc/default} 添加:export JAVA_HOME=/usr/local/java/jdk1.8 #你的java安裝目錄 [root@node11 ~]# service cloudera-scm-agent start & systemctl start cloudera-scm-agent.service

四、CDH5安裝
下一步,選擇免費(fèi)版本
繼續(xù),下一步,直到如下界面,可以在當(dāng)前管理的主機(jī)列表中看到對(duì)應(yīng)的節(jié)點(diǎn)。選擇要安裝的節(jié)點(diǎn),這里我選擇全部節(jié)點(diǎn),繼續(xù)。
選擇自己下載的CDH版本,點(diǎn)擊繼續(xù)
接下來(lái)是安裝Parcel,服務(wù)器檢查,
更改交換空間:
echo 10 > /proc/sys/vm/swappiness
如下禁用此設(shè)置,然后將同一命令添加到 /etc/rc.local 等初始化腳本中,以便在系統(tǒng)重啟時(shí)予以設(shè)置。以下主機(jī)將受到影響:
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
重新運(yùn)行檢測(cè),
全部完成,點(diǎn)擊完成,這里選擇自定義安裝
服務(wù)配置,一般情況下保持默認(rèn)就可以了,也可以自己手動(dòng)根據(jù)節(jié)點(diǎn)情況進(jìn)行分配,點(diǎn)擊繼續(xù)
測(cè)試如下數(shù)據(jù)庫(kù)連接
這里啟動(dòng)hive報(bào)錯(cuò)找不到mysql連接驅(qū)動(dòng)包,靠備一份 mysql-connector-java.jar 到 /opt/cloudera/parcels/CDH-5.15.0-1.cdh5.15.0.p0.21/lib/hive/lib/下面
點(diǎn)擊繼續(xù),默認(rèn)集群設(shè)置,直到安裝成功.