CDH6.3.x搭建
安装前基础环境准备
本人使用的各组件版本如下:
操作系统版本:centos7
CM版本:6.3.1
CDH版本:6.3.2(5.16.2版本实测也可以)
JDK版本:openjdk version “1.8.0_262”
安装包下载地址:
链接: https://pan.baidu.com/s/1Hw6Lysh_c4FZSGOVbpHA2A?pwd=4ic5 提取码: 4ic5 复制这段内容后打开百度网盘手机App,操作更方便哦
服务器配置:
服务器 | CPU | 内存 | 磁盘 |
---|---|---|---|
cmserver | 8核 | 24G | /home/app 挂载300G |
master01 | 4核 | 24G | /home/app 挂载300G |
master02 | 4核 | 24G | /home/app 挂载300G |
slave01 | 4核 | 24G | /home/hdfsdata/data1 挂载100T |
slave02 | 4核 | 24G | /home/hdfsdata/data1 挂载100T |
slave03 | 4核 | 24G | /home/hdfsdata/data1 挂载100T |
安装前须知!!!
本博客是根据官方文档的安装教程整理而成的,有不清楚的地方建议多加阅读官方文档!
CDH6.3官方文档
版本选择
CDH6操作系统版本兼容性对照官方文档
CDH6.3.x与操作系统版本选择对应关系表:
Cloudera Manager和CDH版本对应
Cloudera使用主版本和次版本来管理软件间的依赖,版本号规则为:<主版本>.<次版本>.<维护版本>。版本兼容规则是:Cloudera Manager <主要>.<次要>版本必须等于或大于CDH <主要>.<次要>版本。因此Cloudera Manager6.3.1和CDH6.3.2是可以互相兼容的。
如果是用于实际的生产环境,需要留意CDH对服务器硬件的最低要求,相关详细要求可以参考官方文档:
生产环境硬件要求官方文档
CDH6.x数据库版本要求官方文档
我用的数据库是MySQL,CDH6对MySQL版本要求对照表:
CDH6对JDK版本要求官方文档
CDH6对JDK版本要求对照表:
注意:很多JDK版本都和CDH存在兼容性问题!具体原因查看以上的 CDH6对JDK版本要求官方文档。官网上推荐OpenJDK1.8u211和1.8u181的版本:
其余网络和安全性、操作系统用户权限等要求可查阅官方文档。
Cloudera Manager空间规划
Cloudera Management Service - Activity Monitor 配置
活动监视器仅监视MapReduce作业,默认储存14天的MapReduce活动监视数据,数据量大小取决于集群大小和MapReduce的使用频率会有很大的差异,可参考官方并根据自己集群的实际情况分配Activity Monitor的空间大小;
Cloudera Management Service - Service Monitor 配置
Service Monitor默认存储位置为 /var/lib/cloudera-service-monitor/ ,存储空间不低于12G(服务时间序列存储10G+Impala查询存储1G+YARN应用程序存储1G);
Cloudera Management Service - Host Monitor 配置
Host Monitor默认存储位置为 /var/lib/cloudera-host-monitor/ ,存储空间不低于10 G,用于存放主机时间序列数据;
Cloudera Management Service - Event Server 配置
Event Server默认存储位置为 /var/lib/cloudera-scm-eventserver/ ,默认保留5,000,000个事件,官网没有推荐的存储空间最小值,可通过修改默认保留的事件数控制存储大小;
安装openjdk
注意必须安装openjdk,Cloudera不支持Sun JDK!!!
# 查看jdk1.8版本
yum --showduplicate list java* | grep 1.8.0
# 安装openjdk1.8.0.262版本的jre,命令格式:yum install -y java-1.8.0-openjdk-<version>.x86_64
# version 参数为上面查看jdk版本信息打印出来的版本号
# yum install -y java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64
# 安装jre,会自动安装1.8版本下的最新版本号,我安装的是
sudo yum -y install java-1.8.0-openjdk
# 安装jdk,会自动安装1.8版本下的最新版本号
sudo yum -y install java-1.8.0-openjdk-devel
# 查看jre安装版本
java -version
# 查看jdk安装版本
javac -version
# 配置环境变量
vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
# 修改后生效环境变量
source /etc/profile
修改系统配置
- 修改所有服务器的hosts和hostname,必须保证集群服务器的hostname是唯一的,以便于集群之间互相通信能找到对应的服务器,并且主机名的格式必须是FQDN(fully qualified domain name)!必须是!官方文档上面也强调了这一点! 网上有很多教程的主机名就设为master01,slave01之类的,我不知道他们是怎么安装成功的,反正我安装agent的时候cm server 一直无法接收agent的检测信号!!!
# 修改绑定的host,格式:ip 域名 主机名
# vim /etc/hosts
10.0.xx.xx0 cmserver.xx0.com.cn cmserver
10.0.xx.xx1 master01.xx1.com.cn master01
10.0.xx.xx2 master02.xx2.com.cn master02
10.0.xx.xx3 slave01.xx3.com.cn slave01
10.0.xx.xx4 slave02.xx4.com.cn slave02
10.0.xx.xx5 slave03.xx5.com.cn slave03
# 修改服务器hostname
# vim /etc/sysconfig/network
# 是否需要使用网络,通常配置为true
NETWORKING=yes
HOSTNAME=your host name
# 如果以上的修改方式无效可以通过下面的命令来修改hostname,hostname为FQDN全域名格式的
# 命令格式:hostnamectl set-hostname <your hostname>
hostnamectl set-hostname master01.xx1.com.cn
- 所有服务器都关闭防火墙
# 查看防火墙状态
firewall-cmd --state
#关闭防火墙
systemctl stop firewalld.service
# 禁止开机自启动防火墙
systemctl disable firewalld.service
- 所有服务器都关闭selinux
# vim /etc/sysconfig/selinux
SELINUX=disabled
# 修改后需要重启服务器
reboot
# 重启后检查selinux的状态
sestatus –v
配置NTP
开启NTP(Network Time Protocol)服务,保证集群见的时间同步
# 安装NTP
yum -y install ntp
# 添加NTP远程时间同步服务器,通常安装后会自动配置,没有的话在自行添加
# vim /etc/ntp.conf
# 启动NTP
sudo systemctl start ntpd
# 设置NTP服务开机自动重启
sudo systemctl enable ntpd
# 同步节点的时间
# 命令格式(ntp_server为/etc/ntp.conf 配置文件中的NTP服务器地址):ntpdate -u <ntp_server>
ntpdate -u 0.centos.pool.ntp.org
# 同步系统时钟
hwclock --systohc
配置节点之间免密登录
免密登录原理:
每台主机authorized_keys文件里面包含想要免密登录主机的ssh公钥,就能实现免密登录,所以只要每台主机的authorized_keys文件里面都放入其他主机(需要无密码登录的主机)的ssh公钥就行了。
-
配置服务器集群的hosts文件(上面的步骤已经配置过了)
-
在主节点上生成ssh密钥:
-> ssh-keygen -t rsa
-> cd ~/.ssh/ -
在主节点上将公钥拷到一个特定文件authorized_keys中
-> cp id_rsa.pub authorized_keys -
使用scp命令把主节点上的authorized_keys分发到其它节点,按照第一步的命名生成其它节点的ssh密钥,并把公钥追加到authorized_keys文件中:
-> scp authorized_keys root@hadoop.slave01:/root/.ssh/
-> cat id_rsa.pub >> authorized_keys -
最后将所有服务器的公钥都添加好authorized_keys文件通过scp命令重新分发到集群中的所有服务器,完成后就可以使用ssh username 的命令互相免密登录。
-> ssh hadoop.slave01
配置本地Parcel仓库
安装CDH时需要用到本地parcel仓库,在安装本地Parcel和程序包存储库的服务器上安装httpd(我是吧Parcel存储库安装在Cloudera Manager Server服务器上);
- 安装Apache HTTP Server
# 安装httpd,安装本地仓库和Cloudera Manager Server都依赖httpd
sudo yum -y install httpd
# 启动httpd
sudo systemctl start httpd
# 查看httpd状态
service httpd status
# 安装过程如果报错:Delta RPMs disabled because /usr/bin/applydeltarpm not installed. 则进行deltarpm的安装
# yum provides '*/applydeltarpm'
# yum -y install deltarpm
安装完后可以在浏览器中直接输入服务器的ip查看是否能访问,能访问说明httpd安装成功。
- 修改httpd配置文件
为避免从本地仓库中下载parcel文件出现:Hash verification failed 的错误,需要修改Apache HTTP Server配置文件;
我是改了httpd.config 的文件存放路径为:/home/app/www/html/因此我配置仓库的目录都为/home/app/www/html/,如果没有修改该路径,默认的路径是/var/www/html/,修改默认文件存放路径要将DocumentRoot,<Directory “/var/www/html”> 这些地方的路径全都改掉;
# 编辑Apache HTTP Server配置文件(/etc/httpd/conf/httpd.conf)在 <IfModule mime_module> 标签中添加以下内容:AddType application/x-gzip .gz .tgz .parcel
vim /etc/httpd/conf/httpd.conf
# 添加的内容
AddType application/x-gzip .gz .tgz .parcel
# 重启httpd服务,入股修改了httpd文件存放的路径,要确保新路径的目录是存在的
sudo systemctl restart httpd
配置完httpd.conf,在浏览器输入<server_ip>/path,即可访问本地文件,注意这里的path是指httpd.conf中DocumentRoot “/home/app/www/html” 和 <Directory “/home/app/www/html”> 这两个配置指定的根目录下的路径,不是文件在服务器上的绝对路径。
安装本地程序包储存库
官网上面现在已经不支持以访客的方式下载安装包,所有下载都要注册账号并登录。我是之前下载好了相关的安装包,把相关的安装包分发到服务器上。
由于在线安装Cloudera Manager和CDH 需要到官网上下载安装包受网速影响比较大,很容易下载失败,建议建立本地仓库,这样可以提升安装速度,本地仓库包含Cloudera Manager Packet、CDH 安装包和CDH Parcel 3个部分。
-
安装httpd,配置本地Parcel仓库时已经安装过了,这里忽略
-
准备Cloudera Manager安装文件
把下载好的cm6.3.1-redhat7.tar.gz,allkeys.asc文件都上传到/home/app/www/html/cloudera-repos/cm6 目录下
# 创建仓库文件夹
sudo mkdir -p /home/app/www/html/cloudera-repos/cm6
# 把cm6.3.1-redhat7.tar.gz,allkeys.asc文件都上传到/home/app/www/html/cloudera-repos/cm6 目录下
cd /home/app/www/html/cloudera-repos/cm6
# 解压安装包
tar xvfz cm6.3.1-redhat7.tar.gz -C /home/app/www/html/cloudera-repos/cm6 --strip-components=1
# 修改文件夹权限
sudo chmod -R ugo+rX /home/app/www/html/cloudera-repos/cm6
- 准备CDH安装文件
把cdh6.3.2相关的安装文件(CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel,CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha,CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha256,allkeys.asc,manifest.json)都上传到 /home/app/www/html/cloudera-repos/cdh6 目录下
# 创建cdh6安装包存放文件夹
sudo mkdir -p /home/app/www/html/cloudera-repos/cdh6
# 把cdh6.3.2相关的安装文件(CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel,
# CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha,CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha256,
# allkeys.asc,manifest.json)都上传到 /home/app/www/html/cloudera-repos/cdh6 目录下
# 修改文件夹权限
sudo chmod -R ugo+rX /home/app/www/html/cloudera-repos/cdh6
sudo mkdir -p /opt/cloudera/parcel-repo
# 将需要安装Pcrcel文件从本地Pcrcel库拷贝到/opt/cloudera/parcel-repo目录下
cp /home/app/www/html/cloudera-repos/cdh6/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel /opt/cloudera/parcel-repo
# 将parcel包的sha文件拷贝到/opt/cloudera/parcel-repo目录下
cp /home/app/www/html/cloudera-repos/cdh6/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha /opt/cloudera/parcel-repo/
# 更改Parcel 文件和hash 文件的所有权为CM自动创建的cloudera-scm账号
# 执行命令如果报错:invalid user: ‘cloudera-scm:cloudera-scm’ ,
# 可以先进行下面的安装CMServer服务步骤,自动创建cloudera-scm用户之后再执行该命令修改文件夹权限
sudo chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/*
-
下载完安装包后可以通过http:///cloudera-repos/ 访问仓库下载的文件,cmserver为仓库所在服务器的ip地址
-
配置yum安装时使用本地仓库
本地仓库建立好后需要修改客户端的配置,在所有需要安装Cloudera Manager相关服务(包括cm server,agent等)的服务器上配置yum仓库的配置文件,使用yum命令安装时使用本地库中的Cloudera Manager和CDH镜像,不用到官网上下载镜像。
# 创建 /etc/yum.repos.d/cloudera-repo.repo 文件
vim /etc/yum.repos.d/cloudera-repo.repo
# cloudera-repo.repo文件的内容如下,<web_server> 是parcel仓库服务器的主机名或ip地址
[cloudera-repo]
name=cloudera-repo
baseurl=http://<web_server>/cloudera-repos/cm6/
enabled=1
gpgcheck=0
全都配置完后在CM管理平台上安装CDH时指定parcel仓库即可。
安装Cloudera Manager
-
配置yum源仓库
通过本地仓库安装的方式,前面已经配置了yum安装本地库,这一步就无需处理; -
安装JDK,前面的环节已经安装过了,这一步无需处理;
-
安装Cloudera Manager Packages
# 在cmserver服务器上安装Cloudera Manager Server,agent
sudo yum -y install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
# 在所有需要cm server监控的服务器上安装Cloudera Manager agent
sudo yum -y install cloudera-manager-daemons cloudera-manager-agent
安装&配置MySQL
Cloudera Manager需要借助数据库来存储有关Cloudera Manager配置的信息以及诸如系统运行状况或任务进度之类的信息。生产上建议将数据库安装在服务之外的其他主机上,将数据库与服务分离可以降低系统故障风险。
-
安装MySQL数据库
MySQL5.7.14安装教程 -
配置JDBC驱动程序
在Cloudera Manager服务器主机以及运行其他需要数据库访问服务的主机上安装JDBC驱动程序,以便于服务器可以连接到数据库读写信息。按照我下面的服务分配,我分别在cmserver,master01,master02者三台服务器上配置了JDBC驱动;
# 下载MySQL驱动
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
# 从下载的文件中提取JDBC驱动程序JAR文件
tar zxvf mysql-connector-java-5.1.46.tar.gz
# 将已重命名的JDBC驱动程序复制到 /usr/share/java/。如果目标目录尚不存在,请创建它。这里的JDBC驱动必须要重命名成制定的名字!
sudo mkdir -p /usr/share/java/
cd mysql-connector-java-5.1.46
sudo cp mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar
- 创建Cloudera组件所需的数据库
# 创建Cloudera组件所需的数据库
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
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 navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
数据库schema名称跟组件之间的对应关系表:
4. 记住数据库账号和密码,Cloudera Manager安装向导需要此信息才能正确连接到这些数据库。可以所有的库共用一个root账号,方便管理
设置Cloudera Manager数据库
原理:Cloudera Manager Server包含一个脚本,该脚本可以为其自身创建和配置数据库。脚本包含:
创建并配置数据库以供Cloudera Manager Server使用,为Cloudera Manager Server创建和配置用户帐户。这部分配置只要在CM Server主节点上配置就可以了,从节点无需配置。
在Cloudera Manager Server服务器上运行scm_prepare_database.sh脚本,
命令格式:sudo /opt/cloudera/cm/schema/scm_prepare_database.sh [options]
命令中的用户名、密码、数据库名称来源于上个步骤所安装配置的MySQL,参数的含义参考文档:设置Cloudera Manager数据库
参数含义如下图:
# MySQL数据库和Cloudera Manager Server在同一台服务器上执行以下命令
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm root <password>
# MySQL数据库和Cloudera Manager Server在不同的服务器上执行以下命令
# 命令格式:sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql -h <dbIp> --scm-host <scmServerIp> <databaseName> <databaseUser> <password>
# 参数详解:
# dbIp: Cloudera Manager Server数据库所在服务器的ip
# scmServerIp: Cloudera Manager Server服务器ip
# databaseName: Cloudera Manager Server数据库的schema名称,改参数固定是scm
# databaseUser: Cloudera Manager Server数据库的登录账号名
# password: Cloudera Manager Server数据库的登录账号密码
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql -h master01.insigma.com.cn --scm-host cmserver.insigma.com.cn scm root <password>
如果执行scm_prepare_database.sh会报错:Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. 报错截图如下:
该错误是因为开启了SSL导致的,修改MySQL配置文件,vim /etc/my.cnf,在[mysqld] 模块下面增加 skip_ssl 配置关闭SSL,重新运行脚本即可。
成功执行命令后输出信息如下:
安装CHD
# 启动CM Server,启动命令:
sudo systemctl start cloudera-scm-server
# 要观察启动过程可以在CM Server主机上运行如下命令:
sudo tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
启动成功后访问:http://<server_host>:7180,登录CM Server的管理平台,首次登录的用户名和密码默认都是admin。登录后,安装向导将启动,会引导我们完成每个步骤的配置。
- 选择免费版&Cluster Basics
选择免费版
选择免费版之后会跳转到集群安装引导页面,在第一个页面里面输入集群名称
-
Specify Hosts
选择将运行CDH和其他托管服务的主机。可输入主机名或IP地址查询
-
选择存储库
使用本地parcel仓库方式搭建需要在更多选项中删除所有的parcel远程存储库地址,并配置自定义存储库,自定义存储库地址格式:http://ip/cloudera-repos/cm6/
ip: 仓库所在服务器ip
删除所有的parcel远程存储库地址
本地parcel仓库安装成功即可在界面上显示对应的CDH版本(有时候安装出错重新安装的时候CDH6.3.2的parcel包会显示不出来,我刷新页面重新走安装流程就能显示出来,再不行就重启CMServer后重新走安装流程,目前不知道是为什么==!)
-
JDK 安装选项
我们已经安装过JDK,这里无需勾选
-
提供 SSH 登录凭据
使用root账号登录,不同服务器的root账号密码必须是一样的
-
Install Agents
等待安装agent,安装完成后会自动跳转到下一个Install Parcels 流程;
-
Install Parcels,自动安装无需操作
我在安装过程中报错:主机运行状况不良,错误原因官方文档解释:Block agents from heartbeating to a Cloudera Manager with different UUID until agent restart
是由于某种原因更改了Cloudera Manager服务器的标识(Cloudera Manager guid),代理将放弃心跳请求,并且不会遵循来自Cloudera Manager服务器的任何请求命令。结果,特工报告说他们的健康状况不佳。解决方法如下:
# 删除所有有问题服务器的agent目录下面的cm_guid文件,并重启失败节点的agent服务恢复
cd /var/lib/cloudera-scm-agent
# 删除cm-guid文件
rm -f cm_guid
# 重启agent服务,重启后会自动安装失败的agent
service cloudera-scm-agent restart
- Inspect Cluster
Inspect Cluster页面提供了一个用于检查网络性能的工具,以及用于搜索常见配置问题的主机检查器。Cloudera建议按顺序运行检查器。按顺序点击 Inspect Network Performance 与 Inspect Hosts 进行检测,点击显示检查器结果可以查看检查状况。
检测结果如下图所示,会检测出当前集群可能存在的风险,按照提示的风险解决步骤去处理就可以了。
# 第一个问题,在所有服务器上运行命令:
usermod -a -G hive kudu
# 第二个问题,在所有服务器上运行命令:
echo 10 > /proc/sys/vm/swappiness
# 第三个问题,在所有服务器上运行命令:
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
下面的版本汇总信息会显示CM和CDH版本适用,jdk版本也会显示不适用,但是实测好像所有异常问题都解决后,这个提示没有什么影响。
处理完所有问题之后检查都正常通过。
- Select Service,选择要安装的服务,我这里选择了hbase,也可以自定义需要安装的服务
CDH6以上的版本的安装服务界面,按照业务需求选择对应的服务,我是要安装HBASE集群,就选择Operational Database相关的服务
以下的图片是CDH5的安装服务选择界面,安装CDH6版本的可以忽略该步骤。
- 自定义角色分配
CDH各个组件介绍官方文档
每台服务器的部署情况根据服务器性能等各方面的考虑可以自行分配;
按服务维度的部署情况:
按主机维度的服务部署情况:
主机维度服务部署情况:
主机 | 角色 |
---|---|
cmserver | Hue Server, Service Monitor, Activity Monitor, Host Monitor, Event Server, Alert Publisher, Oozie Server |
master01 | Hbase Master, Hbase Thrift Server, HDFS Name Node, Hive Gateway, Hive Metastore Server, Hive Server2, Hue Load Balancer, ResourceManager, Zookeeper |
master02 | Hbase Master, HBase Thrift Server, HSFS SecondaryNameNode, JobHistory Server, Hive Metastore Server, HiveServer2, Load Balancer, Zookeeper |
slave01 | Hbase RegionServer, HDFS DataNode, YARNNodeManager, Zookeeper |
slave02 | Hbase RegionServer, HDFS DataNode, YARNNodeManager, Zookeeper |
slave03 | Hbase RegionServer, HDFS DataNode, YARNNodeManager, Zookeeper |
-
数据库设置
数据库schema参考前面 安装&配置MySQL 中配置的组件和数据库schema映射表,数据库用户名和密码也可以同一使用一个账号,配置好后测试数据库连接
-
集群配置更改
最终确认所有服务的核心配置参数,按照需要自行修改,一定要按照服务器磁盘挂载的情况修改数据存储的目录,避免发生磁盘空间不足的问题!
我的磁盘空间路径设置如下:
hbase:
hbase.rootdir=/hbase
hdfs:
dfs.namenode.name.dir=/home/app/hdfs/namenodedata
dfs.datanode.data.dir=/home/hdfsdata/data1,/home/hdfsdata/data2
dfs.namenode.checkpoint.dir=/home/app/hdfs/snn
yarn:
#NodeManager 本地目录
yarn.nodemanager.local-dirs=/home/app/yarn/nm
zookeeper:
dataDir=/home/app/zookeeper/data
dataLogDir=/home/app/zookeeper/log
hive:
hive.metastore.warehouse.dir=/home/app/hive/warehouse
oozie:
#ShareLib 根目录
oozie.service.WorkflowAppService.system.libpath=/home/app/oozie
Oozie 服务器数据目录=/home/app/oozie/data
cmserver:
#Host Monitor 存储目录
firehose.storage.base.directory=/home/app/cloudera-host-monitor
#Service Monitor 存储目录
firehose.storage.base.directory=/home/app/cloudera-service-monitor
-
安装命令详细信息,该步骤完成后即完成集群安装
安装过程中出现的问题以及解决方案汇总:CDH6.3安装问题汇总
这一步完成后即完成集群的安装,安装完成后界面显示如下:
-
集群管理界面
-
CDH应用默认安装的路径位置:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/
集群启动命令
如果服务器由于异常情况而宕机,Cloudera Manager Server会自动重启,但是每台主机的agent服务需要手动重启下,否则scmServer 与scmAgent 通信会有问题。
# 查看cm server运行状态
service cloudera-scm-server status
# 重启cm server
service cloudera-scm-server restart
# 启动cm server
service cloudera-scm-server start
# 查看agent状态,将status换成start,stop,restart就对应启动、停止、重启agent
service cloudera-scm-agent status
# 重启agent
service cloudera-scm-agent restart
集群服务器异常处理
CMServer服务器宕机处理
实测停止cmServer服务器,Cloudera Manager管理平台不可能,但是hbase集群可以正常提供服务不受影响。重新启动cmServer服务器会自动重启CDH相关的进程,Cloudera Manager管理平台可以自动恢复监控相关的服务。
CMServer服务器损坏处理
如果Cloudera Manager服务器发生损坏无法恢复,CM搭建的HBASE集群中服务和数据是分离的,可以重新安装CMServer服务,在新的CMServer管理平台上搭建一个全新的集群,将数据目录指定到原来的目录,新集群就可以自动复原原来集群zookeeper,hdfs,hbase,kafka的数据。