cdh5.13搭建步骤

CDH(5.13.1)大数据平台环境搭建

1准备工作
1.1版本选型
NO. 软件名称 版本

  1. 操作系统 Centos7.4 64 位
  2. JDK jdk-8u151-linux-x64
  3. Clouder Manager 5.13.1
  4. CDH 5.13.1
  5. 数据库 Mysql 5.7
  6. JDBC mysql-connector-java-5.1.43.jar
  7. VMware® Workstation 14 Pro 14.1.3 build-9474260
    1.2配置规划
    本次安装文档编写时共使用3台服务器,服务器配置及用途如下:
    NO. 机器名称 内网IP 配置 用途
  8. node168 172.16.3.168 8C/32Gb/1TB 主,CM,MysqlDB
  9. node169 172.16.3.169 8C/32Gb/1TB 从
  10. node170 172.16.3.170 8C/32Gb/1TB 从
    1.3软件环境
    1)JDK环境:
    JDK版本:1.8.0_151
    jdk-8u151-linux-x64.rpm
    下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2)CM包:
CM版本:5.13.1
cloudera-manager-centos7-cm5.13.1_x86_64.tar.gz
下载地址:http://archive-primary.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.13.1_x86_64.tar.gz

3)CDH包
CDH版本:5.13.1,
CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel;
CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha1;
manifest.json
下载地址:
http://archive-primary.cloudera.com/cdh5/parcels/5.13.1/manifest.json
http://archive-primary.cloudera.com/cdh5/parcels/5.13.1/CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha1
http://archive-primary.cloudera.com/cdh5/parcels/5.13.1/CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel
4)JDBC连接jar包:
jar包版本:5.1.43,
mysql-connector-java-5.1.43.jar
下载地址:http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.43/mysql-connector-java-5.1.43.jar
1.4vm配置信息
cdh5.13搭建步骤_第1张图片

1.5Centos7.4 64 位安装注意
cdh5.13搭建步骤_第2张图片
cdh5.13搭建步骤_第3张图片
cdh5.13搭建步骤_第4张图片

1.6配置网卡信息
修改网卡 vi /etc/sysconfig/network-scripts/ifcfg-ens33
cdh5.13搭建步骤_第5张图片
将该网卡信息修改为静态ip,配置如下
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=c41486f2-cec3-4113-b023-d2f2a24e245f
DEVICE=ens33
ONBOOT=yes
IPADDR=172.16.3.168
NETMASK=255.255.255.0
DNS1=172.16.3.2
GATEWAY=172.16.3.2
PREFIX=24

2基础环境配置
2.1修改机器名称(所有节点)

vi /etc/hosts

127.0.0.1 localhost.node168
172.16.3.168 node168
172.16.3.169 node169
172.16.3.170 node170
注意:第一行建议保留
2.2关闭防火墙(所有节点)
注意:安装部署可以关闭防火墙
关闭防火墙命令:
#(查询防火墙状态)
#systemctl stop firewalld.service (关闭防火墙)
#systemctl start firewalld.service (开启防火墙)
#systemctl disable firewalld.service (禁止firewall开机启动)

2.3关闭SELINUX(所有节点)
修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效)

vi /etc/selinux/config

内容增加:
SELINUX=disabled
重启后生效:

reboot

查看SELINUX 是否关闭:
#sestatus
cdh5.13搭建步骤_第6张图片
2.4修改内核参数(所有节点)
1设置swappiness,控制换出运行时内存的相对权重,Cloudera 建议将 swappiness 设置为 10:
//查看swappiness

cat /proc/sys/vm/swappiness

//永久性修改,执行下面两条命令

sysctl -w vm.swappiness=10

echo vm.swappiness = 10 >> /etc/sysctl.conf

在这里插入图片描述

