環(huán)境準(zhǔn)備
全部以root用戶操作。
修改每個(gè)機(jī)器的hostname
- vim /etc/hosts
172.16.244.65 clickhouse1
172.16.244.104 clickhouse2
172.16.244.123 clickhouse3
172.16.244.136 clickhouse4
172.16.244.127 clickhouse5
172.16.244.139 clickhouse6
安裝pssh
pssh是一個(gè)python編寫可以在多臺(tái)服務(wù)器上執(zhí)行命令的工具,同時(shí)支持拷貝文件,是同類工具中很出色的。
apt-get install pssh
echo "alias pssh=parallel-ssh" >> ~/.bashrc && . ~/.bashrc
echo "alias pscp=parallel-scp" >> ~/.bashrc && . ~/.bashrc
echo "alias prsync=parallel-rsync" >> ~/.bashrc && . ~/.bashrc
echo "alias pnuke=parallel-nuke" >> ~/.bashrc && . ~/.bashrc
echo "alias pslurp=parallel-slurp" >> ~/.bashrc && . ~/.bashrc
創(chuàng)建hosts.txt,
vim ~/hosts.txt
clickhouse1
clickhouse2
clickhouse3
clickhouse4
clickhouse5
clickhouse6
打通master機(jī)器到slave機(jī)器的ssh
在clickhouse1上執(zhí)行,并一路回車。
ssh-keygen -t dsa
把公鑰拷貝到所有被管理機(jī)中
ssh-copy-id -i clickhouse2
ssh-copy-id -i clickhouse3
ssh-copy-id -i clickhouse4
ssh-copy-id -i clickhouse5
ssh-copy-id -i clickhouse6
測(cè)試ssh是否打通
pssh -h host.txt -i "whoami"
關(guān)閉每臺(tái)機(jī)器的防火墻
pssh -h host.txt -i "apt-get install ufw"
pssh -h host.txt -i "ufw disable"
安裝ntp
pssh -h host.txt -i "apt-get install ntp"
pssh -h host.txt -i "systemctl enable ntp"
編輯clickhouse1的文件 "/etc/ntp.conf"
driftfile /var/lib/ntp/drift
pidfile /var/run/ntpd.pid
logfile /var/log/ntp.log
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
server 127.127.1.0
fudge 127.127.1.0 stratum 10
server ntp.aliyun.com iburst minpoll 4 maxpoll 10
restrict ntp.aliyun.com nomodify notrap nopeer noquery
編輯clickhouse[2-6]的文件 "/etc/ntp.conf"
添加:
server clickhouse1 prefer
開始安裝
添加倉(cāng)庫(kù)
每臺(tái)機(jī)器都需要執(zhí)行下面的命令。
pssh -h host.txt -i "wget https://archive.cloudera.com/cm6/6.3.1/ubuntu1604/apt/archive.key"
pssh -h host.txt -i "apt-key add archive.key"
pssh -h host.txt -i "wget https://archive.cloudera.com/cm6/6.3.1/ubuntu1804/apt/cloudera-manager.list"
pssh -h host.txt -i "mv cloudera-manager.list /etc/apt/sources.list.d/"
pssh -h host.txt -i "apt-get update"
下載安裝包
在線安裝太慢選擇先下載下來,下載這個(gè)地址下面的所有文件:
https://archive.cloudera.com/cm6/6.3.1/ubuntu1804/apt/pool/contrib/e/enterprise/*
# 文件列表
cloudera-manager-agent_6.3.1~1466458.ubuntu1804_amd64.deb 2019-10-11 08:42 9.07MB
cloudera-manager-daemons_6.3.1~1466458.ubuntu1804_all.deb 2019-10-11 08:42 1.15GB
cloudera-manager-server-db-2_6.3.1~1466458.ubuntu1804_all.deb 2019-10-11 08:42 9.51KB
cloudera-manager-server-db_6.3.1~1466458.ubuntu1804_all.deb 2019-10-11 08:42 1.08KB
cloudera-manager-server_6.3.1~1466458.ubuntu1804_all.deb 2019-10-11 08:42 4.77KB
然后放到每臺(tái)機(jī)器的路徑:/var/cache/apt/archives/ 下.
我是先將上面的五個(gè)文件先上傳到clickhouse1上,然后通過pssh在分發(fā)到其他機(jī)器上。分發(fā)命令:
pscp -r -h host.txt /var/cache/apt/archives/cloudera-* /var/cache/apt/archives/
下載parcels文件
wget -c https://archive.cloudera.com/cdh6/6.3.2/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554-bionic.parcel
wget -c https://archive.cloudera.com/cdh6/6.3.2/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554-bionic.parcel.sha1
wget -c https://archive.cloudera.com/cdh6/6.3.2/parcels/manifest.json
將下載下來的CDH-6.3.2-1.cdh6.3.2.p0.1605554-bionic.parcel.sha1 改為 CDH-6.3.2-1.cdh6.3.2.p0.1605554-bionic.parcel.sha
將下載好的這三個(gè)文件分別上傳到每個(gè)服務(wù)器上的路徑: /opt/cloudera/parcel-repo/
# 每個(gè)機(jī)器先創(chuàng)建文件夾
pssh -h host.txt -i "mkdir -p /opt/cloudera/parcel-repo"
我是先將上面的五個(gè)文件先上傳到clickhouse1上,然后通過pssh在分發(fā)到其他機(jī)器上。分發(fā)命令:
pscp -r -h host.txt /opt/cloudera/parcel-repo/* /opt/cloudera/parcel-repo/
安裝JAVA
pssh -h host.txt -i "apt-get install openjdk-8-jdk"
安裝Mysql
安裝在在clickhouse1下,涉及到數(shù)據(jù)的操作都在這下面執(zhí)行,因?yàn)镃loudera Manager Server在clickhouse1下啟動(dòng)。
apt-get install -yq mysql-server mysql-client libmysqlclient-dev libmysql-java
vim /etc/mysql/mysql.conf.d/mysqld.cnf
去掉
bind-address = 127.0.0.1
#初始化mysql 記得更改root密碼
sudo mysql_secure_installation
#創(chuàng)建數(shù)據(jù)庫(kù)并授權(quán)
sudo mysql -h27.0.0.1 -uroot -p
創(chuàng)建CDH依賴的數(shù)據(jù)以及用戶
-- 創(chuàng)建數(shù)據(jù)庫(kù)
-- Cloudera Manager Server
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-- Activity Monitor
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-- Reports Manager
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-- Hue
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-- Hive Metastore Server
CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-- Sentry Server
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-- Cloudera Navigator Audit Server
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-- Cloudera Navigator Metadata Server
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-- Oozie
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
#創(chuàng)建用戶并授權(quán)
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm123456';
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'amon123456';
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'rman123456';
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'hue123456';
GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hive123456';
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY 'sentry123456';
GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'nav123456';
GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'navms123456';
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie123456';
設(shè)置Cloudera Manager數(shù)據(jù)庫(kù)
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm scm123456
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql amon amon amon123456
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql rman rman rman123456
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql hue hue hue123456
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql hive hive hive123456
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql sentry sentry sentry123456
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql nav nav nav123456
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql navms navms navms123456
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql oozie oozie oozie123456
安裝cloudera
每個(gè)機(jī)器都需要執(zhí)行。由于我們提前離線下載好了安裝文件,并放入到了路徑/var/cache/apt/archives/下,所以下面的命令跳過了下載執(zhí)行很快。
pssh -h host.txt -i "apt-get install -yq cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server"
啟動(dòng)
啟動(dòng)cloudera-scm-server
在clickhouse1啟動(dòng)
systemctl start cloudera-scm-server
#查看啟動(dòng)日志,等待Jetty啟動(dòng)完成
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
啟動(dòng)cloudera-scm-agent
編輯每臺(tái)機(jī)器的這個(gè)文件。
vim /etc/cloudera-scm-agent/config.ini
[General]
# Hostname of the CM server.
server_host=clickhouse1
啟動(dòng)cloudera-scm-agent,每臺(tái)機(jī)器都啟動(dòng)
pssh -h host.txt -i "systemctl start cloudera-scm-agent"
#查看啟動(dòng)日志,等待Jetty啟動(dòng)完成
tail -f /var/log/cloudera-scm-agent/cloudera-scm-agent.log
訪問cloudera-manager
- 瀏覽器輸入http://clickhouse1:7180/
- 用戶/密碼:admin/admin
- 按照向?qū)Т罱骸?/li>
- 有問題查看日志解決