CDH从6.3.3版开始不再免费,包括之前的安装包都需要会员下载。6.3.2及以下版本可免费使用但无法免费下载,大家如有需要可联系我索取安装包
安装步骤总览:
1、配置服务器系统基础环境
2、配置本地仓库
3、安装数据库
4、安装CM
5、添加大数据服务
CDH基本架构简述:
CDH主要包括两大组件cm server和cm agent,其中cm server作为CDH的服务管理端通常安装在集群中的一个节点上,cm agent需要安装在所有节点上,所有的cm agent会与cm server通信,向cm server上报数据,并且也会接收来自cm server的指令执行一些任务,说白了cm server就像是司令部,cm agent就是底下的士兵,一切行动要听从cm server的指挥。下面的内容我们暂且将安装cm server的节点称作主节点,其他节点称为子节点,注意并不是只在子节点安装cm agent,主节点也要安装cm agent,因为主节点这个机器也需要cm agent去监控起来。
一、所有节点安装前的系统准备设置
- 设置HOST
vim /etc/hosts
举例
192.168.1.1 test1.test.com
192.168.1.2 test2.test.com
配置所有节点的hosts并分发到所有服务器
2.关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
3.设置SELinux
vim /etc/selinux/config
将SELINUX=enforcing 改为 SELINUX=permissive,或者disable 然后重启服务器,或者执行下面命令:
setenforce 0
4.开启NTP服务(NTP服务是可选的,其他的时间同步方式亦可)
# 安装NTP服务
yum install ntp
# 编辑/etc/ntp.conf 添加NTP时间同步服务地址,如下所示:
server ntp.aliyun.com
把原来的删掉 用阿里的时间服务器或者你自己内网的ntp服务器
# 开启NTP服务
systemctl start ntpd
# 设置自启动
systemctl enable ntpd
# 同步系统时间
ntpdate -u ntp.aliyun.com
# 查看同步状态,如下所示为正确的同步状态
ntpdc -np
remote local st poll reach delay offset disp
=======================================================================
=10.2.1.114 10.5.3.178 4 64 1 0.00203 0.000115 1.39194
=10.5.1.114 10.5.3.178 4 64 1 0.00032 0.000037 1.39194
5.安装java环境
安装java1.8版本都可以,环境统一即可
yum install java-1.8.0-openjdk-devel -y
举例。实际按自己环境的java需求来即可
tar包则可以解压后移到/usr/java/default
然后在/etc/profile里添加
export JAVA_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin
unset KRB5CCAME
6.关闭透明大页
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local
echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >> /etc/rc.local
7.磁盘写进fstab
lsblk -f | egrep '\/[a-z]+' | awk '{print "UUID="$(NF-1)"\t"$NF"\t"$(NF-2)"\t""defaults,noatime""\t""0 0"}'| sort -k2 >> /etc/fstab
二、安装Cloudera Manager (CM)
1.安装CM服务
# 在主节点安装cloudera agent和cloudera server
yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server -y
# 在其他子节点安装cloudera agent
yum install cloudera-manager-daemons cloudera-manager-agent -y
2.安装数据库(最好将数据库安装在主节点或者单独节点)
# 检查系统是否自带mysql,如果有需要卸载(最好用yum remove卸载)
rpm -qa |grep mysql
rpm -qa |grep MySQL
rpm -qa |grep mariadb
# 安装mysql
解压压缩包
yum -y localinstall mysql-community-*.el7.x86_64.rpm
# 如果安装server时候报缺少net-tools的错,则需要先安装下net-tools
yum install net-tools -y
# 如果安装server时候报缺少libaio.so.1,需要先安装libaio
yum install libaio -y
# 如果缺少libmysqlclient.so.18,可以执行下面2条命令
$ 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
$ rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm
# 主节点查看mysql服务状态,开启后的状态如下所示
systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: inactive (dead)
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
# 主节点启动mysql
systemctl start mysqld
# 开启后查看随机密码
cat /var/log/mysqld.log | grep 'password'
# 主节点登录mysql测试能否正常使用
mysql -uroot -p随机密码
# 修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
3.在所有节点安装数据库(mysql)驱动
# 所有节点下载mysql驱动(驱动版本要注意兼容你的mysql)
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
# 解压
tar zxvf mysql-connector-java-5.1.46.tar.gz
# 创建数据库驱动存放路径
mkdir -p /usr/share/java/
# 将驱动包解压目录下的驱动jar移动到上面的路径下
cd mysql-connector-java-5.1.46
mv mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar
4.创建大数据服务组件用到的数据库(下面创建了一些常用的)
# 登录mysql
mysql -uroot -p
# 登录后执行下面的sql
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 oozie default character set utf8 default collate utf8_general_ci;
create database hive default character set utf8 default collate utf8_general_ci;
grant all on *.* to 'root'@'%' identified by 'Abcd!234';
flush privileges;
5.在主节点初始化CM数据库
# 初始化cm数据库(密码自己设置)
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql -uroot -p12345 scm scm 12345
# 脚本参数解释
scm_prepare_database.sh 【数据库类型】 -u【数据库登录用户】 -p【数据库登录密码】 【CDH要创建的数据库名称】 【CDH数据库用户名】 【CDH数据库用户密码】
6.安装parcels
标黄的四项 可以找我索取
修改.sha文件名
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
将这四个文件移动到/opt/cloudera/parcel-repo下
在主节点开启cm server
# 开启CM server
systemctl start cloudera-scm-server
查看启动日志,当看到有jetty服务启动成功的提示后,说明cm server已经启动完成(启动时间较长),另外启动日志里有些连接cloudera仓库失败的错误可以忽略
sudo tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
可能会有找不到java的报错 软连接一个java 到 /usr/java 下
比如 ln -s /data/jdk1.8 /usr/java/jdk1.8
#修改cm agent配置,指定cm server的连接地址
vi /etc/cloudera-scm-agent/config.ini
修改server_host=主节点IP
#开启所有节点cm agent
systemctl start cloudera-scm-agent
7.打开CM WEB UI,http://<主节点IP>:7180
开始安装集群
- 进入欢迎页
接受许可
选择安装版本(图例为6.3.3版,没有免费版可选)
进入集群安装
填写集群名称(自定义)
选择主机(在该页不要填写IP去搜索节点,应点击’当前管理的主机‘)
选择当前管理的主机(例子中只用了一个节点部署,所以只显示一个受管理主机)
选择parcel包(画红线部分是检测到的本地parcel包,如果不显示说明没被检测到,可尝试等待刷新页面或回退到欢迎页面重启cm server)
开始向所有节点分发部署安装包
进行安装前环境检查(可以根据检查结果修正环境配置,修正后重新检查并继续)
如果有检查项没通过,需要先修正配置后再次执行检查,直到所有检查项均正常,如果有些配置的的修正涉及到重启服务器等需要停止cm server服务的操作,要先回退到欢迎页面并停止cm server服务,重启完成继续从第一步进行
选择需要安装的大数据服务,这里选择自定义服务,这样可以按需安装
数据服务角色分配(注意要做好角色规划
填写数据库信息(有些大数据服务需要数据库支持,例如hive、oozie等,所以需填写数据库信息)
修改大数据服务相关数据目录路径,例如hdfs、kafka数据目录等
开始安装服务
服务安装完成
如果需要安装kerberos可以看我另外一篇
看到这里点个赞吧,如遇安装问题可随时私信我~