2关闭透明大页面:
首先查看透明大页是否启用,[always] never表示已启用,always [never]表示已禁用:
[root@node168 ~]# cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never
[root@node168 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never

以上状态表示已经打开
永久关闭:
//编辑/etc/rc.d/rc.local

vi /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

cdh5.13搭建步骤_第7张图片

赋予权限
[root@node168 ~]# chmod +x /etc/rc.d/rc.local

查看状态,表示已经关闭
cdh5.13搭建步骤_第8张图片

3修改文件句柄数
//查看文件句柄数,显示1024,显然太小

ulimit -n

1024

修改限制:
[root@node168 ~]# vi /etc/security/limits.conf

//在文件后加入下面内容:

  • soft nofile 100000
  • hard nofile 100000

cdh5.13搭建步骤_第9张图片
2.5安装相关依赖(所有节点)

yum -y install psmisc MySQL-python at bc bind-libs bind-utils cups-client cups-libs cyrus-sasl-gssapi cyrus-sasl-plain ed fuse fuse-libs httpd httpd-tools keyutils-libs-devel krb5-devel libcom_err-devel libselinux-devel libsepol-devel libverto-devel mailcap noarch mailx mod_ssl openssl-devel pcre-devel postgresql-libs python-psycopg2 redhat-lsb-core redhat-lsb-submod-security x86_64 spax time zlib-devel

#yum install -y python-lxml
#yum install krb5-devel cyrus-sasl-gssapi cyrus-sasl-deve libxml2-devel libxslt-devel mysql mysql-devel openldap-devel python-devel python-simplejson sqlite-devel

chmod +x /etc/rc.d/rc.local

yum -y install rpcbind

systemctl start rpcbind

echo “systemctl start rpcbind” >> /etc/rc.d/rc.local

2.6配置时间同步(所有节点)
注:在centos7安装时候默认选择为上海时间,集群时间上保持同步
2.7安装jdk(所有节点)
1卸载自带jdk

rpm -qa | grep java

2解压文件
[root@node168 local]# pwd
/usr/java
[root@node168 java]# mkdir java

[root@node168 software]# tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local/java/

注:jdk安装目录一定要在/usr/local/java下面,不然后面会出问题
3配置环境变量
[root@node168 java]# vi /etc/profile
//添加环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_151
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
//生效
[root@node168 java]# source /etc/profile
2.8配置免密码登录
[root@node168 ~]# pwd
/root
[root@node168 ~]# ssh-keygen -t rsa
cdh5.13搭建步骤_第10张图片
把公钥拷贝至node169服务器上 :

cat id_rsa.pub >> ~/.ssh/authorized_keys

如果提示下面信息,则需要创建./ssh目录:
-bash: /root/.ssh/authorized_keys: No such file or directory

//创建/.ssh目录,再追加公钥内容

mkdir ~/.ssh

cat id_rsa.pub >> ~/.ssh/authorized_keys

并设置authorized_keys的访问权限:

chmod 600 ~/.ssh/authorized_keys

测试:在node168点上执行ssh node169,正常情况下,不需要密码就能直接登陆进去了。
在node168节点出现下面表示成功登录node169节点:

2.9安装mysql(主节点)
1解压安装包
[root@node168 software]# tar -xvf mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar -C /usr/mysql/
cdh5.13搭建步骤_第11张图片
2按次序安装
按common–>libs–>client–>server的顺序安装:
注意:此处有bug,应该是依赖相互冲突导致
在这里插入图片描述
解决方法,移除相应依赖
[root@node168 mysql]# yum -y remove mariadb-libs-1:5.5.60-1.el7_5.x86_64
安装文件:
[root@node168 mysql]# rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm
[root@node168 mysql]# rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm
[root@node168 mysql]# rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm
[root@node168 mysql]# rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm
[root@node168 mysql]# rpm -ivh mysql-community-devel-5.7.18-1.el7.x86_64.rpm
//安装下面包,否则Hue安装报连接错误
[root@node168 mysql]# rpm -ivh mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm

cdh5.13搭建步骤_第12张图片
4启动mysql

systemctl start mysqld

查看状态:

systemctl status mysqld

在这里插入图片描述cdh5.13搭建步骤_第13张图片
4配置mysql文件

1、先修改配置文件/etc/my.cnf令MySQL跳过登录时的权限检验,在[mysqld]下加入一行:
[root@node168 ~]# vi /etc/my.cnf
skip-grant-tables
cdh5.13搭建步骤_第14张图片
2,重启mysql
[root@node168 ~]# service mysqld restart
3,免密码登录MySQL
[root@node168 ~]# mysql
4,mysql客户端执行如下命令,修改root密码
mysql> use mysql;
mysql> UPDATE user SET authentication_string = password(‘123456’) WHERE host = ‘localhost’ AND user = ‘root’;
mysql> select host,user, authentication_string, password_expired from user;
mysql> update user set password_expired=‘N’ where password_expired=‘Y’; //密码不过期
mysql> update user set host=’%’ where user=‘root’ and host=‘localhost’; //远程可访问
mysql> flush privileges; //刷新
mysql> exit;//退出
5、修改配置文件/etc/my.cnf删除此前新增那一行skip-grant-tables,并重启MySQL(这一步非常重要,不执行可能导致严重的安全问题)
[root@node168 ~]# service mysqld restart //重启 Mysql

3安装cm
3.1解压文件
cdh5.13搭建步骤_第15张图片
[root@node168 software]# tar -zxvf cloudera-manager-centos7-cm5.13.1_x86_64.tar.gz -C /opt/
cdh5.13搭建步骤_第16张图片
3.2初始化数据库(此处问题比较多)
注:通过修改/etc/my.cnf 目录下配置文件,修改设置密码策略的级别,只需要在[mysqld]下1添加一行
validate_password = off

不然可能会出现bug
java.sql.SQLException: Your password does not satisfy the current policy requirements

2重启数据库
[root@node168 ~]# service mysqld restart
3进入数据库
[root@node168 ~]# mysql -uroot -p
Enter password:
4创建数据库

mysql -h127.0.0.1 -uroot -p //加参数-h127.0.0.1 指定本机方式,否则可能不允许执行grant

Enter password: \输入数据库密码
//在MariaDB [(none)]>命令状态输入下面脚本:
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database monitor DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database mangaer DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
grant all privileges on . to root@localhost identified by ‘root’ with grant option;
grant all on . to root@"%" Identified by “root”;
flush privileges;
exit;
//复制Mysql JDBC包到/opt/cm-5.13.1/share/cmf/lib/目录
[root@node168 software]# cp mysql-connector-java-5.1.43-bin.jar /opt/cm-5.13.1/share/cmf/lib/
//初始化CM,执行下面脚本
[root@node168 software]# /opt/cm-5.13.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hnode168 -uroot -proot --scm-host node168 scm scm scm
脚本/scm_prepare_database.sh 执行成功界面:
cdh5.13搭建步骤_第17张图片
//如果出现下面错误:
java.sql.SQLException: Access denied for user ‘root’@‘localhost’ (using password: YES)
cdh5.13搭建步骤_第18张图片
//解决办法:
在/etc/hosts 文件中,加上
127.0.0.1 localhost.node168

3.3创建用户(所有节点)
useradd --system --home=/opt/cm-5.13.1/run/cloudera-scm-server --shell=/bin/false --comment “Cloudera SCM User” cloudera-scm
3.4 制作本地YUM源
cdh5.13搭建步骤_第19张图片
1//拷贝三个文件到/opt/cloudera/parcel-repo/目录
[root@node168 software]# cp CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha1 manifest.json /opt/cloudera/parcel-repo/

2//进入/opt/cloudera/parcel-repo/目录
[root@node168 software]# cd /opt/cloudera/parcel-repo/

3//修改文件名
[root@node168 parcel-repo]# mv CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha1 CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha
在这里插入图片描述

3.5拷贝jar包(所有节点)
1创建文件夹(文件目录必须一样),每台机器都执行
[root@node168 parcel-repo]# mkdir -p /usr/share/java
2上传jar,并且修改名称
[root@node168 software]# cp mysql-connector-java-5.1.43-bin.jar /usr/share/java/mysql-connector-java.jar

3将mysql JDBC jar 包拷贝到 /opt/cm-5.13.1/share/cmf/lib/ 目录(主节点执行)
[root@node168 software]# cp mysql-connector-java-5.1.43-bin.jar /opt/cm-5.13.1/share/cmf/lib/

3.6修改cloudera-scm-agent配置
1在主节点上,修改/opt/cm-5.13.1/etc/cloudera-scm-agent/config.ini文件:
cdh5.13搭建步骤_第20张图片
//将config.ini server_host=localhost 内容改为server_host=172.16.3.168
[root@node168 ~]# vi /opt/cm-5.13.1/etc/cloudera-scm-agent/config.ini

2文件打包分发(在主节点上):
//将cm-5.13.1 打包,并复制到其他节点
[root@node168 ~]# cd /opt
[root@node168 opt]# tar czf cm-5.13.1.tar.gz cm-5.13.1/
//复制到其他节点
[root@node168 opt]# scp cm-5.13.1.tar.gz node169:/opt/
[root@node168 opt]# scp cm-5.13.1.tar.gz node170:/opt/
3解压文件并删除压缩包
[root@node169 opt]# tar -xzvf cm-5.13.1.tar.gz
[root@node169 opt]# rm -rf cm-5.13.1.tar.gz

3.7启动CM Server和Agent
1在主节点上,启动cloudera-scm-server:
[root@node168 ~]# /opt/cm-5.13.1/etc/init.d/cloudera-scm-server start
启动过程较慢,可通过/opt/cm-5.13.1/log/cloudera-scm-server日志,查看启动过程。
2在所有节点上,启动cloudera-scm-agent:
[root@node168 ~]# /opt/cm-5.13.1/etc/init.d/cloudera-scm-agent start
3.8访问cm
地址:http://主节点IP:7180
用户名、密码:admin

4安装CDH
cdh5.13搭建步骤_第21张图片

cdh5.13搭建步骤_第22张图片

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