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
端口启动说明启动成功,访问页面
http://node01:7180