Cloudera Manager企业大数据平台集群增加节点实践

准备工作

1.主机域名配置

#第一台服务器上执行 

echo "172.31.xxx.xx ptx-bigdata1" >> /etc/hosts
echo "172.31.xxx.xx  ptx-bigdata2" >> /etc/hosts 
echo "172.31.xxx.xx ptx-bigdata3" >> /etc/hosts 
echo "172.31.xxx.xx ptx-bigdata4" >> /etc/hosts
echo "172.31.xxx.xx ptx-bigdata5" >> /etc/hosts 

echo "172.31.xxx.xx ptx-bigdata6" >> /etc/hosts

echo "172.31.xxx.xx ptx-bigdata7" >> /etc/hosts

#因为所有主机的 hosts 文件都一致,为了减少重复工作使用,scp 命令拷贝到所有主机 
scp /etc/hosts root@主机ip:/etc/ 

前提:root账号配置了ssh免密登录.

#设置hostname 
#分别进入集群中的每个主机,设置 hostname,需要注意的是 hostname 最好不好设置为大写,因为后续如果要开启 kerberos 的时候会报错! 
hostnamectl set-hostname ptx-bigdata1 
hostnamectl set-hostname ptx-bigdata2 
hostnamectl set-hostname ptx-bigdata3 
hostnamectl set-hostname ptx-bigdata4 
hostnamectl set-hostname ptx-bigdata5 
#在每台主机上输入 hostname 看输出的结果是否与主机相对应 
Hostname 
#重启服务器

2.SSH免密登录(ptxbd账号)

#执行ssh-keygen -t rsa,三次Enter键

[ptxbd@ptx-bigdata1 ~]$  ssh-keygen -t rsa

[ptxbd@ptx-bigdata1 .ssh]$ ll

-rw-------. 1 ptxbd ptxbd 1679 Feb 26 04:18 id_rsa

-rw-r--r--. 1 ptxbd ptxbd  400 Feb 26 04:18 id_rsa.pub

-rw-r--r--. 1 ptxbd ptxbd  358 Feb 26 03:24 known_hosts

#拷贝公钥id_rsa.pub到其他节点

ssh-copy-id ptx-bigdata1

ssh-copy-id ptx-bigdata2

ssh-copy-id ptx-bigdata3

ssh-copy-id ptx-bigdata4

ssh-copy-id ptx-bigdata5

ssh-copy-id ptx-bigdata6

ssh-copy-id ptx-bigdata7

#验证

ssh ptx-bigdata2

ssh ptx-bigdata2

ssh ptx-bigdata3

ssh ptx-bigdata4

ssh ptx-bigdata5

ssh ptx-bigdata6

ssh ptx-bigdata7

3.关闭防火墙和清空规则

#查看防火墙状态,注:active是绿的running表示防火墙开启 
systemctl status firewalld.service 
#关闭防火墙 
systemctl stop firewalld.service 
#开机禁用防火墙自启命令 
systemctl disable firewalld.service 
#启动防火墙 
systemctl start firewalld.service 
#防火墙随系统开启启动  
systemctl enable firewalld.service 
#重启防火墙 
firewall-cmd –reload 
#清空防火墙规则 
sudo iptables -F

4.关闭所有节点SELINUX

vi /etc/selinux/config

将 SELINUX=enforcing 改为 SELINUX=disabled

[ptxbd@ptx-bigdata1 ~]$ sudo vi /etc/selinux/config

5.安装JDK

JDK 最好安装 1.8 的,因为 CDH6.0 以后 JDK 版本最低为 1.8
1)卸载openjdk
检查是否已经安装了jdk,  java -verison

rpm -qa|grep java

rpm –e --nodeps    xxxxxxxxx

2)新增的节点上创建/opt/software/cdh6.2.0目录

[ptxbd@ptx-bigdata7 ~]$ sudo mkdir -p /opt/software/cdh6.2.0

[ptxbd@ptx-bigdata7 opt]$ sudo chown -R ptxbd:ptxbd software

3)ptx-bigdata1分发jdk文件到新增节点

[ptxbd@ptx-bigdata1 cdh6.2.0]$ scp jdk-8u211-linux-x64.tar.gz ptxbd@ptx-bigdata6:/opt/software/cdh6.2.0/

4)解压安装包

#每个节点都创建/usr/java目录 
sudo mkdir /usr/java/ 
#解压到每个节点/usr/java/目录下 
sudo tar -zxvf jdk-8u211-linux-x64.tar.gz -C /usr/java/ 
#必须修正所属用户及用户组 
sudo chown -R root:root /usr/java/jdk1.8.0_211 
drwxr-xr-x 7 root root 4096 Apr 2 2019 jdk1.8.0_211

*****提示:切记必须修正JDK所属用户及用户组 chown -R root:root /usr/java/jdk1.8.0_211

6.设置NTP

参考:企业大数据CDH管理平台搭建方案

7.CM Agent安装(官方rpm包)

Agent:
cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm
cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm 

1)分发rpm文件到新增节点ptx-bigdata6,ptx-bigdata7

scp cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm ptxbd@ptx-bigdata6:/opt/software/cdh6.2.0/

scp cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm ptxbd@ptx-bigdata6:/opt/software/cdh6.2.0/

