CDH6.3.2集群搭建

时间:2020-11-14 13:05:33   收藏:0   阅读:54
一.CDH简介
官网:https://www.cloudera.com/
CDH,全称Cloudera‘s Distribution, including Apache Hadoop。是Hadoop众多分支中对应中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,提供了Hadoop的核心(可扩展存储、分布式计算),最为重要的是提供基于web的用户界面。
优点:版本划分清晰,更新速度快,支持Kerberos安全认证,支持多种安装方式(如Yum、rpm等)。CDH分为Cloudera Manager管理平台和CDH parcel(parcel包含各种组件的安装包)。这里采用CM6.3.1(2019-10-11)和CDH6.3.2(2019-11-12更新)。

二.CDH三节点集群搭建环境配置准备
1.三台机器配置及ip,每个节点的包和程序都放在/data下,包放在/data/cdh下
centos7.6 主节点 ip:190.168.3.60
centos7.6 从节点 ip:190.168.3.61
centos7.6 从节点 ip:190.168.3.62

2.修改主机名
hostnamectl set-hostname cdh01
hostnamectl set-hostname cdh02
hostnamectl set-hostname cdh03

3.关闭selinux,firewalld
Sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config
Systemctl stop firewalld 关闭防火墙
Systemctl disable firewalld 禁用防火墙开机自启

4.三台主机添加hosts,做好能相互解析
技术分享图片
echo -e "190.168.3.60 cdh01\n190.168.3.61 cdh02\n190.168.3.62 cdh02\n " >> /etc/hosts

5.同步阿里云时间
ntpdate ntp1.aliyun.com

6.三台机器相互免密
在root的根目录生成密钥:
ssh-keygen -t rsa
技术分享图片
在cdh01上分发密钥:
ssh-copy-id cdh01
ssh-copy-id cdh02
ssh-copy-id cdh03

在cdh02上分发密钥:
ssh-copy-id cdh01
ssh-copy-id cdh02
ssh-copy-id cdh03

在cdh03上分发密钥:
ssh-copy-id cdh01
ssh-copy-id cdh02
ssh-copy-id cdh03

做完之后相互检测
技术分享图片

7.禁用透明大页(所有节点)
查看透明大页的设置和启动状态
cat /sys/kernel/mm/transparent_hugepage/defrag
cat /sys/kernel/mm/transparent_hugepage/enabled
操作:
临时关闭:
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
永久关闭:
将临时关闭命令添加到/etc/rc.d/rc.local文件中,并赋予执行权限
Echo ’echo never > /sys/kernel/mm/transparent_hugepage/defrag‘ >> /etc/rc.d/rc.local
echo ‘echo never > /sys/kernel/mm/transparent_hugepage/enabled‘ >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
验证:cat /etc/rc.d/rc.local

8.修改Linux swappiness参数(所有节点)
为了避免服务器使用swap功能而影响服务器性能,一般都会把vm.swappiness修改为0(cloudera建议10以下)
echo ‘vm.swappiness=10‘ >> /etc/sysctl.conf
sysctl -p

9.安装JDK(所有节点)
注意:CDH的安装 要求使用指定版本的oracle-j2sdk1.8
查询是否有已经安装的jdk
rpm -qa | grep java
如果之前安装过Java组件,先将其卸载
yum remove java* -y
上传安装包oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm到/data/cdh目录
技术分享图片

启动安装
rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
查找jdk安装路径
find / -name java
技术分享图片
配置环境变量
echo ‘export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera‘ >> /etc/profile
echo ‘export PATH=.:$JAVA_HOME/bin:$PATH‘ >> /etc/profile
source /etc/profile
验证java -version
技术分享图片

三.安装CDH三节点集群
1.Cloudera Manger下载
https://archive.cloudera.com/cm6/6.3.1/redhat7/yum/RPMS/x86_64/
https://archive.cloudera.com/cm6/6.3.1/
技术分享图片
技术分享图片

2.CDH下载
https://archive.cloudera.com/cdh6/6.3.2/parcels/
技术分享图片

3.在主节点上cdh01上安装数据库mysql下载版本为8
mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
查询出来已安装的mariadb rpm -qa | grep mariadb
如果有,卸载mariadb,文件名为上述命令查询出来的文件rpm -e --nodeps 文件名

创建目录mdkir /data/cdh ,上传安装包到/dat/cdh下
技术分享图片

解压安装包
tar Jxvf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
重命名mv mysql-8.0.18-linux-glibc2.12-x86_64 mysql
mkdir /data/cdh/mysql/data
创建并编辑my.cnf文件
vim /etc/my.cnf
填入以下内容
[client]
port=3306
socket=/tmp/mysql.sock
[mysqld]
port=3306
user=mysql
socket=/tmp/mysql.sock
basedir=/data/cdh/mysql
datadir=/data/cdh/mysql/data
log-error=/data/cdh/mysql/error.log
pid-file=/data/cdh/mysql/mysql.pid
transaction_isolation = READ-COMMITTED
character-set-server = utf8
collation-server = utf8_general_ci
lower_case_table_names = 1
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"

