1. 環境
- Centos 7.6
- JDK 1.8
- Scala 2.11.8
- 服務器3台
2. 服務器搭建前環境准備
1.所有節點關閉防火牆
#查看防火牆狀態
firewall-cmd --state
#停止firewall
systemctl stop firewalld.service
#禁止firewall開機啟動
systemctl disable firewalld.service
2.所有節點修改主機名
vim /etc/sysconfig/network
vim /etc/hostname
3.所有節點配置主機名與ip地址映射
vim /etc/hosts
4.所有節點關閉SELINUX
修改配置文件/etc/selinux/config(重啟生效),將SELINUX=enforcing 改為SELINUX=disabled
5.所有節點重啟
reboot
6.所有節點配置ssh免密登錄
-
生成公鑰和私鑰
任意目錄下 ssh-keygen -t rsa , 然后敲 3 下回車,就會在 ~/.ssh 下生成兩個文件 id_rsa(私鑰),id_rsa.pub(公鑰)。 -
將公鑰拷貝到要免密登錄的目標機器上
進入~/.ssh目錄,拷貝公鑰 ssh-copy-id cdh02注意:**ssh 不會攜帶 /etc/profile,但是會攜帶 ~/.bashrc,建議在 ~/.bashrc 內添加 source /etc/profile **
7.所有節點安裝JDK,配置環境變量
8.所有節點安裝Scala,配置環境變量
3. 安裝Mysql
1.卸載系統自帶的相關數據庫
rpm -qa | grep mysql
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
2.部署Mysql
tar -zxvf mysql-5.7.25-el7-x86_64.tar.gz -C /opt/module/
3.賬號與權限
#添加賬號
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
#創建data目錄
mkdir /opt/module/mysql-5.7.25-el7-x86_64/data
#修改權限
chown -R mysql:mysql /opt/module/mysql-5.7.25-el7-x86_64/
4.初始化Mysql,獲取root@localhost的初始密碼
cd /opt/module/mysql-5.7.25-el7-x86_64
./bin/mysqld --initialize --user=mysql --basedir=/opt/module/mysql-5.7.25-el7-x86_64 --datadir=/opt/module/mysql-5.7.25-el7-x86_64/data
5.配置環境變量
vim /etc/profile
source /etc/profile
6.設置開機啟動
#復制開機啟動腳本到系統服務
cp /opt/module/mysql-5.7.25-el7-x86_64/support-files/mysql.server /etc/rc.d/init.d/mysqld
chown mysql:mysql /etc/rc.d/init.d/mysqld
# 修改默認的"basedir"與"datadir"
vim /etc/rc.d/init.d/mysqld
basedir=/opt/module/mysql-5.7.25-el7-x86_64
datadir=/opt/module/mysql-5.7.25-el7-x86_64/data
#添加開機啟動腳本
chkconfig --add mysqld
#3:帶網絡的多用戶,也就是所謂的純字符模式
#5:圖形界面的多用戶模式
chkconfig --level 35 mysqld on
7.設置文件路徑:log && pid && socket
# 日志路徑
mkdir -p /var/log/mysqld
touch /var/log/mysqld/mysqld.log
chown -R mysql:mysql /var/log/mysqld/
# pid路徑
mkdir -p /var/run/mysqld
chown -R mysql:mysql /var/run/mysqld/
# socker路徑
mkdir -p /var/lib/mysqld
chown -R mysql:mysql /var/lib/mysqld/
ln -s /var/lib/mysqld/mysql.sock /tmp/mysql.sock
8.設置my.cnf文件
# 注意"log-error","pid-file"與"socket"的路徑
mkdir -p /opt/module/mysql-5.7.25-el7-x86_64/etc
vim /opt/module/mysql-5.7.25-el7-x86_64/etc/my.cnf
[mysqld]
character-set-server=utf8
max_connections = 3000
log-error=/var/log/mysqld/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/lib/mysqld/mysql.sock
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
default-character-set=utf8
# 軟鏈接
ln -s /opt/module/mysql-5.7.25-el7-x86_64/etc/my.cnf /etc/my.cnf
# 賦權
chown -R mysql:mysql /opt/module/mysql-5.7.25-el7-x86_64/etc/
9.啟動Mysql
# 使用初始化密碼登陸
mysql -uroot -p
set password=password(‘123456‘);
flush privileges;
# 遠程登陸權限
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;
# 查看賬號
select user, host, authentication_string from mysql.user;
4.Cloudera Mnanger安裝
CM下載地址:http://archive.cloudera.com/cm5/cm/5/
離線庫下載地址:http://archive.cloudera.com/cdh5/parcels
1.所有節點下載第三方依賴
yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
2.創建CM需要的數據庫
--集群監控數據庫
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
--hive數據庫
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
--oozie數據庫
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
--hue數據庫
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
3.解壓 cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz (在cdh01上)
mkdir /opt/module/cloudera-manager
tar -zxvf /opt/software/cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz -C /opt/module/cloudera-manager/
4.創建用戶cloudera-scm(所有節點)
useradd --system --home=/opt/module/cloudera-manager/cm-5.16.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
# --system 創建一個系統賬戶
# --home 指定用戶登入時的主目錄,替換系統默認值/home/<用戶名>
# --no-create-home 不要創建用戶的主目錄
# --shell 用戶的登錄 shell 名
# --comment 用戶的描述信息
注意:
Cloudera Manager默認用戶為cloudera-scm,創建具有此名稱的用戶是最簡單的方法。 安裝完成后,將自動使用此用戶。
5.配置CM Agent
vim /opt/module/cloudera-manager/cm-5.16.1/etc/cloudera-scm-agent/config.ini
6.配置CM的數據庫
1.拷貝mysql jar文件到目錄 /usr/share/java/
mkdir /usr/share/java/
cp /opt/software/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar /usr/share/java/
#注意jar包名稱要修改為mysql-connector-java.jar
mv /usr/share/java/mysql-connector-java-5.1.27-bin.jar /usr/share/java/mysql-connector-java.jar
2.在mysql中創建cm庫
/opt/module/cloudera-manager/cm-5.16.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hcdh01 -uroot -p123456 --scm-host cdh01 scm scm scm
## -h:Database host
## -u:Database username
## -p:Database Password
## --scm-host:SCM server's hostname
7.分發cloudera-manager
scp -r /opt/module/cloudera-manager/ cdh02:/opt/module/
scp -r /opt/module/cloudera-manager/ cdh03:/opt/module/
8.創建Parcel-repo 目錄(cdh01)
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
cp /opt/software/CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel /opt/cloudera/parcel-repo/
cp /opt/software/CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha /opt/cloudera/parcel-repo/
cp /opt/software/manifest.json /opt/cloudera/parcel-repo/
9.在Agent 節點(cdh01,cdh02,cdh03)創建目錄/opt/cloudera/parcels
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
10.分發Parcel-repo
scp -r /opt/cloudera/ cdh02:/opt/
scp -r /opt/cloudera/ cdh03:/opt/
11.啟動和關閉CM Server&Agent 服務
服務節點:cdh01
/opt/module/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-server start
工作節點:cdh01,cdh02,cdh03
/opt/module/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-agent start
注意:啟動過程非常慢,Manager 啟動成功需要等待一段時間,過程中會在數據庫中創建對應的表需要耗費一些時間。