CentOS7 离线搭建 CDH5.16.1

1. 环境

  1. Centos 7.6
  2. JDK 1.8
  3. Scala 2.11.8
  4. 服务器3台

2. 服务器搭建前环境准备

1.所有节点关闭防火墙

#查看防火墙状态
firewall-cmd --state
#停止firewall
systemctl stop firewalld.service
#禁止firewall开机启动
systemctl disable firewalld.service

2.所有节点修改主机名

vim /etc/sysconfig/network
vim /etc/hostname

3.所有节点配置主机名与ip地址映射

vim /etc/hosts

4.所有节点关闭SELINUX

修改配置文件/etc/selinux/config(重启生效),将SELINUX=enforcing 改为SELINUX=disabled

5.所有节点重启

reboot

6.所有节点配置ssh免密登录

  • 生成公钥和私钥
    任意目录下 ssh-keygen -t rsa , 然后敲 3 下回车,就会在 ~/.ssh 下生成两个文件 id_rsa(私钥)id_rsa.pub(公钥)

  • 将公钥拷贝到要免密登录的目标机器上
    进入~/.ssh目录,拷贝公钥 ssh-copy-id cdh02

    注意:**ssh 不会携带 /etc/profile,但是会携带 ~/.bashrc,建议在 ~/.bashrc 内添加 source /etc/profile **

7.所有节点安装JDK,配置环境变量

8.所有节点安装Scala,配置环境变量

3. 安装Mysql

1.卸载系统自带的相关数据库

rpm -qa | grep mysql
rpm -qa | grep mariadb

rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

2.部署Mysql

tar -zxvf mysql-5.7.25-el7-x86_64.tar.gz -C /opt/module/

3.账号与权限

#添加账号
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql

#创建data目录
mkdir /opt/module/mysql-5.7.25-el7-x86_64/data

#修改权限
chown -R mysql:mysql /opt/module/mysql-5.7.25-el7-x86_64/

4.初始化Mysql,获取root@localhost的初始密码

cd  /opt/module/mysql-5.7.25-el7-x86_64
./bin/mysqld --initialize --user=mysql --basedir=/opt/module/mysql-5.7.25-el7-x86_64 --datadir=/opt/module/mysql-5.7.25-el7-x86_64/data

5.配置环境变量

vim  /etc/profile
source /etc/profile

6.设置开机启动

#复制开机启动脚本到系统服务
cp /opt/module/mysql-5.7.25-el7-x86_64/support-files/mysql.server /etc/rc.d/init.d/mysqld
chown mysql:mysql /etc/rc.d/init.d/mysqld

# 修改默认的"basedir"与"datadir"
vim /etc/rc.d/init.d/mysqld
basedir=/opt/module/mysql-5.7.25-el7-x86_64
datadir=/opt/module/mysql-5.7.25-el7-x86_64/data

#添加开机启动脚本
chkconfig --add mysqld

#3:带网络的多用户,也就是所谓的纯字符模式
#5:图形界面的多用户模式
chkconfig --level 35 mysqld on

7.设置文件路径:log && pid && socket

# 日志路径
mkdir -p /var/log/mysqld
touch /var/log/mysqld/mysqld.log
chown -R mysql:mysql /var/log/mysqld/

# pid路径
mkdir -p /var/run/mysqld
chown -R mysql:mysql /var/run/mysqld/

# socker路径
mkdir -p /var/lib/mysqld
chown -R mysql:mysql /var/lib/mysqld/
ln -s /var/lib/mysqld/mysql.sock /tmp/mysql.sock

8.设置my.cnf文件

# 注意"log-error","pid-file"与"socket"的路径
mkdir -p /opt/module/mysql-5.7.25-el7-x86_64/etc
vim  /opt/module/mysql-5.7.25-el7-x86_64/etc/my.cnf


[mysqld]
character-set-server=utf8
max_connections = 3000
log-error=/var/log/mysqld/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/lib/mysqld/mysql.sock
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysql]
default-character-set=utf8

# 软链接
ln -s /opt/module/mysql-5.7.25-el7-x86_64/etc/my.cnf /etc/my.cnf

# 赋权
chown -R mysql:mysql /opt/module/mysql-5.7.25-el7-x86_64/etc/

9.启动Mysql

# 使用初始化密码登陆
mysql -uroot -p

