CM、cm => ClouderaManager
建议收藏
内容提要:
1.初始资源
2.版本选型
3.环境和安装包
3.1 部署方式
3.2 CM安装包
3.3 Parcel包
3.4 JDK部署
3.5 MySQL安装部署
3.6 mysql-connector-java.jar
3.7 确认操作系统版本
4.CM部署步骤
4.1 JDK和MySQL安装部署(略)
4.2 统一hosts文件
4.3 确认关闭防火墙
4.4 确认关闭selinux
4.5 确认ulimit
4.6 确认swap交换分区
4.7 确认时钟同步
4.8 创建CM Server的数据库和账户
4.9 CM Server部署mysql-jdbc jar
4.10 部署离线parcel源
4.11 CM离线部署
4.12 CM启动与初始页面
5.CDH部署步骤
5.1 选择版本-免费版
5.2 集群安装
5.3 设置集群名称
5.4 指定集群主机
5.5 选择或设置Parcel源
5.6 安装Parcel
5.7 集群网络和主机检查
5.8 集群设置
5.9 选择自定义服务
5.10 自定义角色分配
5.11 数据库设置
5.12 审核更改默认的目录
5.13 首次运行命令
5.14 自定义服务安装完成
5.15 Hue和Hive遇到的问题
5.16 各种目录配置的问题
6.集成PHOENIX
6.1 配置PHOENIX的parcel源并完成下载、分配和激活
6.2 刷新CM页面
6.3 CDH-PHOENIX简单验证
1. 初始资源
说明,如果后续需要添加新的机器和新的组件角色,从CM管理页面正常添加即可。
资源示例:
机器zlxx-test1-110用于部署CM Server和MySQL、parcel源。
确认root用户权限:
$ sudo su
[root@zlxx-test1-110 zlxx]#
2. 版本选型
参考cloudera官方文档,新的后续版本已经没有免费下载了。
docs.cloudera.com/documentati…
docs.cloudera.com/documentati…
最终确认的6.x版本:
【cm6.3.1 + cdh6.3.2 + PHOENIX-5.0.0-cdh6.2.0.p0.1308267-el7】
3. 环境和安装包
3.1 部署方式
离线部署
3.2 CM安装包
cm6.3.1-redhat7
下载地址:
先下载到机器zlxx-test1-110,放到比如目录:/zlxx/softs/
下,后续部署httpd
服务,供其它若干机器在局域网下快速下载分发。
3.3 Parcel包
同样下载到机器zlxx-test1-110的/zlxx/softs/
下。
CDH-6.3.2-1
下载地址:
PHOENIX-5.0.0-cdh6.2.0
3.4 JDK部署
JDK8
下载地址:
直接下载解压版,解压后配置环境变量即可(部署略)
3.5 MySQL安装部署
MySQL 5.7.28-1.el7.x86_64
下载地址:
直接下载rpm包,使用rpm -ivh安装即可(部署略)
3.6 mysql-connector-java.jar
mysql-connector-java.jar
直接从Maven仓库下载下来jar包,然后重命名。
下载地址:
默认下载到/zlxx/softs/文件夹下面。
3.7 确认操作系统版本
3.10.0-1127.19.1.el7.x86_64
# cat /proc/version
Linux version 3.10.0-1127.19.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org)
(gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue Aug 25 17:23:54 UTC 2020
4. CM部署步骤
4.1 JDK和MySQL安装部署(略)
4.2 统一hosts文件
所有机器:hosts文件加入所有涉及到的hostname和IP映射。
192.168.16.110 zlxx-test1-110
192.168.16.111 zlxx-test1-111
192.168.16.112 zlxx-test1-112
192.168.16.113 zlxx-test1-113
192.168.16.114 zlxx-test1-114
192.168.16.115 zlxx-test1-115
192.168.16.116 zlxx-test1-116
4.3 确认关闭防火墙
所有机器
# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:firewalld(1)
4.4 确认关闭selinux
所有机器
# cat /etc/selinux/config
SELINUX=disabled
4.5 确认ulimit
所有机器
# ulimit -n
65536
4.6 确认swap交换分区
所有机器
# free -h
total used free shared buff/cache available
Mem: 62G 5.5G 47G 35M 10G 56G
Swap: 2.0G 0B 2.0G
swap交换分区是默认开启的,特殊组件需要,可以关闭掉。
4.7 确认时钟同步
所有机器,现在centos7一般都使用chrony
管理时钟同步,具体可参考这篇文章:
chrony is a versatile implementation of the Network Time Protocol (NTP).
# systemctl status chronyd
● chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-12-01 08:53:07 CST; 11h ago
Docs: man:chronyd(8)
man:chrony.conf(5)
Process: 862 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)
Process: 804 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 834 (chronyd)
CGroup: /system.slice/chronyd.service
└─834 /usr/sbin/chronyd
4.8 创建CM Server的数据库和账户
注意:数据库字符集编码必须是utf8,否则会有数据表初始化创建失败
数据库名称:cmf
用户名:cmf
密码:test.zlxx@2020CDH
mysql> create database cmf default character SET utf8;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on cmf.* TO 'cmf'@'%' IDENTIFIED BY 'test.zlxx@2020CDH';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| cmf |
| mysql |
| performance_schema |
| sys |
+--------------------+
```
4.9 CM Server部署mysql-jdbc jar
在zlxx-test1-110机器上进行操作,需要用到mysql-jdbc的地方:CM Server、Hue、Hive,部署这几个组件的地方需要注意,可以提前准备好jar包。
# mkdir -p /usr/share/java/
# cp /zlxx/softs/mysql-connector-java.jar .
# ls
mysql-connector-java.jar
# pwd
/usr/share/java
4.10 部署离线parcel源
部署httpd服务
在zlxx-test1-110机器上进行操作
# yum install -y httpd
准备CDH和PHOENIX的parcel文件
# mkdir -p /var/www/html/cdh6_parcel
把parcel本身及相关文件都拷贝到/var/www/html/cdh6_parcel下面去
# mv CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel /var/www/html/cdh6_parcel/
# mv CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1 /var/www/html/cdh6_parcel/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
sha1名称里面把1去掉
# mkdir -p /var/www/html/phoenix_parcel
把PHOENIX对应的parcel或者直接wget下载到对应上面的文件夹phoenix_parcel
下面去
把CM的安装包也放到/var/www/html/下面去
# mkdir -p /var/www/html/cm
# ls
cdh6_parcel cm phoenix_parcel
直接启动httpd服务并通过页面查看
# systemctl start httpd
http://192.168.16.110/cdh6\_parcel/
http://192.168.16.110/phoenix\_parcel/
4.11 CM离线部署
离线部署cm server
机器:zlxx-test1-110;
创建文件夹,用于存储解压后的安装包文件。
# mkdir /zlxx/cloudera-manager
# tar -xzvf cm6.3.1-redhat7.tar.gz -C /zlxx/cloudera-manager/
安装:
# cd /zlxx/cloudera-manager/cm6.3.1/RPMS/x86_64
# rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
# rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
修改cm server的配置
# vi /etc/cloudera-scm-server/db.properties
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=zlxx-test1-110
com.cloudera.cmf.db.name=cmf
com.cloudera.cmf.db.user=cmf
com.cloudera.cmf.db.password=test.zlxx@2020CDH
com.cloudera.cmf.db.setupType=EXTERNAL
离线部署cm agent
除了zlxx-test1-110之外的所有机器,cm6.3.1-redhat7.tar.gz
通过前面的httpd服务把安装包下载到每一台机器里面。
创建文件夹,用于存储解压后的安装包文件。
# mkdir /zlxx/cloudera-manager
# tar -xzvf cm6.3.1-redhat7.tar.gz -C /zlxx/cloudera-manager/
安装:
# cd /zlxx/cloudera-manager/cm6.3.1/RPMS/x86_64
# rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
# rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
修改cm agent的配置,指向cm server的节点zlxx-test1-110
# sed -i "s/server_host=localhost/server_host=zlxx-test1-110/g" /etc/cloudera-scm-agent/config.ini
4.12 CM启动与初始页面
启动cm server
cm server机器:zlxx-test1-110
,默认的日志目录/var/log/cloudera-scm-server/
# systemctl start cloudera-scm-server
# cd /var/log/cloudera-scm-server/
# tail -F cloudera-scm-server.log
日志末尾出现7180端⼝,即表示cm server启动成功。
启动cm agent
每一台都启动,也可以配置ssh编写一键启动脚本(略)。
# systemctl start cloudera-scm-agent
# cd /var/log/cloudera-scm-agent
# tail -F cloudera-scm-agent.log
CM初始页面
http://192.168.16.110:7180/
账号密码:admin/admin
5. CDH部署步骤
从CM初始页面往下走
5.1 选择版本-免费版
5.2 集群安装
5.3 设置集群名称
5.4 指定集群主机
5.5 选择或设置Parcel源
5.6 安装Parcel
5.7 集群网络和主机检查
上述警告,处理完成后再次检查,会变为状态正常。截图中查看详细信息,已经提供了解决方法建议。
透明大页面压缩的问题
建议里面有临时生效和永久生效:临时生效(受影响的每台机器都做同样的操作):
# echo never > /sys/kernel/mm/transparent_hugepage/defrag
# echo never > /sys/kernel/mm/transparent_hugepage/enabled
永久生效:
# echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local
# echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local
PGSQL模块的问题
直接执行以下安装:
# yum install -y postgresql-devel*
以上问题解决后,重新进行检查,均状态正常。
5.8 集群设置
5.9 选择自定义服务
最基础的HBase、HDFS、Hive、Hue、YARN、Zookeeper,列表里没有PHOENIX,后续再整合。
5.10 自定义角色分配
这里直接根据系统默认的来,后续再手动补充服务节点、开启HDFS HA等
5.11 数据库设置
为Hue和Hive的MySQL库创建数据库、用户名和密码
create database hive default character SET utf8;
grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'test.zlxx@2020CDH';
create database hue default character SET utf8;
grant all on hue.* TO 'hue'@'%' IDENTIFIED BY 'test.zlxx@2020CDH';
flush privileges;
Hive安装所在的机器部署mysql连接的jar包: /usr/share/java
目录下放置mysql-connector-java.jar
。包比较小,直接下载,或者从前面的mysql-connector-java-5.1.49.jar拷贝一份,重命名把版本号去掉。
# wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar
5.12 审核更改默认的目录
5.13 首次运行命令
5.14 自定义服务安装完成
5.15 Hue和Hive遇到的问题
Hue Load Balancer启动后挂掉,运行不起来
在部署Load Balancer服务的机器上安装mod_ssl
# yum install mod_ssl -y
Hue登录后页面报错
CDH-hue : Could not start SASL: Error in sasl_client_start (-4) SASL(-4): no mechanism available
需要在Hue服务所在的机器安装相关软件:
# yum install -y cyrus-sasl-plain cyrus-sasl-devel cyrus-sasl-gssapi
5.16 各种目录配置的问题
官方会建议留有足够的磁盘空间,包括/opt、/var、/tmp
目录,因为默认情况下会把一些重要的数据目录、日志目录以及临时文件放在前面三个目录或子目录下。需要根据具体的磁盘规划,把具体目录路径分配到对应的挂载磁盘对应的目录中去。如果是默认的路径,磁盘不足或低于阈值(一般10G)会有黄色的警告。
6. 集成PHOENIX
6.1 配置PHOENIX的parcel源并完成下载、分配和激活
http://192.168.16.110:7180/cmf/parcel/status?clusterId=1#clusterId=1&remoteOnly=false
PHOENIX的parcel源添加完成后,重新访问parcel列表,会显示出来刚刚添加的Phoenix;然后点击最右边的按钮:下载、分配和激活
。
6.2 刷新CM页面
刷新CM之后,会提示重启HBase以及更新配置
点击上图红色框中的提示图标,处理过期配置,要求更新配置
自动配置完成后即集成PHOENIX成功。
6.3 CDH-PHOENIX简单验证
进入部署了HBase和PHOENIX的机器如:zlxx-test1-111
# cd /opt/cloudera/parcels/PHOENIX/bin/
# ls
phoenix-performance phoenix-psql phoenix-queryserver phoenix-sqlline phoenix-sqlline-thin
# ./phoenix-sqlline
Setting property: [incremental, false]
Setting property: [isolation, TRANSACTION_READ_COMMITTED]
issuing: !connect jdbc:phoenix: none none org.apache.phoenix.jdbc.PhoenixDriver
Connecting to jdbc:phoenix:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/cloudera/parcels/PHOENIX-5.0.0-cdh6.2.0.p0.1308267/lib/phoenix/phoenix-5.0.0-cdh6.2.0-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/jars/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Connected to: Phoenix (version 5.0)
Driver: PhoenixEmbeddedDriver (version 5.0)
Autocommit status: true
Transaction isolation: TRANSACTION_READ_COMMITTED
Building list of tables and columns for tab-completion (set fastconnect to true to skip)...
133/133 (100%) Done
Done
sqlline version 1.2.0
0: jdbc:phoenix:> !tables
+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--+
| TABLE_CAT | TABLE_SCHEM | TABLE_NAME | TABLE_TYPE | REMARKS | TYPE_NAME | SELF_REFERENCING_COL_NAME | REF_GENERATION | |
+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--+
| | SYSTEM | CATALOG | SYSTEM TABLE | | | | | |
| | SYSTEM | FUNCTION | SYSTEM TABLE | | | | | |
| | SYSTEM | LOG | SYSTEM TABLE | | | | | |
| | SYSTEM | SEQUENCE | SYSTEM TABLE | | | | | |
| | SYSTEM | STATS | SYSTEM TABLE | | | | | |
+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--+
0: jdbc:phoenix:>
查看HBase端表的情况,是能够看到Phoenix默认元数据表的
# hbase shell
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
Version 2.1.0-cdh6.3.2, rUnknown, Fri Nov 8 05:44:07 PST 2019
Took 0.0008 seconds
hbase(main):001:0> list
TABLE
SYSTEM.CATALOG
SYSTEM.FUNCTION
SYSTEM.LOG
SYSTEM.MUTEX
SYSTEM.SEQUENCE
SYSTEM.STATS
6 row(s)
Took 0.3853 seconds
=> ["SYSTEM.CATALOG", "SYSTEM.FUNCTION", "SYSTEM.LOG", "SYSTEM.MUTEX", "SYSTEM.SEQUENCE", "SYSTEM.STATS"]
hbase(main):002:0>
创建表和增删改查都做了简单验证,就不赘述了。
往期精选