CDH安裝筆記
安裝CDH我們需要做的幾件事:
溫馨提示:不要一步一步照抄
1 ,選擇centos對應版本的CDH安裝包(我選擇的系統是: centos7,CDH版本為5.16.2)
2,基礎環境配置
3,MySQL安裝
4,CDH 的配置
5,啟動和安裝組件
服務器配置說明
node01 | 50G磁盤 | 6GiB內存 |
---|---|---|
node02 | 50G磁盤 | 4GiB內存 |
node03 | 50G磁盤 | 4GiB內存 |
第一步:CDH下載地址
cloudera-manager | http://archive.cloudera.com/cm5/cm/5/ |
---|---|
CDH5包 | http://archive.cloudera.com/cdh5/parcels |
CDH5hashCode | http://archive.cloudera.com/cdh5/parcels |
CDH manifest.json | manifest.json download |
第二步:基礎環境配置
基礎環境配置需要做的事情
1,每臺服務器配置JDK1.8環境 |
---|
2,設置hostname |
3,域名映射 |
4,更改網絡主機名 |
5,關閉SeLinux |
6,關閉防火墻 |
7,ssh免密域 |
8,Linux內存交換區設置 |
9,NTP時鐘同步 |
10,大透明頁提前解決 |
11,yum安裝CDH需要的依賴包 |
1,配置JDK環境
安裝JDK說明,很多人建議把JDK安裝在 /usr/java/ 目錄下,我在安裝時發現這可能是個錯誤的決定,我建議安裝在其他目錄,通過軟連接的方式應用Java環境到 /usr/java/ 目錄下
我是這么做的:
[圖片上傳失敗...(image-4f8539-1594089803899)]
我把它解壓在了/opt/ 這個目錄下
環境變量配置
JAVA_HOME=/local/java/jdk1.8.0_144
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
出現以下內容表示成功
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
2,設置主機名
hostnamectl set-hostname node01
hostnamectl set-hostname node02
hostnamectl set-hostname node03
主機名 | IP地址 |
---|---|
node01 | 192.168.83.100 |
node02 | 192.168.83.110 |
node03 | 192.168.83.120 |
IP地址和主機名根據自己的需求配置即可
3,配置域名映射
vi /etc/profile
添加以下內容(三臺都要執行)
192.168.83.100 node01
192.168.83.110 node02
192.168.83.120 node03
4,配置網絡主機名
第一臺執行:
配置添加到:/etc/sysconfig/network
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node01
第二臺執行:
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node02
第三臺執行:
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node03
5,關閉SeLinux(三臺都要執行)
vi /etc/selinux/config
#添加或修改(默認為enforcing,改為disabled)
SELINUX=disabled
6,關閉防火墻
查看狀態
systemctl status firewalld.service
#關閉防火請
systemctl stop firewalld.service
#永久關閉(需要執行完關閉命令才能執行)
systemctl disable firewalld.service
7,SSH免密設置
執行生成密鑰命令(一直回車即可):ssh-keygen
分發公鑰(所有主機執行此命令):ssh-copy-id node01
分發公鑰(所有主機執行此命令):ssh-copy-id node02
分發公鑰(所有主機執行此命令):ssh-copy-id node03
8,設置Linux內存交換區
三臺都要執行
echo 10 > /proc/sys/vm/swappiness
編輯 sysctl.conf 文件
vi sysctl.conf
添加或修改(三臺都要執行)
vm.swappiness = 0
9,NTP時鐘同步
server端
在/etc/ntp.conf 中添加以下內容
vi /etc/ntp.conf
中國這邊最活躍的時間服務器 : http://www.pool.ntp.org/zone/cn
server 0.cn.pool.ntp.org
server 0.asia.pool.ntp.org
server 3.asia.pool.ntp.org
Enable public key cryptography.
crypto
允許上層時間服務器主動修改本機時間
restrict 0.cn.pool.ntp.org nomodify notrap noquery
restrict 0.asia.pool.ntp.org nomodify notrap noquery
restrict 3.asia.pool.ntp.org nomodify notrap noquery
外部時間服務器不可用時,以本地時間作為時間服務
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
client:
在/etc/ntp.conf 中添加以下內容
vi /etc/ntp.conf
server 192.168.83.100 prefer
執行同步硬件和系統時間:hwclock --systohc --localtime
10,解決大透明頁問題
三臺都執行:
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
編輯文件:rc.local
vi /etc/rc.local
添加以下內容
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
11,安裝CDH需要的依賴包
三臺都要執行
yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb httpd mod_ssl
第三步:安裝MySQL
卸載centos7自帶的數據庫(三臺都執行)
查找:rpm -qa | grep mariadb*
卸載:yum -y remove mari*
查找:rpm -qa | grep mysql*
卸載:rm -rf /var/lib/mysql/*
下載:
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安裝MySQLyum源:
yum localinstall mysql57-community-release-el7-8.noarch.rpm
檢查是否安裝成功:
yum repolist enabled | grep "mysql.-community."
打印以下內容表示安裝yum成功:
Mysql5.7
Mysqltools
MysqlConnetctors
安裝MySQL服務
yum install mysql-community-server -y
啟動MySQL:systemctl start mysqld.service
查找初始化密碼:grep 'temporary password' /var/log/mysqld.log
登錄到MySQL執行以下內容:
set global validate_password_policy=0;
set global validate_password_mixed_case_count=0;
set global validate_password_number_count=3;
set global validate_password_special_char_count=0;
set global validate_password_length=3;
設置密碼:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your password');
第四步:CDH配置
解壓:cloudera-manager-el6-cm5.12.1_x86_64.tar.gz
所有節點都執行
tar -zxvf cloudera-manager-el6-cm5.16.1_x86_64.tar.gz -C /opt/
創建用戶cloudera-scm(所有節點)
useradd --system --home=/opt/cm-5.16.2/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
配置CM Agent(所有節點)
vi /opt/cm-5.16.2/etc/cloudera-scm-agent/config.ini
修改
server_host=node01
說明:server_host配置是CMserver的節點名稱
配置CM需要的MySQL驅動包
yum install mysql-connector-java
下載完成后會在/usr/share/java目錄下
cp /usr/share/java/mysql-connector-java.jar /opt/cm-5.12.2/share/cmf/lib/
初始化cm庫:
cd /opt/cm-5.16.2/share/cmf/schea/
./scm_prepare_database.sh mysql -h node01 -uroot -p123456 --scm-host node01 scm scm scm
創建數據:
集群監控數據庫
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;
配置parcel
Server節點
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
Agent節點
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
把CDH安裝包移到/opt/cloudera/parcel-repo 下面,并修改其中后綴為sha1的文件為sha
cp CDH* /opt/cloudera/parcel-repo
cp manifest.json /opt/cloudera/parcel-repo
第五步:啟動和安裝組件
server節點執行:
/opt/cm-5.16.2/etc/init.d/cloudera-scm-server start
所有agent節點執行:
/opt/cm-5.16.2/etc/init.d/cloudera-scm-agent start
查看是否啟動成功:
netstat -apn|grep 7180
端口啟動說明啟動成功,訪問頁面