CDH5集群安装文档

 操作环境

  1. 操作系统:Red Hat Enterprise Linux Server release 7.4
  2. 集群环境:CDH5.16.2
  3. 操作用户:root

1 前置准备
1.1 网络设置
修改网络IP,并设置为静态:
vim /etc/sysconfig/network-scripts/ifcfg-ens192

1.2 yum源配置

  1. 挂载系统镜像
    准备系统镜像文件
    注意:准备的系统镜像文件必须与当前系统版本一致
    cat /etc/redhat-release

在/media目录下创建DVD文件夹,然后挂载,系统镜像到此目录
mkdir /media/DVD
mount -o loop /dev/cdrom /media/DVD/
查看镜像已经挂载成功
df -h

进入 /etc/yum.repos.d 文件夹,创建os.repo文件并编辑该文件,编辑内容如下:
[osrepo]
name=RedHat7.4
baseurl=file:///media/DVD/
enabled=true
gpgcheck=false

cd /etc/yum.repos.d/
touch os.repo
vim os.repo

保存退出。然后执行命令 yum repolist:

在下面1.4节做好交互式脚本后,使用脚本进行同步到集群所有节点:
sh batch_scp.sh node.list /etc/yum.repos.d/os.repo /etc/yum.repos.d/

执行yum repolist:
sh batch_cmd.sh node.list “yum repolist”

1.3 安装httpd

  1. 下载安装httpd:
    yum install -y httpd

启动httpd,并设置开机自动启动,查看httpd状态:
systemctl start httpd
systemctl enable httpd
systemctl status httpd

  1. 修改系统yum源配置
    创建/var/www/html/iso目录,然后将/media/DVD目录下的所有内容拷贝到/var/www/html/iso目录

然后修改/etc/yum.repos.d/os.repo文件如下:
baseurl=http://192.168.0.196/iso/

然后执行yum repolist命令

使用Web访问iso目录测试如下长度/

  1. 配置Cloudera Manager的repo源
    将Cloudera Manager的所有rpm包放到 /var/www/html/目录的新建目录cm5.16.2下:

在/var/www/html/cm5.16.2目录下执行命令:createrepo . 生成rpm元数据:

在/etc/yum.repos.d/目录下新建cm.repo文件,并添加如下内容:

保存退出。
执行
yum clean all
yum repolist

1.4 准备交互式脚本
上传脚本到master节点,执行
yum -y install expect

1.5 主机名设置

  1. 使用hostnamectl set-hostname 主机名 :
    hostnamectl set-hostname cdh3.hadoop.com

  2. 配置 /etc/hosts
    添加主机IP映射

主机IP hostname
192.168.0.193 cdh1.hadoop.com
192.168.0.194 cdh2.hadoop.com
192.168.0.196 cdh3.hadoop.com

保存退出。
使用脚本分发到所有节点:

重开窗口确认主机名生效

1.6 禁止Selinux
执行如下命令:
./batch_cmd.sh node.list “setenforce 0”

1.7 关闭防火墙
批量关闭防火墙:
使用脚本命令:
./batch_cmd.sh node.list “systemctl stop firewalld”

设置开机不启动防火墙:
使用脚本命令:
./batch_cmd.sh node.list “systemctl disable firewalld”

查看防火墙状态:
使用脚本命令:
./batch_cmd.sh node.list “systemctl status firewalld”

1.8 关闭透明大页面
使用脚本命令批量执行如下操作:
sh batch_cmd.sh node.list “echo never > /sys/kernel/mm/transparent_hugepage/defrag”
sh batch_cmd.sh node.list “echo never > /sys/kernel/mm/transparent_hugepage/enabled”

修改/etc/rc.d/rc.local文件,设置开机自动关闭透明大页面,添加内容如下:
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

vim /etc/rc.d/rc.local

将修改后的文件分发到所有节点,然后修改文件可执行权限
sh batch_scp.sh node.list /etc/rc.d/rc.local /etc/rc.d/
sh batch_cmd.sh node.list “chmod +x /etc/rc.d/rc.local”
sh batch_cmd.sh node.list “ls -l /etc/rc.d/|grep rc.local”

