Cloudera(CDH)簡介
一、准備環境
1、4台虛擬機,8核32G,1T硬盤
2、關閉所有節點的selinux
vi /etc/selinux/config 將SELINUX=enforcing改為SELINUX=disabled 設置后需要重啟才能生效,現在先不要重啟機器
3、設置所有節點的hosts文件
[root@localhost ~]# echo "192.168.2.180 node0">> /etc/hosts [root@localhost ~]# echo "192.168.2.181 node1">> /etc/hosts [root@localhost ~]# echo "192.168.2.182 node2">> /etc/hosts [root@localhost ~]# echo "192.168.2.183 node3">> /etc/hosts [root@node0 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.2.180 node0 192.168.2.181 node1 192.168.2.182 node2 192.168.2.183 node3
4、關閉所有節點的防火牆和清空防火牆規則鏈
# systemctl stop firewalld
# systemctl disable firewalld
# iptables -F
5、關閉所有節點的selinux
[root@localhost ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
重啟服務器
# reboot
6、設置所有節點的時區一致及時鍾同步

添加內容如下:
#添加一個網段 restrict 192.168.2.254 mask 255.255.255.0 nomodify notrap #time 設置時間同步服務器 server 0.asia.pool.ntp.org server 1.asia.pool.ntp.org server 2.asia.pool.ntp.org server 3.asia.pool.ntp.org #當外部時間不可用時,可使用本地硬件時間 server 127.127.1.0 iburst #local clock
開啟ntpd及查看狀態
[root@node0 ~]# systemctl start ntpd
[root@node0 ~]# systemctl status ntpd
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2020-07-21 23:08:36 CST; 4s ago
Process: 3209 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 3210 (ntpd)
CGroup: /system.slice/ntpd.service
└─3210 /usr/sbin/ntpd -u ntp:ntp -g
Jul 21 23:08:36 node0 ntpd[3210]: proto: precision = 0.105 usec
Jul 21 23:08:36 node0 ntpd[3210]: 0.0.0.0 c01d 0d kern kernel time sync enabled
Jul 21 23:08:36 node0 ntpd[3210]: ntp_io: estimated max descriptors: 1024, initial socket boundary: 16
Jul 21 23:08:36 node0 ntpd[3210]: Listen and drop on 0 v4wildcard 0.0.0.0 UDP 123
Jul 21 23:08:36 node0 ntpd[3210]: Listen and drop on 1 v6wildcard :: UDP 123
Jul 21 23:08:36 node0 ntpd[3210]: Listen normally on 2 lo 127.0.0.1 UDP 123
Jul 21 23:08:36 node0 ntpd[3210]: Listen normally on 3 ens192 192.168.2.180 UDP 123
Jul 21 23:08:36 node0 ntpd[3210]: Listen normally on 4 lo ::1 UDP 123
Jul 21 23:08:36 node0 ntpd[3210]: Listen normally on 5 ens192 fe80::664e:b20e:244f:99bd UDP 123
Jul 21 23:08:36 node0 ntpd[3210]: Listening on routing socket on fd #22 for interface updates
[root@node0 ~]# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== y.ns.gin.ntt.ne .INIT. 16 u - 64 0 0.000 0.000 0.000 ntp.hkg10.hk.le .INIT. 16 u - 64 0 0.000 0.000 0.000 111.230.189.174 .INIT. 16 u - 64 0 0.000 0.000 0.000 LOCAL(0) .LOCL. 5 l - 64 0 0.000 0.000 0.000
設置開機自啟動
# systemctl enable ntpd
其他從節點啟用ntpd服務
由於是新安裝的服務,默認是不啟動的。
# systemctl start ntpd
# systemctl enable ntpd
node1、node2、node3分別同步node0的時間
# ntpdate node0
設置node1、node2、node3每天凌晨同步node0節點時間的計划任務
# echo "00 00 * * * /usr/sbin/ntpdate node0 >/dev/null &" >> /var/spool/cron/root
# crontab -l
7、每個節點部署JDK【Java的路徑必須放在/usr/java下】
# mkdir /usr/java
# tar -xzvf jdk-8u181-linux-x64.tar.gz -C /usr/java/
# chown -R root:root /usr/java/jdk1.8.0_181
# echo "export JAVA_HOME=/usr/java/jdk1.8.0_181" >> /etc/profile
# echo "export PATH=/usr/java/jdk1.8.0_181/bin:${PATH}" >> /etc/profile
# source /etc/profile
# which java
8、MySQL數據庫相關操作
創建CDH的元數據庫和用戶、amon服務的數據庫及用戶
[root@mysql5 ~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1800190 Server version: 5.7.27 MySQL Community Server (GPL) Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database cmf DEFAULT CHARACTER SET utf8; Query OK, 1 row affected (0.00 sec) mysql> create database amon DEFAULT CHARACTER SET utf8; Query OK, 1 row affected (0.00 sec) mysql> create user 'cmf' identified by 'Cnbisoft@123'; Query OK, 0 rows affected (0.00 sec) mysql> create user 'amon' identified by 'Cnbisoft@123'; Query OK, 0 rows affected (0.00 sec) mysql> grant all on cmf.* to 'cmf'; Query OK, 0 rows affected (0.00 sec) mysql> grant all on amon.* to 'amon'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
9、node0節點部署MySQL jdbc jar
# mkdir -p /usr/share/java/
# mv mysql-connector-java-5.1.47.jar /usr/share/java/mysql-connector-java.jar
二、CDH部署
1、離線部署cm server 及agent
所有節點創建目錄及解壓
# mkdir /opt/cloudera-manager
# tar -xzvf cm6.3.1-redhat7.tar.gz -C /opt/cloudera-manager/
2、選擇node0為cm server,不下載依賴包直接部署
[root@node1 x86_64]# rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm --nodeps --force warning: cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID b0b19c9f: NOKEY Preparing... ################################# [100%] Updating / installing... 1:cloudera-manager-daemons-6.3.1-14################################# [100%] ( 10%) [root@node1 x86_64]# [root@node1 x86_64]# [root@node1 x86_64]# [root@node1 x86_64]# rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm --nodeps --force warning: cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID b0b19c9f: NOKEY Preparing... ################################# [100%] Updating / installing... 1:cloudera-manager-server-6.3.1-146################################# [100%] Created symlink from /etc/systemd/system/multi-user.target.wants/cloudera-scm-server.service to /usr/lib/systemd/system/cloudera-scm-server.service.
3、所有節點(包含node0)為cm agent,不下載依賴包直接部署
4、所有節點修改agent的配置,指向server的節點node0
5、主節點修改server的配置
# vi /etc/cloudera-scm-server/db.properties
# Copyright (c) 2012 Cloudera, Inc. All rights reserved. # # This file describes the database connection. # # The database type # Currently 'mysql', 'postgresql' and 'oracle' are valid databases. com.cloudera.cmf.db.type=mysql # The database host # If a non standard port is needed, use 'hostname:port' #com.cloudera.cmf.db.host=localhost com.cloudera.cmf.db.host=192.168.2.240 # The database name #com.cloudera.cmf.db.name=cmf com.cloudera.cmf.db.name=cmf # The database user #com.cloudera.cmf.db.user=cmf com.cloudera.cmf.db.user=cmf # The database user's password #com.cloudera.cmf.db.password= com.cloudera.cmf.db.password=Cnbisoft@123 # The db setup type # After fresh install it is set to INIT # and will be changed post config. # If scm-server uses Embedded DB then it is set to EMBEDDED # If scm-server uses External DB then it is set to EXTERNAL #com.cloudera.cmf.db.setupType=INIT com.cloudera.cmf.db.setupType=EXTERNAL
6、node1節點部署離線parcel源
安裝httpd服務
# yum install -y httpd
部署離線parcel源
[root@node1 ~]# mv CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel /var/www/html/cdh6_parcel/ [root@node1 ~]# mv CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha1 /var/www/html/cdh6_parcel/CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha [root@node1 ~]# mv manifest.json /var/www/html/cdh6_parcel/ [root@node1 ~]# systemctl start httpd [root@node1 ~]# systemctl enable httpd Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
http://192.168.2.180/cdh6_parcel/

7、node0節點啟動Server
# systemctl start cloudera-scm-server
# cd /var/log/cloudera-scm-server/
[root@node1 ~]# cd /var/log/cloudera-scm-server/ [root@node1 cloudera-scm-server]# ll total 456 -rw-r----- 1 cloudera-scm cloudera-scm 238988 Jul 31 18:55 cloudera-scm-server.log -rw-r----- 1 cloudera-scm cloudera-scm 1297 Jul 31 18:54 cmf-server-nio.log -rw-r----- 1 cloudera-scm cloudera-scm 623 Jul 31 18:54 cmf-server-perf.log
有錯誤就根據錯誤解決,沒有錯誤,等待1min,出現7180端口,表明是成功的。
8、所有節點啟動Agent
# systemctl start cloudera-scm-agent
# systemctl status cloudera-scm-agent
三、接下來,全部Web界面操作
歡迎使用Cloudera Manager
最終用戶許可條款與條件。勾選
歡迎使用Cloudera Manager--您想要部署哪個版本?選擇Cloudera Express免費版本
繼續
BigData
管理當前的主機,繼續
選擇更多選項
添加本地URL庫
自動刷新頁面,顯示CDH
安裝完成
注意:安裝失敗的情況時有發生,經常會出現主機異常錯誤,這是因為虛擬機性能不佳導致的。
我把虛擬機放置在固態硬盤中運行,解決了此問題。
如果沒有條件提高虛擬機的性能,也可以修改最大超時時間。
# vi /etc/cloudera-scm-agent/config.ini
# Maximum time to wait (in seconds) for all metric collectors to finish # collecting data. max_collection_wait_seconds=10.0 # Maximum time to wait (in seconds) when connecting to a local role's # webserver to fetch metrics. metrics_url_timeout_seconds=30.0 # Maximum time to wait (in seconds) when connecting to a local TaskTracker # to fetch task attempt data. task_metrics_timeout_seconds=5.0
檢查群集
繼續
自定義服務,選擇HDFS、Hive、Zookeeper
自定義角色分配
數據庫設置,測試連接
"審核更改"不做任何修改直接繼續
end