创建组和用户
groupadd mysql useradd -g mysql mysql
修改目录权限
将 /data/cdh/mysql给予mysql用户 chown -R mysql:mysql /data/cdh/mysql/mysql
将/data/cdh/mysql权限设置为755 chmod -R 755 /data/cdh/mysql/mysql

初始化mysql cd /data/cdh/mysql
./bin/mysqld --initialize --user=mysql
尝试启动mysql
cd cd /data/cdh/mysql
./support-files/mysql.server start
技术分享图片

将mysql添加为服务
cp /data/cdh/mysql/support-files/mysql.server /etc/init.d/mysql
设置开机启动
cd /etc/init.d
chmod 755 /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on
service mysql restart

配置环境变量
echo ‘export MYSQL_HOME=/usr/local/mysql‘ >> /etc/profile
echo ‘export PATH=.:$MYSQL_HOME/bin:$PATH‘ >> /etc/profile
source /etc/profile
使用默认密码登陆mysql

mysql -uroot -p ...
在MySQL8中第一次登陆需要重新设置root密码123456
ALTER user ‘root‘@‘localhost‘ IDENTIFIED BY ‘123456‘;
开启远程访问
CREATE USER ‘root‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘123456‘;
GRANT ALL ON . TO ‘root‘@‘%‘;
FLUSH PRIVILEGES;

这里注意要提前创建好库,要不然cdh集群启动会报错
create database cmserver;

4.下载jdbc依赖,上传JDBC依赖包(所有节点)
mysql-connector-java-8.0.12.jar
创建目录mkdir -p /usr/share/java,上传mysql-connector-java-8.0.12.jar包
重命名 mv mysql-connector-java-8.0.12.jar mysql-connector-java.jar
传到其他节点 scp mysql-connector-java.jar cdh01:/usr/share/java/

5.安装Apache Httpd服务
安装启动
yum install httpd -y
systemctl start httpd
systemctl enable httpd

6.配置Cloudera Manager安装包yum源(master节点,此集群中为cdh01,cdh02和cdh03要配置该源)
创建目录
mkdir -p /var/www/html/cloudera-repos/cm6
将下载好的rmp安装包上传到/var/www/html/cloudera-repos/cm6
创建仓库
cd /var/www/html/cloudera-repos/cm6
yum install -y createrepo
createrepo .
创建repo文件(所有节点)
vim /etc/yum.repos.d/cloudera-manager.repo
[cloudera-manager]
name=Cloudera Manager 6.3.1
baseurl=http://cdh01/cloudera-repos/cm6
gpgkey=https://archive.cloudera.com/cm6/6.3.1/redhat7/yum/RPM-GPG-KEY-cloudera
gpgcheck=1
enabled=1
autorefresh=0
type=rpm-md
清理并缓存(所有节点):更新yum源
yum clean all
yum makecache
yum repolist
技术分享图片

查看cloudera源http://190.168.3.60/cloudera-repos/cm6/
技术分享图片

将本地yum文件分发至从节点
cd /etc/yum.repos.d/
scp cloudera-manager.repo root@190.168.3.61:$PWD
scp cloudera-manager.repo root@190.168.3.62:$PWD
更新cdh02和cdh03的yum源
yum clean all
yum makecache
yum repolist

7.安装 Cloudera Manager(master节点,此集群中为cdh01)
执行安装
yum install -y cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
安装完CM后/opt/ 下会出现cloudera目录
技术分享图片

上传CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel和sha文件到/opt/cloudera/parcel-repo目录
技术分享图片

执行校验
sha1sum CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel | awk ‘{print $1}‘ > CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
执行CM初始化脚本
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql cmserver root 123456
技术分享图片

启动服务
systemctl start cloudera-scm-server.service
查看服务状态为启动
systemctl status cloudera-scm-server.service
技术分享图片

8.其他服务安装及页面安装
在Windows C:Windows/system32/drivers/etc/hosts中进行添加190.168.3.60 cdh01
方便浏览器可以访问 http://cdh01:7180/ 或者http://190.168.3.60:7180/
用户名密码:admin/admin
技术分享图片
WELCOME 继续
技术分享图片
Accept License 同意协议,继续
技术分享图片
Select Edition 勾选免费版,继续
技术分享图片
Welcome (Add Cluster - Installation) 创建集群
技术分享图片
Cluster Basics 集群起名
技术分享图片
Specify Hosts 添加节点,地址是之前安装的地址,不影响参考
技术分享图片
Select Repository 选择安装方式
技术分享图片

JDK 安装选项,选择不勾选
技术分享图片
提供root SSH 登录凭据
技术分享图片
Install Agents 安装agent
技术分享图片
Install Parcels 安装数据包
技术分享图片
Inspect Cluster 检查集群
技术分享图片
技术分享图片

解决问题后,安装组件(HDFS,YARN,ZOOKEEPER)
技术分享图片
技术分享图片
技术分享图片

这里可以将SecondaryNameNode和NameNode放在不同的机器,可以在NameNode异常时尽可能的确保数据正确性
数据库名称:cmserver
技术分享图片
基本设置不许更改
技术分享图片
技术分享图片
技术分享图片
技术分享图片
安装完成,解决问题
查看主机节点信息
技术分享图片
其他的组件服务可以通过CDH的添加服务安装
技术分享图片

原文:https://blog.51cto.com/anfishr/2550426

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!