1.9 设置swappiness
使用脚本批量执行
sh batch_cmd.sh node.list “sysctl vm.swappiness=1”
sh batch_cmd.sh node.list “echo 1 > /proc/sys/vm/swappiness”

查看swappiness的值:
sh batch_cmd.sh node.list “cat /proc/sys/vm/swappiness”

1.10 安装ntp时间同步

  1. 卸载chrony
    在Redhat7.x的操作系统上,已经默认的安装了chrony,我们这里先卸载chrony,然后安装ntp。使用ntp来配置各台机器的时钟同步。
    所有节点卸载chrony
    ./batch_cmd.sh node.list “yum -y remove chrony”
  2. 所有节点下载安装ntp服务
    使用脚本批量执行
    ./batch_cmd.sh node.list “yum -y install ntp”

Master节点修改 /etc/ntp.conf文件:
注释部分内容
添加以下内容:
server 127.127.1.0
fudge 127.127.1.0 stratum 10

集群其他节点修改/etc/ntp.conf文件如下:

启动ntpd服务并设置未开机自启:
sh batch_cmd.sh node.list “systemctl start ntpd”
sh batch_cmd.sh node.list “systemctl enable ntpd”
sh batch_cmd.sh node.list “systemctl status ntpd | grep Active”

查看同步状态:
sh batch_cmd.sh node.list “ntpq -p”

1.11 安装数据库

  1. 安装外部数据库
    yum -y install mariadb mariadb-server

启动MariaDB数据库服务,并设置未开机自启:
systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb

配置mariadb,设置密码为password
/usr/bin/mysql_secure_installation

  1. 创建集群所需要的数据库
    create database metastore default character set utf8;
    CREATE USER ‘hive’@’%’ IDENTIFIED BY ‘password’;
    GRANT ALL PRIVILEGES ON metastore.* TO ‘hive’@’%’;
    FLUSH PRIVILEGES;
    create database scm default character set utf8;
    CREATE USER ‘scm’@’%’ IDENTIFIED BY ‘password’;
    GRANT ALL PRIVILEGES ON scm.* TO ‘scm’@’%’;
    FLUSH PRIVILEGES;
    create database rm default character set utf8;
    CREATE USER ‘rm’@’%’ IDENTIFIED BY ‘password’;
    GRANT ALL PRIVILEGES ON rm.* TO ‘rm’@’%’;
    FLUSH PRIVILEGES;

create database am default character set utf8;
CREATE USER ‘am’@’%’ IDENTIFIED BY ‘password’;
GRANT ALL PRIVILEGES ON am.* TO ‘am’@’%’;
FLUSH PRIVILEGES;
create database hue default character set utf8;
CREATE USER ‘hue’@’%’ IDENTIFIED BY ‘password’;
GRANT ALL PRIVILEGES ON hue.* TO ‘hue’@’%’;
FLUSH PRIVILEGES;
create database oozie default character set utf8;
CREATE USER ‘oozie’@’%’ IDENTIFIED BY ‘password’;
GRANT ALL PRIVILEGES ON oozie.* TO ‘oozie’@’%’;
FLUSH PRIVILEGES;

create database sentry default character set utf8;
CREATE USER ‘sentry’@’%’ IDENTIFIED BY ‘password’;
GRANT ALL PRIVILEGES ON sentry. * TO ‘sentry’@’%’;
FLUSH PRIVILEGES;
create database nav_ms default character set utf8;
CREATE USER ‘nav_ms’@’%’ IDENTIFIED BY ‘password’;
GRANT ALL PRIVILEGES ON nav_ms. * TO ‘nav_ms’@’%’;
FLUSH PRIVILEGES;
create database nav_as default character set utf8;
CREATE USER ‘nav_as’@’%’ IDENTIFIED BY ‘password’;
GRANT ALL PRIVILEGES ON nav_as. * TO ‘nav_as’@’%’;
FLUSH PRIVILEGES;

  1. 安装jdbc驱动
    创建/usr/share/java/文件夹,然后将MySQL的JDBC驱动包上传至该目录
    注意:不是所有节点都需要MySQL驱动,只有节点上有服务需要数据库时,该节点才需要驱动jar包。
    使用软链接的形式去掉驱动jar包的版本号
    ln -s mysql-connector-java-5.1.34.jar mysql-connector-java.jar