set password=password(‘123456‘);
flush privileges;

# 远程登陆权限
grant all privileges on *.*  to  'root'@'%'  identified by '123456'  with grant option;
flush privileges;

# 查看账号
select user, host, authentication_string from mysql.user;

4.Cloudera Mnanger安装

CM下载地址:http://archive.cloudera.com/cm5/cm/5/
离线库下载地址:http://archive.cloudera.com/cdh5/parcels

1.所有节点下载第三方依赖

yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb

2.创建CM需要的数据库

--集群监控数据库
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

--hive数据库
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

--oozie数据库
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

--hue数据库
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

3.解压 cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz (在cdh01上)

mkdir /opt/module/cloudera-manager
tar -zxvf /opt/software/cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz -C /opt/module/cloudera-manager/

4.创建用户cloudera-scm(所有节点)

useradd --system --home=/opt/module/cloudera-manager/cm-5.16.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

# --system 创建一个系统账户
# --home 指定用户登入时的主目录,替换系统默认值/home/<用户名>
# --no-create-home 不要创建用户的主目录
# --shell 用户的登录 shell 名
# --comment 用户的描述信息

注意:
Cloudera Manager默认用户为cloudera-scm,创建具有此名称的用户是最简单的方法。 安装完成后,将自动使用此用户。

5.配置CM Agent

vim /opt/module/cloudera-manager/cm-5.16.1/etc/cloudera-scm-agent/config.ini

6.配置CM的数据库

1.拷贝mysql jar文件到目录 /usr/share/java/
mkdir /usr/share/java/
cp /opt/software/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar /usr/share/java/

#注意jar包名称要修改为mysql-connector-java.jar
mv /usr/share/java/mysql-connector-java-5.1.27-bin.jar  /usr/share/java/mysql-connector-java.jar
2.在mysql中创建cm库
/opt/module/cloudera-manager/cm-5.16.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hcdh01 -uroot -p123456 --scm-host cdh01 scm scm scm

## -h:Database host
## -u:Database username
## -p:Database Password
## --scm-host:SCM server's hostname

7.分发cloudera-manager

scp -r /opt/module/cloudera-manager/ cdh02:/opt/module/
scp -r /opt/module/cloudera-manager/ cdh03:/opt/module/

8.创建Parcel-repo 目录(cdh01)

mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo

cp /opt/software/CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel /opt/cloudera/parcel-repo/

cp /opt/software/CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha /opt/cloudera/parcel-repo/

cp /opt/software/manifest.json /opt/cloudera/parcel-repo/

9.在Agent 节点(cdh01,cdh02,cdh03)创建目录/opt/cloudera/parcels

mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

10.分发Parcel-repo

scp -r /opt/cloudera/ cdh02:/opt/
scp -r /opt/cloudera/ cdh03:/opt/

11.启动和关闭CM Server&Agent 服务

服务节点:cdh01

/opt/module/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-server start

工作节点:cdh01,cdh02,cdh03

/opt/module/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-agent start

注意:启动过程非常慢,Manager 启动成功需要等待一段时间,过程中会在数据库中创建对应的表需要耗费一些时间。

12.访问http://xxx:7180,账号密码:admin

5.安装CDH

1.最终用户许可条款和条件

2.部署版本

3.指定集群服务的安装节点

4.选择CDH版本

5.集群安装,安装速度视网络情况而定


报错1:主机运行状况不良!
原因:CM的集群是Server-Agent模式的,那么必须有一个唯一的id来标识Server和Agent属于同一个集群,在Agent端就是使用cm_guid文件来记录id的;假设server端重新安装了一遍,重新构建集群,而agent没有重新安装,那么他们的id是一定不同的,就会造成上面的异常。
解决:删除agent目录下面的cm_guid文件,并重启失败节点的agent服务恢复

rm -rfv /opt/module/cloudera-manager/cm-5.16.1/lib/cloudera-scm-agent/cm_guid

报错2:分发parcel卡住

机器的hosts文件内容不一致!有的配置没有localhost!
把localhost这个域名添加回去:
127.0.0.1 localhost

6.检查主机正确性

7.群集设置,安装服务(选择自定义服务)

8.分配角色

9.数据库设置

10.审核更改

11.首次运行

12.服务安装完成

原文地址:https://www.cnblogs.com/wuning/p/11699756.html