安裝Cloudera Manager(5.12.1)一定要細心,每一步走錯都可能造成最終安裝失敗。
安裝Cloudera Manager(5.12.1)一定要硬件資源充足。
本示例參考了眾多網上資料(放在文末),消耗了1000根白發終于肝出了這篇文章。
安裝包放在了文末,按需下載。
本次安裝共分為四章,可自行查看。
一、安裝cloudera manager
二、安裝CDH和集群
三、常見的問題
四、卸載重裝
步驟分解
- 開始
- 設置固定IP(all)
- 關閉防火墻(all)
- 關閉selinux(all)
- 設置主機名(all)
- 免密(all)
- 時間工具ntp(all)
- ntp同步(server)
- ntp同步(agent)
- 安裝jdk1.8(all)
- 安裝mysql5.6(server)
- 創建scm用戶可庫(server)
- 安裝java-mysql驅動(all)
- 開始安裝cloudera-manager及CDH@@@@@@@@@@@@@@@@@@@@@@@@@@
- 解壓cloudera-manager(all)
- 創建系統用戶cloudera-scm(all)
- 創建模板目錄,把parcel、sha、json放在此目錄(server)
- 創建安裝目錄(all)
- 創建軟連接(all)
- 配置agent的server指向(all)
- 使用CM腳本創建數據庫。如果前面sql初始化了scm就不用這一步(server)
- 修改db配置為scm(server)
- 啟動(很慢)
- 訪問
- 查看啟動日志
開始
共三臺服務器,其中119作為server端,119、120、122作為agent端
ip | 主機名 | 系統 | 安裝類型 |
---|---|---|---|
192.x.x.119 | cdh119 | centos7.9 | server、agent |
192.x.x.120 | cdh120 | centos7.9 | agent |
192.x.x.122 | cdh122 | centos7.9 | agent |
說明:(all)三個節點都要操作,(server)服務端節點操作,(agent)從節點操作
設置固定IP(all)
關閉防火墻(all)
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
關閉selinux(all)
vim /etc/sysconfig/selinux
SELINUX=enforcing 改為 SELINUX=disabled
重啟reboot
查看getenforce
設置主機名(all)
不同主機設置不同名,不要閉眼復制
hostnamectl set-hostname cdh119
vim /etc/sysconfig/network 設置HOSTNAME=cdh119
vim /etc/hosts 添加所有節點
192.x.x.119 cdh119
192.x.x.120 cdh120
192.x.x.122 cdh122
免密(all)
生成密鑰,分發給其他節點
ssh-keygen -t rsa
ssh-copy-id cdh119(此命令第二步輸入提示輸入yes/no,請輸入yes)
ssh-copy-id cdh120
ssh-copy-id cdh122
時間工具ntp(all)
cd /etc/yum.repos.d
把現有的repo文件全部放在一個備份的文件夾里,防止一會yum更新有失效的url
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache fast
yum install ntp
ntp同步(server)
vim /etc/ntp.conf
注釋掉所有的restrict開頭的配置
取消下面這一行注釋,將ip和掩碼改為真實信息:
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap找到server 0.centos.pool.ntp.org iburst,并將所有server配置進行注釋
添加下面兩行內容
server 127.127.1.0
fudge 127.127.1.0 stratum 10
啟動
systemctl restart ntpd
systemctl enable ntpd
查看狀態
ntpq -p
ntp同步(agent)
當主節點reach狀態到達17后,開始配置從節點
vim /etc/ntp.conf
注釋所有restrict和server配置添加server的IP,保存
server 192.x.x.119執行手動同步
ntpdate 192.x.x.119啟動
systemctl restart ntpd
systemctl enable ntpd(或者 systemctl enable ntpd.service)
安裝jdk1.8(all)
選擇Linux x64 rpm版本:我這里選擇了jdk1.8.0_121
https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
卸載openjdk
rpm -qa | grep openjdk
rpm -qa | grep openjdk |xargs rpm -e --nodeps
rpm -qa | grep java
rpm -qa | grep java |xargs rpm -e --nodeps安裝oracle jdk
cd /mnt/storage
rpm -ivh jdk-8u121-linux-x64.rpm添加環境變量 (雖然rpm不需要配環境變量,但保險起見,最好加上)
vim /etc/profile
#java 1.8
export JAVA_HOME=/usr/java/jdk1.8.0_121
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin保存后重載文件
source /etc/profile查看
java -version
echo $JAVA_HOME
如果tar版安裝(一般裝在/usr/local/java),后期安裝CDH集群會找不到JDK報錯,可設置軟連接解決此問題
mkdir -p /usr/java/default(CDH尋找JDK的路徑)
ln -s /usr/local/java/jdk1.8.0_231/* /usr/java/default/
安裝mysql5.6(server)
最好是5.6和Cloudera Manager5.12比較匹配,我第一次裝5.7,最后無論怎么配置Cloudera都連不上
這里我修改了mysql數據路徑,你也可以不改
卸載mysql和mariadb
rpm -qa|grep -i mysql |xargs rpm -e --nodeps
rpm -qa | grep -i mariadb |xargs rpm -e --nodeps
find / -name mysql
find / -name mariadb
找出來之后 rm -rf 刪除安裝mysql5.6
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum -y install mysql-server修改配置
vim /etc/my.cnf注釋掉 symbolic-links=0#修改數據路徑
datadir=/mnt/storage/mysql/data
#socket=/mnt/storage/mysql/mysql.sock(這個不要修改了,不然下面初始化找不到)
log-error=/mnt/storage/mysql/log/mysqld.log
pid-file=/mnt/storage/mysql/pid/mysqld.pid
#修改字符集
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci保存并授權
cd /mnt/storage/mysql
mkdir data log pid
sudo chown -R mysql:mysql /mnt/storage/mysql
sudo chmod -R 750 /mnt/storage/mysql啟動
systemctl status mysqld
systemctl start mysqld
systemctl enable mysqld執行初始引導,我這里設置了密碼123456,遠程連接,刪除測試庫(不會使用自行查閱)
mysql_secure_installation設置完后root依然不能遠程,手動登錄設置(你也可以不設置)
mysql -uroot -p
>mysql:GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
>mysql:FLUSH PRIVILEGES;此時查看root已經可以遠程連接
use mysql;
SELECT User, Host FROM user;
創建scm用戶可庫(server)
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE USER 'scm'@'%' IDENTIFIED BY 'scm';
GRANT ALL PRIVILEGES ON scm.* TO 'scm'@'%';
FLUSH PRIVILEGES;
安裝java-mysql驅動(all)
下載地址:https://downloads.mysql.com/archives/c-j/
拷貝到/usr/share/java/下并重命名
有的說是拷貝到clouder安裝路徑/cm-5.12.1/share/cmf/lib下,我先不用這個路徑
cp mysql-connector-java-5.1.38.jar /usr/share/java/mysql-connector-java.jar
開始安裝cloudera-manager及CDH@@@@@@@@@@@@@@@@@@@@@@@@@@
解壓cloudera-manager(all)
cd /mnt/storage
mkdir cloudera-manager
tar -zxvf cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz -C /mnt/storage/cloudera-manager
創建系統用戶cloudera-scm(all)
useradd --system --home=/mnt/storage/cloudera-manager/cm-5.12.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
創建模板目錄,把parcel、sha、json放在此目錄(server)
mkdir -p /mnt/storage/cloudera/parcel-repo
chown -R cloudera-scm:cloudera-scm /mnt/storage/cloudera/parcel-repo
創建安裝目錄(all)
mkdir -p /mnt/storage/cloudera/parcels
chown -R cloudera-scm:cloudera-scm /mnt/storage/cloudera/parcels
chown -R cloudera-scm:cloudera-scm /mnt/storage/cloudera-manager
創建軟連接(all)
也可以安裝好后在界面修改,我這里沒有執行這一步
mkdir -p /opt/cloudera/parcel-repo
mkdir -p /opt/cloudera/parcels
rm -rf /opt/cloudera/parcel-repo
ln -s /mnt/storage/cloudera/parcel-repo /opt/cloudera/parcel-repo
rm -rf /opt/cloudera/parcels
ln -s /mnt/storage/cloudera/parcels /opt/cloudera/parcels
配置agent的server指向(all)
vim /mnt/storage/cloudera-manager/cm-5.12.1/etc/cloudera-scm-agent/config.ini
將server_host修改為server的主機名(cdh119)
使用CM腳本創建數據庫。如果前面sql初始化了scm就不用這一步(server)
cd /mnt/storage/cloudera-manager/cm-5.12.1/share/cmf/schema
./scm_prepare_database.sh mysql cm1 -hcdh119 -uroot -p123456 --scm-host cdh119 scm scm scm
修改db配置為scm(server)
cd /mnt/storage/cloudera-manager/cm-5.12.1/etc/cloudera-scm-server
vim db.properties com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=cdh119
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.setupType=EXTERNAL
com.cloudera.cmf.db.password=scm
啟動(很慢)
/mnt/storage/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-server start(server)
/mnt/storage/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-agent start(agent)
訪問
http://192.x.x.119:7180/
admin
admin
查看啟動日志
tail -f /mnt/storage/cloudera-manager/cm-5.12.1/log/cloudera-scm-server/cloudera-scm-server.log
tail -f /mnt/storage/cloudera-manager/cm-5.12.1/log/cloudera-scm-agent/cloudera-scm-agent.log
到這里Cloudera Manager算是安裝完畢
下一篇文章介紹CDH安裝以及常見問題
參考文章:
https://zhuanlan.zhihu.com/p/137631403
https://segmentfault.com/a/1190000045320282
https://zhuanlan.zhihu.com/p/658822854
https://blog.csdn.net/lukabruce/article/details/80805929
https://cloud.tencent.com/developer/article/2047067
https://developer.aliyun.com/article/879178
https://blog.csdn.net/weixin_40040107/article/details/91454921
安裝包:
https://pan.baidu.com/s/1ljiVVf7DNziL_ImevWcDbA 提取碼: qnat