2 集群的部署安装
2.1 安装并启动Cloudera-Manager-Server
在master节点上安装Cloudera-Manager-Server:
yum -y install cloudera-manager-server

初始化数据库:
/usr/share/cmf/schema/scm_prepare_database.sh mysql scm scm password
注意:在C6中初始化数据库为:/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm password

启动cloudera-scm-server,并查看7180端口是否被监听。当出现如下所示7180端口被监听,则可以打开浏览器Web页面。
systemctl start cloudera-scm-server
netstat -lnpt|grep 7180

2.2 集群安装向导
2.2.1 登录CM
通过网页访问192.168.196:7180
输入账户:admin
密码:admin登录CM

2.2.2 接受协议
选择接受协议,继续

选择60天试用版

继续

2.2.3 指定安装主机
指定集群主机机器

根据输入搜索到指定主机,点击继续

2.2.4 设置存储库
设置自定义的parcel存储库URL和cm存储库URL

添加自定义的Parcel存储卡URL

选择自定义存储库
添加自定义的cm存储库URL

2.2.5 安装JDK
安装JDK以及加密政策

2.2.6 多用户模式
默认为多用户模式安装

2.2.7 ssh登录
选择用户,并输入密码

安装…

安装成功

安装选定parcel…

安装成功,继续

2.2.8 主机正确性检查
主机正确性检查,确保全部通过后点完成

2.2.9 组件安装
群集设置,
选择自己要安装的组件

主机角色分配

2.2.10 数据库连接测试
测试数据库连接

集群设置

首次运行命令,启动集群服务

集群设置配置成功,点击完成

集群安装完成,进入Cloudera Manager主页

2.3 安装spark2.2和kafka以及hdfs和yarn的高可用
2.3.1 添加设置HDFS和YARN的高可用
点击Cluster1操作菜单,选择HDFS

选择操作 点击启用高可用

点击继续

选择一个主机安装namenode

点击继续

点击继续

启用高可用,并重启

成功启用

2.3.2 配置YRAN高可用
在cm界面进入yarn,点击操作,点击启用高可用
选择主机

重启服务,点击继续

添加完成

2.3.3 安装spark2.2
下载csd文件至/opt/cloudera/csd目录下,然后重启cm(spark2.2必须使用1.8以上jdk)

在/var/www/html目录下准备spark2.2的安装包
在cm主页上点击Parcel

点击配置

添加spark2.2的远程Parcel存储库的URL,然后点击保存

我们在Parcel界面可以看到

点击分配

分配完成,点击激活

激活完成

在cm主页点击添加服务

选择spark2点击继续

选择一组依赖关系,点击继续

选择主机,点击继续

启动服务

添加完成,启动服务

启动完成

2.3.4 安装kafka2.2
在/var/www/html目录下准备好安装包

在cm主页上点击Parcel

点击配置

添加kafka2.2.0的远程Parcel存储库的URL,然后点击保存

点击下载

点击分配

点击激活

在cm主页点击添加服务

选择kafka点击继续

选择主机,继续

添加服务到集群

安装完成

组件全部安装完成

3 组件验证
3.1 HDFS验证
在本地创建一个文件,添加内容。测试向HDFS上传该文件,并从HDFS上查看该文件内容

3.2 hive验证
使用hive cli,进行创建hive测试表,指su定路径为上传的HDFS文件路径,并对该表进行查看showtables

create external table t
(s string,d string)
row format delimited fields terminated by ‘\t’
stored as textfile location ‘/tmp/test’;

3.3 mapreduce验证
运行官方jar包计算圆周率测试
[root@cdh1 ~]# sudo -u hdfs hdfs dfs -mkdir /user/root
[root@cdh1 ~]# sudo -u hdfs hdfs dfs -chown root:supergroup /user/root
[root@cdh1 ~]# hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-0.20-mapreduce/hadoop-examples.jar pi 5 5
验证完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值