2)安装Agent

sudo rpm -ivh cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm --nodeps --force

sudo rpm -ivh cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm --nodeps --force

3)配置Agent

sudo vi /etc/cloudera-scm-agent/config.ini

[General]

# Hostname of the CM

server_host=ptx-bigdata1

4)启动Agent

sudo service cloudera-scm-agent start

sudo service cloudera-scm-agent restart(重启)

5)查看Agent转态

sudo service cloudera-scm-agent status

8.配置Parcel

#配置本地源

1)新增的Agent节点

创建目录/opt/cloudera/parcels,执行: 
mkdir -p /opt/cloudera/parcels 
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels 

2)重启Server/Agent 
sudo service cloudera-scm-server restart 
sudo service cloudera-scm-agent restart(重启)

*****重启cloudera-scm-server,出现了问题,定位了2个多小时,详见下面问题2

Cloudera Manger添加节点

Specify Hosts

Cloudera Manager企业大数据平台集群增加节点实践_第1张图片

Install Parcels

Cloudera Manager企业大数据平台集群增加节点实践_第2张图片

检查主机正确性

Cloudera Manager企业大数据平台集群增加节点实践_第3张图片

***问题(3个问题)
问题1:减少集群使用交换内存
swappiness 设置值的区间在 0~100 之间,swap 即交换空间,作用类似于 Windows 中的虚拟内存,也就是当物理内存不足时,将硬盘上的 swap 分区当做内存来使用。但是,由于磁盘的读写速率与内存相比差太多,一旦发生大量交换,系统延迟就会增加,甚至会造成服务长期不可用,这对于大数据集群而言是致命的。vm.swappiness 参数用于控制内核对交换空间的使用积极性,默认是 60。值越高,就代表内核越多地使用交换空间。对于内存较大的 CDH 集群,我们一般将这个值设为 0 或 1。0 表示只有当可用物理内存小于最小阈值 vm.min_free_kbytes 时才使用交换空间,1 则表示最低限度地使用交换空间。
1、新增主机运行以下三条命令
sysctl -w vm.swappiness=0
echo 'vm.swappiness=0' >> /etc/sysctl.conf
sysctl -p
问题2:大页面
1、新增主机输入以下命令
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
2、新增主机的/etc/rc.local 中也需要加入这两条命令
vi /etc/rc.local 
echo never > /sys/kernel/mm/transparent_hugepage/enabled 
echo never > /sys/kernel/mm/transparent_hugepage/defrag 
问题3:暂时忽略

选择主机模板

Cloudera Manager企业大数据平台集群增加节点实践_第4张图片

创建主机模板(slave

Cloudera Manager企业大数据平台集群增加节点实践_第5张图片

Cloudera Manager企业大数据平台集群增加节点实践_第6张图片

Cloudera Manager企业大数据平台集群增加节点实践_第7张图片

选择主机模板

Cloudera Manager企业大数据平台集群增加节点实践_第8张图片

Cloudera Manager企业大数据平台集群增加节点实践_第9张图片

Cloudera Manager企业大数据平台集群增加节点实践_第10张图片

问题

问题1:

重启cloudera-scm-server.service服务启动报错,UI界面无法访问。

Cloudera Manager企业大数据平台集群增加节点实践_第11张图片

原因分析:

从报错信息查看,是跟日志相关。由于前期由于磁盘不够用,手动删除了/var/log/下的所有日志文件,日志写入找不到目录,查看详细报错信息也无日志查找,只能看console中的日志。网上搜了一下同类问题,感觉到是我日志的问题。

解决方案:

在/var/log/目录下创建cloudera-scm-server目录,修改属主、属组为cloudera-scm

sudo mkdir /var/log/cloudera-scm-server

sudo chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-server

Cloudera Manager企业大数据平台集群增加节点实践_第12张图片

再次启动Server,和Agent,生成了日志

访问UI,界面正常

问题2:升级完成后,执行shell脚本导入数据报错,相关驱动找不到

20/05/15 02:00:09 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: Could not load db driver class: com.mysql.jdbc.Driver

原因分析:新增节点没有加入需要连接mysql数据库的驱动包

解决方案:上传相关驱动包(MySQL驱动,ClickHouse驱动,NetSuite驱动)到新增节点ptx-bigdata6、ptx-bigdata7两台服务器

1)mysql驱动

sudo cp /opt/software/cdh6.2.0/mysql-connector-java-5.1.47-bin.jar /opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/lib/hadoop/lib/

sudo cp /opt/software/cdh6.2.0/mysql-connector-java-5.1.47-bin.jar /opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/lib/sqoop/lib/

2)Clickhouse驱动

sudo cp /opt/software/cdh6.2.0/clickhouse-jdbc-0.2.4.jar /opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/lib/hadoop/lib/

sudo cp /opt/software/cdh6.2.0/clickhouse-jdbc-0.2.4.jar /opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/lib/sqoop/lib/

3)NetSuite驱动

sudo cp /opt/software/cdh6.2.0/NQjc.jar /opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/lib/hadoop/lib/

sudo cp /opt/software/cdh6.2.0/NQjc.jar /opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/lib/sqoop/lib/

 

Cloudera Manager企业大数据平台集群增加节点实践_第13张图片

你可能感兴趣的:(大数据)