1、集群集群准备
阿里云按需付费云主机即可,或者自己配置三台服务器,2C16G
服务器操作系统:Centos7.2 64
2、安装包
JDK:jdk-8u181-linux-x64.tar.gz
连接:https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html
下载地址:https://archive.cloudera.com/cm6/6.2.1/redhat7/yum/RPMS/x86_64/
Parcel包:
https://archive.cloudera.com/cdh6/6.2.1/parcels/
CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel
CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel.sha1
manifest.json
MySQL JDBC jar:mv mysql-connector-java-5.1.47.jar mysql-connector-java.jar
连接:http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar
3、集群初始化
3.1 hosts修改
echo "192.168.1.118 bigdata001" >> /etc/hosts
echo "192.168.1.119 bigdata001" >> /etc/hosts
echo "192.168.1.120 bigdata001" >> /etc/hosts
cat /etc/hosts验证是否写入正确
3.2 关闭防火墙和清空规则
systemctl stop firewalld
systemctl disable firewalld
iptable –F #情况规则
3.3 关闭selinux
vi /etc/selinux/config
SELINUX=disabled
3.4 时区
date查看是否上海时区或CST
如是其他时区则修改时区,否则下一步
mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
3.5. 时间同步ntpdate
3.6. 主从 主和互联网(或公司内部时钟)同步时间,从节点与主节点同步
3.7 主主 每台都和互联网(或公司内部时钟)同步
三台服务器都安装htp:yum install -y ntp
在主机bigdata001修改文件/etc/ntp.conf
添加如下两行内容,第一行同步服务器本地时间,第二行是允许一个网段的IP进行同步时间
server 127.127.1.0 iburst local clock
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
然后重启时间服务systemctl start ntpd
systemctl status ntpd #查看状态
验证:ntpq –p
另外两台服务器禁止ntpd服务systemctl stop ntpd , systemctl disable ntpd
然后同步时间(另外两台执行)
ntpdate bigdata001
添加定时任务执行时间同步即可crontal –e,添加如下内容
* * * * * /usr/sbin/ntpdate bigdata001
4.1 传送包到其他节点
创建java目录,mkdir /usr/java
5.1 配置JDK
解压jdk安装包 tar –xvf jdk-8u181-linux-x64.tar.gz –C /usr/java
授权目录:chown root:root /usr/java
添加java环境变量
echo "export JAVA_HOME=/usr/java/jdk1.8.0_45" >> /etc/profile
echo "export PATH=$JAVA_HOME:$JAVA_HOME/bin:$PATH" >> /etc/profile
source /etc/profile
5.2 验证which java是否输出配置的目录
6. 安装MySQL
查看这篇文章:https://blog.csdn.net/qq_42869878/article/details/109384202
10. 创建CDH元数据库 用户 和amon的服务的库 用户
create database cmf default character set utf8;
create database amon default character set utf8;
create database hive default character set utf8;
create database hue default character set utf8;
可以直接使用root用户连接,也可以另外授权其他用户的数据库权限(可选)
grant all privileges on cmf.* to ‘cmf’@’%’ identified by ‘123456’;
grant all privileges on amon.* to ‘amon’@’%’ identified by ‘123456’’;
grant all privileges on hive.* to ‘hive’@’%’ identified by ‘123456’’;
grant all privileges on hue.* to ‘hue’@’%’ identified by ‘123456’’;
flush privileges;
7. 选择第一台部署amon的进程,那么mysql,jdbc jar,把版本号去掉
mkdir -p /usr/share/java
cp mysql-connector-java-5.1.47.jar /usr/share/java/mysql-connector-java.jar
8. 部署CM server+agent rpm
8.1 cm包
Server服务端包
cloudera-manager-daemons-6.2.1-1426065.el7.x86_64.rpm
cloudera-manager-server-6.2.1-1426065.el7.x86_64.rpm
agent端包
cloudera-manager-daemons-6.2.1-1426065.el7.x86_64.rpm
cloudera-manager-agent-6.2.1-1426065.el7.x86_64.rpm
8.2 部署server端:安装
rpm -ivh cloudera-manager-daemons-6.2.1-1426065.el7.x86_64.rpm --nodeps
rpm -ivh cloudera-manager-server-6.2.1-1426065.el7.x86_64.rpm --nodeps
安装完修改配置文件vi /etc/cloudera-scm-server/db.properties
com.cloudera.cmf.db.host=databig001:3306
com.cloudera.cmf.db.name=cmf
com.cloudera.cmf.db.user=cmf
com.cloudera.cmf.db.password=123456
com.cloudera.cmf.db.setupType=EXTERANL
然后启动服务:
service cloudera-scm-server start
然后看日志,出现7180即可
打开web界面7180,不要动不要动!!!!!!
9.3 部署agent端(三台都执行)
rpm -ivh cloudera-manager-daemons-6.2.1-1426065.el7.x86_64.rpm --nodeps
rpm -ivh cloudera-manager-agent-6.2.1-1426065.el7.x86_64.rpm --nodeps
安装好第一台的agent端后,编辑文件
vi /etc/cloudera-scm-agent/config.ini
修改服务器server地址或者主机名
server_host=bigdata001
9.4 分别安装好三台agent后,启动服务:service cloudera-scm-agent start
查看状态:service cloudera-scm-agent status
打开web ui:http://ip:7180 进行安装配置组件
填写集群名字
选择主机,点开Currenty Manager host可以看到有三台服务器全选。
上图先别动,继续下面步骤
10. parcel包离线制作
yum install -y httpd
有个文件以shal结尾的mv时改成以sha结尾即可
mkdir /var/www/html/cdh6_parcel
mv CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel /var/www/html/cdh6_parcel/CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel
mv CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel.sha1 /var/www/html/cdh6_parcel/CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel.sha
mv manifest.json /var/www/html/cdh6_parcel/manifest.json
然后启动服务,service httpd start
访问http的目录看下,http://ip/cdh6_parcel
11. 继续上面步骤页面安装,在Parcel 代理填写http://ip/cdh6_parcel地址
继续安装即可。
后面按需求安装,先安装hdfs服务,后面再添加服务。
其他配置不需要修改,修改这个存放数据目录即可,如生产环境多个磁盘以逗号隔开,/data01/dfs/dn,/data02/dfs/dn,/data03/dfs/dn
然后继续,等待安装完成后,还可以添加其他服务组件,如hive,hue,oozie等,看需求
然后配置告警即可完成安装。
12. 对外开放端口
13. 安装Kafka服务
到官网下载安装包:https://archive.cloudera.com/kafka/parcels/4.1.0/
放到自己的离线网上,http://ip/kafka_parcel
mkdir /var/www/http/kafka_parcel
cp KAFKA-4.1.0-1.4.1.0.p0.4-el7.parcel /var/www/http/kafka_parcel/KAFKA-4.1.0-1.4.1.0.p0.4-el7.parcel
cp KAFKA-4.1.0-1.4.1.0.p0.4-el7.parcel.sha1 /var/www/http/kafka_parcel/KAFKA-4.1.0-1.4.1.0.p0.4-el7.parcel.sha
cp manifest.json /var/www/http/kafka_parcel/manifest.json
但是有提示:Before adding this service, ensure that either the Kafka parcel is activated or the Kafka package is installed. 这样子直接添加kafka的服务是不正确的
13.1.在Cloudera Manager页面找到主机->Parcel点击进入
13.2.在页面的Parcel列找到KAFKA并点击下载,下载完成后点击 分配 进行分配,然后点击 激活, 出现 已分配,已激活 证明分配激活成功
回到Cloudera Manager页通过添加服务添加kafka服务,但是在启动kafka服务的过程中又报错了:
报的错误是内存溢出错误,默认的是50M,
内存溢出错误问题解决:回到Cloudera Manager页面进入Kafka管理界面,点击配置项,然后在其配置栏中点击 kafka broker 找到Heap Size of Broker这一栏,改成1G就可以了,然后保存更改重启该服务。
问题:
HDFS添加 NFS Gateway 角色实例启动失败问题及解决办法
NFS Gateway 进程退出,尝试重启该角色实例,执行重启操作后,报如下异常:
using as SECURE_USER
using as SECURE_GROUP
CONF_DIR=/run/cloudera-scm-agent/process/1436-hdfs-NFSGATEWAY
CMF_CONF_DIR=/etc/cloudera-scm-agent
unlimited
Cannot connect to port 111.
No portmap or rpcbind service is running on this host. Please start portmap or rpcbind service before attempting to start the NFS Gateway role on this host.
Wed Feb 21 01:07:02 EST 2018
JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera
using /usr/java/jdk1.7.0_67-cloudera as JAVA_HOME
using 5 as CDH_VERSION
using /run/cloudera-scm-agent/process/1436-hdfs-NFSGATEWAY as CONF_DIR
上述红色字体的异常信息大致讲的是:在部署 NFS Gateway 的主机上没有运行portmap或者rpcbind服务,在尝试启动 NFS Gateway 角色实例之前,请先启动该主机上的portmap或者rpcbind服务。
定位到问题原因了,没安装portmap或者rpcbind服务。
安装NFS相关的依赖包
1.安装nfs-utils
~]# rpm -qa |grep nfs
nfs-utils-1.3.0-0.21.el7.x86_64
nfs4-acl-tools-0.3.3-14.el7.x86_64
libnfsidmap-0.25-12.el7.x86_64
2.安装rpcbind
~]# rpm -qa |grep rpcbind
rpcbind-0.2.0-32.el7.x86_64
3.启动rpcbind服务
~]# systemctl start rpcbind
~]# systemctl status rpcbind
4. 重启NFS Gateway角色解决