Cloudera Manager 安装
系统环境准备,安装基础环境
-
选择四台已经安装 CentOS7 Linux 系统的节点,分配资源。
安装 CDH 节点推荐内存为 64G,大部分内存被 Cloudera Management Service 占用,因为做了大量的数据分析和整合。这里,划分四台节点如下:
主机名 IP 地址 节点角色 硬件资源 cm-s1 192.168.0.50 Server,Agent 8C/32G/100G cm-a1 192.168.0.51 Agent 4C/8G/100G cm-a2 192.168.0.52 Agent 4C/8G/100G cm-a3 192.168.0.53 Agent 4C/8G/100G 服务架构如下:
- Cloudera Manager Server 是 Cloudera Manager 的核心是,Server 管理控制台服务和托管应用程序逻辑,负责软件的安装、配置、服务的启动与关闭及管理集群。
- Agent 安装在每台主机上,负责进程的启动和停止,解压配置,触发安装及监控主机。
- Management Service 是由一组角色组成的服务,这些角色执行各种监视,警报和报告功能。
- DataBase 用来存储配置及监控信息。
- ClouderaRepository 是 Cloudera Manager 分发软件的存储库。
- Clients 分为 AdminConsole(管理员 web 界面版)和 API(用于开发者创建 Cloudera Manager 程序)两种形式。
-
初始化节点
- 更改主机名分别为 cm-s1、cm-a1、cm-a2、cm-a3
- 配置 SSH 秘钥验证,达到任一节点无需密码验证登录其他站点 root 用户的效果
- 配置/etc/hosts 文件,使任一节点通过 cm-s1、cm-a1、cm-a2、cm-a3 即可域名解析到对应节点 IP
- 关闭 SELinux 和 firewalld.service
-
配置时间同步服务
在每个节点上安装 chrony 服务,并配置:[root@cm-s1 ~]# for i in `seq 0 3`;do ssh root@192.168.0.5$i yum -y install chrony;done [root@cm-s1 ~]# for i in `seq 0 3`;do ssh root@192.168.0.5$i wget https://sto.17ker.top/sources/chrony.conf -O /etc/chrony.conf;done [root@cm-s1 ~]# for i in `seq 0 3`;do ssh root@192.168.0.5$i systemctl start chronyd;done
-
安装 JDK
给每台节点安装 jdk,这里我们安装的 CDH 版本为 6.3.2,在官网描述中这里需要使用 jdk8,且对小版本有要求,这里我们选择 jdk8 版本中的 1.8u181 版本安装。
[root@cm-s1 ~]# for i in `seq 0 3`;do ssh root@192.168.0.5$i rpm -ivh https://sto.17ker.top/sources/jdk-8u181-linux-x64.rpm;done
在每台节点配置 jdk 的环境变量:
[root@cm-s1 ~]# tail -n5 /etc/profile #Java Environment variables export JAVA_HOME=/usr/java/default export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib export PATH=$PATH:$JAVA_HOME/bin [root@cm-s1 ~]# source /etc/profile
-
具体如下:
-
安装 MySQL 数据库
在 cm-s1 节点安装 mysql5.7-
添加 mysql5.7 仓库
[root@cm-s1 ~]# rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm [root@cm-s1 ~]# yum makecache fast
-
安装 MySQL
[root@cm-s1 ~]# yum -y install mysql-community-server
-
启动
[root@cm-s1 ~]# systemctl start mysqld
-
安全访问设置
-
查看默认 root 密码:
[root@cm-s1 ~]# cat /var/log/mysqld.log | grep -i 'temporary password'
-
更改 root 密码,移除匿名用户:
[root@cm-s1 ~]# mysql_secure_installation
-
移除 root 用户远程登录限制:
[root@cm-s1 ~]# mysql -hlocalhost -pAz123456_ -e "UPDATE mysql.user SET host='192.168.0.%' WHERE user='root';FLUSH PRIVILEGES;"
-
-
-
安装第三方依赖包
在每台节点上安装 ClouderManager 需要的第三方依赖包,每台节点执行如下命令:yum install -y chkconfig bind-utils psmisc cyrus-sasl-plain cyrus-sasl-gssapi portmap /lib/lsb/init-functions httpd mod_ssl openssl-devel python python-psycopg2 MySQL-python libxslt zlib sqlite fuse fuse-libs redhat-lsb
至此,安装 Cloudera Manager 的基础环境准备完成。
Cloudera Manager 组件安装
-
添加 yum 源
$ sudo wget https://archive.cloudera.com/cm6/6.3.1/redhat7/yum/cloudera-manager.repo -P /etc/yum.repos.d/ $ sudo rpm --import https://archive.cloudera.com/cm6/6.3.1/redhat7/yum/RPM-GPG-KEY-cloudera $ sudo yum makecache fast
-
在 cm-s1 节点安装 CM Server
[root@cm-s1 ~]# yum install -y cloudera-manager-daemons cloudera-manager-server cloudera-manager-agent
-
在 cm-a1、cm-a2、cm-a3 节点安装 daemons、agent RPM 包
[root@cm-a1 ~]# yum install -y cloudera-manager-daemons cloudera-manager-agent
当完成安装 agent 后,会在当前节点生成“/opt/cloudera/cm-agent”目录。
-
配置 CM Agent 的 server host
在所有的节点上,修改 Agent 的配置文件/etc/cloudera-scm-agent/config.ini
,修改server_host=cm-s1
,指定所有 Agent 节点的 Server 节点为 cm-s1。[root@cm-s1 ~]# for i in `seq 0 3`;do ssh root@192.168.0.5$i sed -i 's/server_host=localhost/server_host=cm-s1/' /etc/cloudera-scm-agent/config.ini;done [root@cm-s1 ~]# for i in `seq 0 3`;do ssh root@192.168.0.5$i grep server_host /etc/cloudera-scm-agent/config.ini;done
-
配置 CM Server 数据库
在 cm-s1 节点上,修改/etc/cloudera-scm-server/db.properties
文件,配置内容如下:com.cloudera.cmf.db.type=mysql com.cloudera.cmf.db.host=cm-s1 com.cloudera.cmf.db.name=cmf com.cloudera.cmf.db.user=cmf com.cloudera.cmf.db.password=Az123456_ com.cloudera.cmf.db.setupType=EXTERNAL
上传
mysql-connector-java-5.1.48.jar
文件到 cm-s1 节点的/usr/share/java 目录下,如果没有目录需要创建,并且软链接到mysql-connector-java.jar
[root@cm-s1 ~]# mkdir -p /usr/share/java [root@cm-s1 ~]# wget https://sto.17ker.top/sources/mysql-connector-java-5.1.48.jar -P /usr/share/java [root@cm-s1 ~]# cd /usr/share/java/ [root@cm-s1 java]# ln -s mysql-connector-java-5.1.48.jar mysql-connector-java.jar
为 MySQL 服务器创建 cmf 用户
[root@cm-s1 ~]# mysql -uroot -hcm-s1 -pAz123456_ -e "grant all on *.* to 'cmf'@'%' identified by 'Az123456_' with grant option;"
在 cm-s1 节点上执行如下命令初始化数据库:
[root@cm-s1 ~]# cd /opt/cloudera/cm/schema/ # -u用户,-p密码 ,数据库类型,数据库,用户,密码 [root@cm-s1 schema]# ./scm_prepare_database.sh -ucmf -pAz123456_ mysql cmf cmf Az123456_ ... All done, your SCM database is configured correctly!
-
准备 CDH Parcels 本地源
在 cm-s1 节点上创建/opt/cloudera/parcel-repo
目录,并下载如下文件:[root@cm-s1 ~]# mkdir -p /opt/cloudera/parcel-repo [root@cm-s1 ~]# wget -P /opt/cloudera/parcel-repo https://archive.cloudera.com/cdh6/6.3.2/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel [root@cm-s1 ~]# wget -O /opt/cloudera/parcel-repo/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha https://archive.cloudera.com/cdh6/6.3.2/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1 [root@cm-s1 ~]# wget -P /opt/cloudera/parcel-repo https://archive.cloudera.com/cdh6/6.3.2/parcels/manifest.json
-
启动 CM Server、Agent
在 Server 节点启动 ClouderaManager Server,分别在 Agent 节点启动 ClouderaManager Agent:[root@cm-s1 ~]# systemctl start cloudera-scm-server.service [root@cm-s1 ~]# for i in `seq 0 3`;do ssh root@192.168.0.5$i systemctl start cloudera-scm-agent.service;done
Server 启动比较慢,需要等待一会才能访问对应的 web 界面,可以查看启动日志,Sever 启动的日志默认在路径*/var/log/cloudera-scm-server/cloudera-scm-server.log 下。Agent 启动的日志默认在路径/var/log/cloudera-scm-agent/cloudera-scm-agent.log* 下。可以通过以上日志来检查启动中是否有错。
Sever 首次启动会自动创建表以及数据,不要立即关闭或重启,否则需要删除所有表及数据重新安装。
至此,Cloudera Manager 的安装完成。
CDH 安装
-
登录 Cloudera Manager WebUI 界面
Cloudera Manager 的 WebUI 界面登录地址为 http://cm-s1:7180,默认的用户名和密码都是 admin 。输入完成后,点击登录:
-
选择安装 CDH 的节点
登录之后,一直选择“继续”即可
选择 Cloudera Express,点击“继续”,弹出页面后继续点击“继续”:
弹出如下页面,该页面是为 CDH 指定主机,可以使用“模式”通配来选择主机,也可以选择“当前管理的主机”,这里“当前管理的主机”中有节点内容的原因正是由于之前我们在这三台节点配置过 agent。如果未来集群增加机器,可以在新主机中搜索添加,后期会自动将 agent 安装到选中的新节点。
这里我们选择“当前管理的主机”中的所有节点,点击“继续”
-
集群安装
选择 CDH 版本为 CDH 6.3.2,点击“继续”,如下图:
点击“继续”之后,Cloudera Manager 主节点会将下载好的 CDH 分发到各个 Agent 节点,这时可以在三个 Agent 节点上看到路径/opt/cloudera/parcel-cache 目录中有 Cloudera Manager 主节点传过来的 CDH 安装包,同时在完成传输之后,每个 Agent 节点还会将 CDH 安装包解压到/opt/cloudera/parcels 路径下,此时,界面显示如下:点击“继续”,显示正在检查主机健康状况,稍等片刻,会显示检查结果:
点击检查结果,查看检查主机出现的问题:
这里建议 swappiness=10 的时候表示最大限度使用物理内存。由于透明超大页面已知会导致意外的节点重新启动,可以在每台节点中执行如下命令,在检查主机正确性后面点击“重新运行”即可解决。命令如下:
[root@cm-s1 ~]# for i in `seq 0 3`;do ssh root@192.168.0.5$i sed -i '\$a\vm.swappiness\ =\ 10' /etc/sysctl.conf;done [root@cm-s1 ~]# for i in `seq 0 3`;do ssh root@192.168.0.5$i sysctl -p;done # 在每个节点执行如下命令,并写入到/etc/rc.local中,注意软链接源文件/etc/rc.d/rc.local文件的可执行性 echo never > /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled
最后,点击“继续”,进入“集群设置”
-
集群设置
在进入的集群设置界面中,点击“自定义服务”,选择“HDFS”、“YARN”、“Zookeeper”进行安装,注意:这里提示还会安装 Cloudera Management Service ,用于后期的监控、报告、事件和警报。
以上点击“继续”,进入“角色分配”页面,显示的是 Cloudera Manager 自动划分的集群分配,当然这里也可以自己分配节点。如下图所示:
继续点击“继续”,进入“审核更改页面”,在这里可以手动修改一些配置文件,取默认配置。继续点击“继续”,进入执行集群命令,启动各个组件页面,当所有组件启动完成之后,如下图示:
点击“继续”,完成集群设置。
-
CDH 主页面
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于