CDH从6.3.3版开始不再免费,包括之前的安装包都需要会员下载。6.3.2及以下版本可免费使用但无法免费下载,大家如有需要可联系我索取安装包
1、配置服务器系统基础环境
2、配置本地仓库
3、安装数据库
4、安装CM
5、添加大数据服务
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去监控起来。
一、所有节点安装前的系统准备设置
- 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可以看我另外一篇
看到这里点个赞吧,如遇安装问题可随时私信我~