安装CM 6.3.1和CDH 6.3.2
安裝CM 6.3.1和CDH 6.3.2
操作系統(tǒng)要求
在安裝CDH之前,我們來看看平臺對系統(tǒng)有什么樣的要求。通過官方文檔,我們可以看到有5個方面的要求:
- 軟件依賴
- CDH和CM支持的依賴
- 文件系統(tǒng)要求
- nproc配置
- Kudu所要求的nscd
軟件依賴
Python
操作系統(tǒng)帶的Python是支持的(Hue和Spark會有一點(diǎn)問題),但Python 3.0或者更高版本是不兼容的。CDH 6要求OS需要Python 2.7或者更高的版本,而Spark 2需要Python 2.7或者更高版本的支持,但Spark 3只支持Python 3。
Perl
Cloudera Manager是要求Perl的。
python-psycopg2
CM6是依賴python-psycopg2的,Hue依賴更高的python-psycopg2版本。
iproute
CM6需要依賴iproute包。所有運(yùn)行CM agent的節(jié)點(diǎn)都需要這個軟件包。而不同的操作系統(tǒng),對iproute依賴的版本也是不一樣的。
CDH和CM支持的操作系統(tǒng)
注意:
- 所有的CDH節(jié)點(diǎn)都需要在同一個OS的major版本。例如:都是CentOS 7.8或者都是CentOS 7.7。Cloudera建議我們都使用相同的操作系統(tǒng)版本,避免額外的風(fēng)險(xiǎn)。
- Cloudera是不能把CDH集群部署在Docker上的
文件系統(tǒng)要求
CDH支持的文件系統(tǒng)有:ext3、ext4、xfs(CentOS7的默認(rèn)版本)、s3。Kudu要求使用:ext4或者xfs。Linux文件系統(tǒng)默認(rèn)會保存每個文件的訪問時間元數(shù)據(jù),所以讀文件也會寫元數(shù)據(jù),Cloudera建議 /etc/fstab 禁用noattime。
/dev/sdb1 /data1 ext4 defaults,noatime 0
mount -o remount /data1
nproc配置
應(yīng)該確保nproc限制設(shè)置大一點(diǎn),例如:65536或者262144
為Kudu配置nscd
建立使用nscd為Kudu配置DNS域名解析緩存
數(shù)據(jù)庫要求
CM和CDH都嵌入了PostgreSQL數(shù)據(jù)庫,在非生產(chǎn)環(huán)境可以用。但生產(chǎn)環(huán)境不可以使用它,必須要為它配置外部的數(shù)據(jù)庫。要使用與操作系統(tǒng)匹配的數(shù)據(jù)庫版本,MySQL必須要使用UTF-8編碼方式。MySQL 5.7必須安裝MySQL-shared-compact或者M(jìn)ySQL-shared軟件包。CM Agent必須要安裝。
Java版本要求
使用64位的Java版本
準(zhǔn)備工作
安裝Centos 7
安裝網(wǎng)絡(luò)工具: yum install -y net-tools.x86_64 yum install -y wget 安裝VIM編輯器 yum install -y vim當(dāng)前系統(tǒng)默認(rèn)的Python版本為2.7.5
下載包以及規(guī)劃
1、下載CM 6.3.1
2、下載CDH 6.3.2
3、環(huán)境配置
創(chuàng)建安裝用戶
# 添加組 groupadd hadoop # 創(chuàng)建用戶并設(shè)置到組 adduser -g hadoop hadoop -d /home/hadoop -m # 設(shè)置密碼 passwd hadoop sudo授權(quán) vim /etc/sudoers hadoop ALL=(ALL) NOPASSWD: ALL配置域名映射
所有節(jié)點(diǎn)上配置域名映射
sudo vim /etc/hosts 192.168.88.100 cdh6-master 192.168.88.101 cdh6-slave1 192.168.88.102 cdh6-slave2 192.168.88.103 cdh6-slave3配置SSH免密登錄
配置master到其他slave節(jié)點(diǎn)配置免密登錄
# 生成ssh key,一路回車生成 ssh-keygenssh-copy-id hadoop@cdh6-master ssh-copy-id hadoop@cdh6-slave1 ssh-copy-id hadoop@cdh6-slave2 ssh-copy-id hadoop@cdh6-slave3關(guān)閉防火墻
所有節(jié)點(diǎn)關(guān)閉防火墻
# 查看防火墻狀態(tài) sudo firewall-cmd --state sudo systemctl stop firewalld.service sudo systemctl disable firewalld.service關(guān)閉SELINUX
sudo setenforce 0 sudo vim /etc/selinux/config SELINUX=disabled安裝依賴
所有節(jié)點(diǎn)安裝以下依賴
sudo yum install -y bind-utils psmisc libxslt cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs httpd mod_ssl openssl-devel python-psycopg2 MySQL-python /lib/lsb/init-functions libpq.so.5 sudo wget http://www.percona.com/redir/downloads/Percona-XtraDB-Cluster/5.5.37-25.10/RPM/rhel6/x86_64/Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm # 或者直接從本地上傳,然后安裝 sudo rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm安裝NTP
所有機(jī)器安裝NTP服務(wù)
# 安裝 sudo yum -y install ntp # 配置時間服務(wù)器 sudo vim /etc/ntp.conf ## 加入時間服務(wù)器: server 0.asia.pool.ntp.org server 1.asia.pool.ntp.org server 2.asia.pool.ntp.org server 3.asia.pool.ntp.org# 啟動NTP時間服務(wù)器 sudo systemctl start ntpd.service # 設(shè)置NTP開機(jī)自動啟動 sudo systemctl enable ntpd.service安裝JDK
下載地址:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
# 授權(quán)hadoop用戶 /opt擁有者權(quán)限sudo chown -R hadoop /opt配置環(huán)境變量# 上傳JDK壓縮包 sudo mkdir /usr/java sudo tar -xvzf /home/hadoop/jdk-8u181-linux-x64.tar.gz -C /usr/java vim ~/.bash_profile export JAVA_HOME=/usr/java export PATH=$JAVA_HOME/bin:$PATH export JRE_HOME=$JAVA_HOME/jre source /home/hadoop/.bash_profile查看Java版本號:[root@cdh6-master opt]# java -versionjava version "1.8.0_181"Java(TM) SE Runtime Environment (build 1.8.0_181-b13)Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)分發(fā)到另外幾臺服務(wù)器scp -r jdk1.8.0_181/ root@cdh6-slave1:$PWDscp -r jdk1.8.0_181/ root@cdh6-slave2:$PWDscp -r jdk1.8.0_181/ root@cdh6-slave3:$PWDscp /home/hadoop/.bash_profile hadoop@cdh6-slave1:/home/hadoop/scp /home/hadoop/.bash_profile hadoop@cdh6-slave2:/home/hadoop/scp /home/hadoop/.bash_profile hadoop@cdh6-slave3:/home/hadoop/全部加載環(huán)境變量source ~/.bash_profile注意:
- JDK一定要安裝在 /usr/java目錄,否則會報(bào)錯找不到JDK
安裝CDH 6.3 YUM源
sudo curl -o /etc/yum.repos.d/cloudera-manager.repo https://archive.cloudera.com/cm6/6.3.0/redhat7/yum/cloudera-manager.reposudo rpm --import https://archive.cloudera.com/cm6/6.3.0/redhat7/yum/RPM-GPG-KEY-cloudera所有節(jié)點(diǎn)安裝MySQL驅(qū)動
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz# 或者直接從本地上傳# 解壓tar -xvzf mysql-connector-java-5.1.46.tar.gz# 放到指定目錄,一定要改名為mysql-connector-java.jarsudo mkdir -p /usr/share/java/sudo cp mysql-connector-java-5.1.46/mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar# 復(fù)制到每個節(jié)點(diǎn)sudo scp /usr/share/java/mysql-connector-java.jar root@cdh6-slave1:/usr/share/java/sudo scp /usr/share/java/mysql-connector-java.jar root@cdh6-slave2:/usr/share/java/sudo scp /usr/share/java/mysql-connector-java.jar root@cdh6-slave3:/usr/share/java/安裝mysql 5.7
檢查系統(tǒng)自帶的MySQL服務(wù)。
清理機(jī)器上安裝的mariadb
sudo rpm -qa | grep mariadbsudo rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64安裝libaio
sudo rpm -qa | grep libaio# 如果沒有則用yum安裝sudo yum install libaio -y安裝MySQL源
sudo wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpmsudo yum localinstall -y mysql57-community-release-el7-11.noarch.rpmsudo yum repolist enabled | grep "mysql.*-community.*"安裝MySQL
sudo yum install -y mysql-community-server啟動MySQL服務(wù)
sudo systemctl start mysqldsudo systemctl status mysqld# 設(shè)置開機(jī)啟動sudo systemctl enable mysqld# 重載所有修改過的配置文件sudo systemctl daemon-reload查看mysql初始密碼
sudo grep 'temporary password' /var/log/mysqld.log2021-01-17T02:34:12.450842Z 1 [Note] A temporary password is generated for root@localhost: O6uldhGK(F9,修改MySQL密碼要求級別
sudo vim /etc/my.cnf# 添加下面一行plugin-load=validate_password.so validate-password=OFF# 重啟MySQLsudo systemctl restart mysqld修改MySQL密碼
# 用前面的初始密碼登錄到MySQLmysql -uroot -pset password for 'root'@'localhost'=password('123456');創(chuàng)建scm用戶
mysql -uroot -p# 新建scm用戶CREATE USER 'scm'@'%' IDENTIFIED BY '123456';grant all privileges on *.* to root@'%'identified by '123456';grant all privileges on *.* to 'scm'@'%' with grant option;flush privileges;嘗試使用MySQL工具從外部連接,測試是否有效。
創(chuàng)建數(shù)據(jù)庫
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;grant all privileges on *.* to 'scm'@'%' identified by '123456' with grant option;flush privileges;安裝CM
安裝Cloudera Manager Server
在Master節(jié)點(diǎn)上安裝Cloudera Manager Server。
cd /home/hadoop# 上傳cm壓縮包并解壓縮tar -xvzf cm6.3.1-redhat7.tar.gz# 安裝cm daemon、cm servercd /home/hadoop/cm6.3.1/RPMS/x86_64sudo yum -y localinstall cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm cloudera-manager-servercd /opt/cloudera/cm# 查看安裝是否成功rpm -qa | grep cloudera-manager[hadoop@cdh6-master cm]$ rpm -qa|grep cloudera-managercloudera-manager-server-6.3.1-1466458.el7.x86_64cloudera-manager-daemons-6.3.1-1466458.el7.x86_64配置數(shù)據(jù)庫連接
sudo vim /etc/cloudera-scm-server/db.propertiescom.cloudera.cmf.db.type=mysqlcom.cloudera.cmf.db.host=localhostcom.cloudera.cmf.db.name=scmcom.cloudera.cmf.db.user=scmcom.cloudera.cmf.db.setupType=EXTERNALcom.cloudera.cmf.db.password=123456Master執(zhí)行初始化腳本
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm啟動CM Server
sudo systemctl start cloudera-scm-server# 查看狀態(tài)sudo systemctl start cloudera-scm-server查看啟動日志
sudo tail -100f /var/log/cloudera-scm-server/cloudera-scm-server.logSlave節(jié)點(diǎn)安裝Agent
在所有Slave節(jié)點(diǎn)安裝agement
sudo yum localinstall cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm cloudera-manager-agent -y所有Slave節(jié)點(diǎn)修改CM Server地址
sudo vim /etc/cloudera-scm-agent/config.ini# 將server_host修改為CM-Server所在的主機(jī)名server_host=cdh6-master啟動Agent
sudo systemctl start cloudera-scm-agent# 查看agent狀態(tài)sudo systemctl status cloudera-scm-agent查看日志
sudo tail -100f /var/log/cloudera-scm-agent/cloudera-scm-agent.log登錄CM
在window配置域名映射:
http://cdh6-master:7180/cmf/login使用admin/admin登陸
安裝CDH組件
下載CDH安裝包
Master安裝Apache HTTP Server
http server是用來存放Parcel文件的
sudo yum install httpd# 啟動sudo systemctl start httpd# 查看httpd狀態(tài)sudo systemctl status httpd# 創(chuàng)建CDH安裝包庫位置sudo mkdir /var/www/html/cloudera-repos# 將parcel文件和sha1上傳到上面的目錄中[hadoop@cdh6-master cloudera-repos]$ ll總用量 2033428-rw-r--r--. 1 root root 2082186246 1月 17 11:57 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel-rw-r--r--. 1 root root 40 1月 17 11:55 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha-rw-r--r-- 1 root root 33887 1月 17 12:37 manifest.json# 將.sha1后綴名改為.sha[hadoop@cdh6-master cloudera-repos]$ sudo mv CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha[hadoop@cdh6-master cloudera-repos]$ ll總用量 2033392-rw-r--r--. 1 root root 2082186246 1月 17 11:57 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel-rw-r--r--. 1 root root 40 1月 17 11:55 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha測試Apache服務(wù),在瀏覽器中輸入:
http://cdh6-master/cloudera-repos/這樣,其他Agent就可以從Apache Server下載Parcel了。
通過向?qū)О惭b組件
配置CM
1、配置集群名稱為:MyCDH
2、掃描主機(jī)(安裝過CM Agent,且配置正確的服務(wù)器會直接顯示出來)
3、配置本地遠(yuǎn)程Parcel url地址(就是前面的Apache HTTP Server地址)
配置為:http://cdh6-master/cloudera-repos/
4、選擇cdh6.x版本
等待下載Parcel
耐心等待下載、分配、解壓、激活完成。這個過程大概需要(1個小時左右)
1、CM會先將Apache Server上的parcel下載到/opt/cloudera/parcel-repo目錄
[hadoop@cdh6-master parcel-repo]$ ll總用量 2035912-rw-r----- 1 cloudera-scm cloudera-scm 2496640 1月 17 12:39 CDH-5.16.2-1.cdh5.16.2.p0.8-el7.parcel.part-rw-r----- 1 cloudera-scm cloudera-scm 2082186246 1月 17 12:50 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel-rw-r----- 1 cloudera-scm cloudera-scm 41 1月 17 12:50 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha-rw-r----- 1 cloudera-scm cloudera-scm 79610 1月 17 12:51 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.torrent你會發(fā)現(xiàn),CM制作了torrent種子,方便其他agent下載。
2、每個slave從master上下載parcel。
下載過程中如果出現(xiàn):org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC Connection異常。查看日志發(fā)現(xiàn):
2021-01-17 12:53:04,933 INFO JvmPauseMonitor:com.cloudera.enterprise.debug.JvmPauseMonitor: Detected pause in JVM or host machine (e.g. a stop the world GC, or JVM not scheduled): paused approximately 5938ms: no GCs detected.2021-01-17 12:53:29,214 WARN C3P0PooledConnectionPoolManager[identityToken->1hgeickaf4288e9wu8vq|46d8f407]-AdminTaskTimer:com.mchange.v2.async.ThreadPoolAsynchronousRunner: com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@7fdfa5b3 -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!2021-01-17 12:53:29,217 WARN JvmPauseMonitor:com.cloudera.enterprise.debug.JvmPauseMonitor: Detected pause in JVM or host machine (e.g. a stop the world GC, or JVM not scheduled): paused approximately 22360ms: no GCs detected.2021-01-17 12:53:29,602 WARN scm-web-107:org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver: Resolved [org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC Connection] to ModelAndView: materialized View is [com.cloudera.server.web.common.JamonModelAndView$JamonView@6ee3400a]; model is {}2021-01-17 12:53:43,479 INFO JvmPauseMonitor:com.cloudera.enterprise.debug.JvmPauseMonitor: Detected pause in JVM or host machine (e.g. a stop the world GC, or JVM not scheduled): paused approximately 1022ms: no GCs detected.這個問題是由于Full GC,是由于Master內(nèi)存緊張導(dǎo)致。CM會Resolve掉,不必理會。
等待解壓完成。
繼續(xù)配置
選擇安裝需要的組件,此處我安裝了以下幾個組件:
- HDFS
- YARN
- ZK
- Kudu
- Impala
- Hive
- Spark
- Hue
給所有組件分配角色。配置好后,點(diǎn)擊「繼續(xù)」。等待片刻。
配置MySQL元數(shù)據(jù)庫
在MySQL創(chuàng)建一個hive和hue、activity_monitor的數(shù)據(jù)庫,用于存放Hive的元數(shù)據(jù)。
注意:主機(jī)名稱、數(shù)據(jù)庫名、用戶名、密碼都要配置正確。否則需要等待較長時間。
配置Kudu
配置WAL目錄:
1、Kudu Master WAL Directory
/kudu/master/wal2、Kudu Master Data Directories
/kudu/master/data3、Kudu Tablet Server WAL Directory
/kudu/tablet/wal4、Kudu Tablet Server Data Directories
/kudu/tablet/data點(diǎn)擊「繼續(xù)」
等待安裝/啟動完成
到此為止,CM和CDH就已經(jīng)安裝好了。
大家可以根據(jù)實(shí)際情況,來安裝其他的服務(wù),以及對現(xiàn)有運(yùn)行的服務(wù)管理。
所有的安裝資源都已經(jīng)上傳,大家可以關(guān)注我的公眾號,并回復(fù) cdh_6.3.2,自行獲取。
參考鏈接:https://zhuanlan.zhihu.com/p/344970291
參考文獻(xiàn):
https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rgosrequirements.html#c63supportedos
https://www.cnblogs.com/dengbangpan
總結(jié)
以上是生活随笔為你收集整理的安装CM 6.3.1和CDH 6.3.2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cloudera Enterprise
- 下一篇: CDH HUE集成yarn