文章目录
1.文档编写的目的
安装CDH集群及相关安装配置记录。
2.集群配置服务器说明
本次安装共申请了6台服务器,分别用于管理节点、计算节点和边缘节点,
服务器列表如下:
IP地址 | HOSTNAME | 说明 |
---|---|---|
172.xx.xx.13 | qitv3668 | CM NameNode |
172.xx.xx.14 | qitv3669 | NameNode |
172.xx.xx.15 | qitv3670 | Edge Node |
172.xx.xx.16 | qitv3671 | DataNode |
172.xx.xx.20 | qitv3666 | DataNode |
172.xx.xx.22 | qitv3667 | DataNode |
服务器OS版本RedHat7.6
3.前置准备
前置操作参考《CDH6.3.3详细部署》
建立CM,Hive等需要的表
MariaDB [(none)]> create database metastore default character set utf8;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> CREATE USER 'hive'@'%' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON metastore. * TO 'hive'@'%';
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> create database cm default character set utf8;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> CREATE USER 'cm'@'%' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cm. * TO 'cm'@'%';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> create database rm default character set utf8;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> CREATE USER 'rm'@'%' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON rm. * TO 'rm'@'%';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> create database hue default character set utf8;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> CREATE USER 'hue'@'%' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON hue. * TO 'hue'@'%';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> create database oozie default character set utf8;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> CREATE USER 'oozie'@'%' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON oozie. * TO 'oozie'@'%';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> create database ranger default character set utf8;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> CREATE USER 'rangeradmin'@'%' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON ranger. * TO 'rangeradmin'@'%';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
4.Cloudera Manager安装
4.1 配置本地repo源
1、将Cloudera Manager安装需要的6个rpm包以及一个asc文件下载到本地,放在同一目录,执行createrepo命令生成rpm元数据。
createrepo .
2、验证浏览器能否正常访问
http://172.xx.xx.13/cm7.14-el7/
4.2 制作Cloudera Manager的repo源
#cd /etc/yum.repos.d/
#vim cm.repo
[cmrepo]
name = cm_repo
baseurl = http://172.xx.xx.13/cm7.1.4-el7
enable = true
gpgcheck = false
yum repolist
4.3 验证安装JDK
yum -y install openjdk8-8.0+232_9-cloudera
4.4 安装Cloudera Manager Server
1、通过yum安装Cloudera Manager Server
yum -y install cloudera-manager-server
2、初始化数据库
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql cm cm password
3、 启动Cloudera Manager Server
systemctl start cloudera-scm-server
systemctl status cloudera-scm-server
4、检查端口是否监听
netstat -lnpt | grep 7180
5、通过http://172.xx.xx.13:7180/cmf/login访问CM
注意:完全启动成功需要几分钟时间。
5 CDH安装
CDH安装操作参考《CDH6.3.3详细部署》
6 安装Ranger服务
CDP版本之后集群的权限控制是用Ranger来管理的,它的功能比Sentry更加强大,控制权限的粒度也更精细。Ranger可通过界面化的操作来给用户赋权。
1、在MySQL的配置文件/etc/my.cnf中添加如下内容
innodb_file_per_table = ON
innodb_file_format = Barracuda
innodb_large_prefix = ON
2、完成修改后重启MySQL数据库
systemctl restart mariadb
注意:该步操作主要是为了解决Ranger初始化元数据库时索引长度超过默认值的问题,指定 innodb_large_prefix参数的同时必须指定innodb_file_per_table和innodb_file_format参数。
3、在MySQL数据库中为Ranger创建元数据库
create database ranger default character set utf8;
CREATE USER ‘rangeradmin’@‘%’ IDENTIFIED BY ‘password’;
GRANT ALL PRIVILEGES ON ranger.* TO ‘rangeradmin’@‘%’;
FLUSH PRIVILEGES;
不设置log_bin_trust_function_creators参数,会导致rangeradmin启动不了,报错ranger import failed
show variables like ‘%func%’;
set global log_bin_trust_function_creators=1;
5、确保所在Ranger服务所在服务器安装MySQL驱动
6、确保当前集群是已安装Solr
注意:Solr Server安装在DataNode服务所在节点上。
7、选择我们要安装Ranger的Cluster点击“添加服务”菜单
8、自定义角色分配
9、 数据库设置
10、 点击“继续”,输入Ranger的Admin、Usersync、Tagsync以及Database信息(密码为gtmc@123456)
11、点击“继续”,Ranger首次运行生成服务Principal和初始化数据库
12、击“完成”,回到CM主页面
13、重启集群
7 FLink部署
7.1 配置Flink Parcel包
1、 准备Flink1.10.0的csd文件,并放置到Cloudera Manager Server的/opt/cloudera/csd目录。然后重启Cloudera Manager Server服务。(注意jar包的权限)
2、下载Flink1.10.0的parcel并部署到httpd服务的/var/www/html/flink1.10.0目录下
3、 重启Httpd服务完成以后,可以通过页面查找到Flink Parcel包。
4、登录CM,在左侧菜单栏点击“Parcel”按钮,进入Parcles管理界面进行配置
点击“Parcel Repositories & Network Settings”菜单配置Flink的本地parcel库
完成配置后,点击“Save & Verify Configuration”,关闭配置配置界面可以看到Flink的信息
分别进行 “下载、分配、激活”操作,完成后显示如下:
7.2 添加Flink服务
1、进入CM主页点击“添加服务”。
2、选择添加Flink服务,点击继续。
3、选择Flink Dashboard以及Gateway节点,点击继续
4、点击继续
5、 等待Flink 启动成功,完成后点击继续
6、安装完成,点击完成回到CM主页
发现Flink的状态为灰色,CMS有重启提示,按照提示重启CMS服务,重启过程略。重启完成后显示Flink服务正常。
修改Dashboard服务节点,由于在节点端口冲突,将Dashboard端口改为8083
8 集群功能验证
集群服务功能验证参考《CDH6.3.3详细部署》
9 Flink作业验证
hadoop fs -mkdir -p wordcount/input
hadoop fs -rmr wordcount/output
hadoop fs -put wordcount.txt wordcount/input
flink run -m yarn-cluster -yjm 1024 -ytm 1024 /opt/cloudera/parcels/FLINK/lib/flink/examples/streaming/WordCount.jar --input hdfs:///user/cdhadmin/wordcount/input/wordcount.txt --output hdfs:///user/cdhadmin/wordcount/output
任务运行成功
注意:Dashboard显示提交的任务必须要确保有HDFS/Yarn/FLink的Gateway角色才可以