运维开发网

CDH6.3.2集群搭建

运维开发网 https://www.qedev.com 2020-11-14 12:11 出处:51CTO 作者:一百个小排
一.CDH简介官网:https://www.cloudera.com/CDH,全称Cloudera'sDistribution,includingApacheHadoop。是Hadoop众多分支中对应中的一种,由Cloudera维护,基于稳定版本的ApacheHadoop构建,提供了Hadoop的核心(可扩展存储、分布式计算),最为重要的是提供基于web的用户界面。优点:版本划分清晰,更新

一.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,做好能相互解析

CDH6.3.2集群搭建

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

CDH6.3.2集群搭建

在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

做完之后相互检测

CDH6.3.2集群搭建

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目录

CDH6.3.2集群搭建

启动安装

rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm

查找jdk安装路径

find / -name java

CDH6.3.2集群搭建

配置环境变量

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

CDH6.3.2集群搭建

三.安装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/

CDH6.3.2集群搭建

CDH6.3.2集群搭建

2.CDH下载

https://archive.cloudera.com/cdh6/6.3.2/parcels/

CDH6.3.2集群搭建

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下

CDH6.3.2集群搭建

解压安装包

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

CDH6.3.2集群搭建

将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

CDH6.3.2集群搭建

查看cloudera源http://190.168.3.60/cloudera-repos/cm6/

CDH6.3.2集群搭建

将本地yum文件分发至从节点

cd /etc/yum.repos.d/

scp cloudera-manager.repo [email protected]:$PWD

scp cloudera-manager.repo [email protected]:$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目录

CDH6.3.2集群搭建

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

CDH6.3.2集群搭建

执行校验

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

CDH6.3.2集群搭建

启动服务

systemctl start cloudera-scm-server.service

查看服务状态为启动

systemctl status cloudera-scm-server.service

CDH6.3.2集群搭建

8.其他服务安装及页面安装

在Windows C:Windows/system32/drivers/etc/hosts中进行添加190.168.3.60 cdh01

方便浏览器可以访问 http://cdh01:7180/ 或者http://190.168.3.60:7180/

用户名密码:admin/admin

CDH6.3.2集群搭建

WELCOME 继续

CDH6.3.2集群搭建

Accept License 同意协议,继续

CDH6.3.2集群搭建

Select Edition 勾选免费版,继续

CDH6.3.2集群搭建

Welcome (Add Cluster - Installation) 创建集群

CDH6.3.2集群搭建

Cluster Basics 集群起名

CDH6.3.2集群搭建

Specify Hosts 添加节点,地址是之前安装的地址,不影响参考

CDH6.3.2集群搭建

Select Repository 选择安装方式

CDH6.3.2集群搭建

JDK 安装选项,选择不勾选

CDH6.3.2集群搭建

提供root SSH 登录凭据

CDH6.3.2集群搭建

Install Agents 安装agent

CDH6.3.2集群搭建

Install Parcels 安装数据包

CDH6.3.2集群搭建

Inspect Cluster 检查集群

CDH6.3.2集群搭建

CDH6.3.2集群搭建

解决问题后,安装组件(HDFS,YARN,ZOOKEEPER)

CDH6.3.2集群搭建

CDH6.3.2集群搭建

CDH6.3.2集群搭建

这里可以将SecondaryNameNode和NameNode放在不同的机器,可以在NameNode异常时尽可能的确保数据正确性

数据库名称:cmserver

CDH6.3.2集群搭建

基本设置不许更改

CDH6.3.2集群搭建

CDH6.3.2集群搭建

CDH6.3.2集群搭建

CDH6.3.2集群搭建

安装完成,解决问题

查看主机节点信息

CDH6.3.2集群搭建

其他的组件服务可以通过CDH的添加服务安装

CDH6.3.2集群搭建

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号