CDH5.13.2完全离线搭建详解(踩坑整理含下载地址截图及问题解决方案)

节点:10.201.246.[30-37]

一.安装前准备:

1.提前下载离线安装包

1) cloudera-manager-centos7-cm5.13.2_x86_64.tar.gz

下载地址:http://archive.cloudera.com/cm5/cm/5/

2) mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar

下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

3) CDH-5.13.2-1.cdh5.12.2.p0.4-el7.parcel

   CDH-5.13.2-1.cdh5.12.2.p0.4-el7.parcel.sha1

   manifest.json

下载地址:http://archive.cloudera.com/cdh5/parcels/5.13.2/

4) mysql-connector-java-5.1.38.jar

下载地址:http://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.38

5) centos7.3 everything

6) Jdk1.8

 

2.创建文件夹

主节点  mkdir -p /opt/cloudera-manager

mkdir -p /opt/cloudera/parcel-repo

mkdir -p /opt/mysql

各子节点  

mkdir -p /opt/cloudera-manager

mkdir -p /opt/cloudera/parcels

 

3.上传文件

1) cloudera-manager-centos7-cm5.12.2_x86_64.tar.gz上传到/opt/cloudera-manager

解压tar -xvf cloudera-manager-centos7-cm5.12.2_x86_64.tar.gz

2) 将mysql-community-server-5.7.23-1.el7.x86_64.rpm上传到/opt/mysql,解压

3) 将mysql-connector-java-5.1.38.jar 上传到/opt/cloudera-manager/cm-5.12.2/share/cmf/lib

4) 将CDH-5.12.2-1.cdh5.12.2.p0.4-el7.parcel

 CDH-5.12.2-1.cdh5.12.2.p0.4-el7.parcel.sha1

 manifest.json

上传到/opt/cloudera/parcel-repo

mv CDH-5.12.2-1.cdh5.12.2.p0.4-el7.parcel.sha1  CDH-5.12.2-1.cdh5.12.2.p0.4-el7.parcel.sha

二.安装环境配置:

1.修改主机名(所有节点)

vi /etc/hostname

如:node30 (建议node+ip)

****修改过后要重启生效 reboot(可放到后边和selinux配置一块重启)****

 

2.配置网络(所有节点)

vi /etc/sysconfig/network 添加

NETWORKING=yes

HOSTNAME=node30

****systemctl restart network 重启网络服务生效*****

 

3.关闭防火墙和selinux

1)关闭防火墙

【查看防火墙当前状态:systemctl status firewalld】

【关闭防火墙: systemctl stop firewalld】

【永久关闭防火墙(开机不自启):systemctl disable firewalld】

2)关闭selinux

临时关闭:setenforce 0

修改配置文件vi /etc/selinux/config

将 SELINUX=enforcing 改为 SELINUX=disabled

查看 SELINUX 状态:

/usr/sbin/sestatus -v

SELinux status: enabled(enabled:开启;disabled:关闭)

重启主机生效。

 

4.配置ssh免密登录

1)vi /etc/hosts 添加主机间的映射(所有节点)

10.201.246.30  node30

10.201.246.31  node31

10.201.246.32  node32

10.201.246.33  node33

10.201.246.34  node34

10.201.246.35  node35

10.201.246.36  node36

10.201.246.37  node37

2)配置免密登录

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa(主节点)

ssh-copy-id node30 (发送私钥到各个节点包括主节点)

 

5.配置ntp时间同步

(如果是阿里云服务器不需要配置时间同步,本身已经配好了时间同步)

首先将服务器端时间设置为当前时间

date -s "1990-00-00 00:00:00"

服务器端

1)vi /etc/chrony.conf

# Allow NTP client access from local network.

该行下添加:

allow 10.201.246.32  (需要同步时间的服务器的所有ip)

注释掉该行下所有以 server开头的

添加server 服务端ip iburst

解除下面一行注释

local stratum 10

2)启动chrony

systemctl start chronyd.service

3)设置开机同步时间

systemctl enable chronyd.service

 

客户端

1)vi /etc/chrony.conf

# Please consider joining the pool (http://www.pool.ntp.org/join.html).

注释掉该行下所有以 server开头的

添加server 服务端ip iburst

2)启动chrony

systemctl start chronyd.service

3)设置开机同步时间

systemctl enable chronyd.service

 

所有主机刷新一下同步情况:

chronyc sources

 

三.安装所需组件

1.安装jdk(所有节点)

yum list installed |grep jdk

rpm -qa | grep java

卸载自带的openjdk:

 

批量卸载所有名字包含jdk的已安装程序。命令行:

rpm -qa | grep java | xargs rpm -e --nodeps

使用rpm -ivh jdk.rpm 安装jdk

 

2.主节点安装mysql

1) 卸载centos7自带的mariadb

[root@hdmaster mysql]# rpm -qa|grep mariadb

mariadb-libs-5.5.56-2.el7.x86_64

mariadb-devel-5.5.56-2.el7.x86_64

[root@hdmaster mysql]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

[root@hdmaster mysql]# rpm -e --nodeps mariadb-devel-5.5.56-2.el7.x86_64

2)解压mysql安装包

tar -xvf mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar

3)安装mysql (一定按照顺序安装)

  rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm

rpm -ivh mysql-community-devel-5.7.23-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm

 

4)启动mysql

systemctl start mysqld

  开机自启动

systemctl enable mysqld

 

5)首次进入,先修改my.cnf

vi /etc/my.cnf

# Disable password validaion plugin

validate-password=off

# Disabling symbolic-links is recommended to prevent assorted security risks

skip-grant-tables  #添加这句,进入mysql的命令行不需要密码

symbolic-links=0

 

重启mysql

systemctl restart mysqld

 

进入mysql 设置密码

     mysql –uroot –p

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)

#本地shell密码设置

mysql> set password for root@localhost=password('abc135');

Query OK, 0 rows affected, 1 warning (0.00 sec)

#远程访问授权及密码设置

mysql>grant all privileges on *.* to 'root'@'%' identified by 'abc135' with grant option;

Query OK, 0 rows affected, 1 warning (0.00 sec)

#生效设置

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

 

a)创建各服务所用数据库

create database reports DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database sentry DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

 

b)相应数据库授权

grant all on reports.* to 'reports'@'%' identified by ' abc135';

grant all on oozie.* to 'oozie'@'%' identified by 'abc135';

grant all on hue.* to 'hue'@'%' identified by 'abc135';

grant all on hive.* to 'hive'@'%' identified by 'abc135';

grant all on *.* to 'root'@'%' identified by 'abc135';

grant all on *.* to 'scm'@'%' identified by 'abc135';

grant all on *.* to 'cm'@'%' identified by 'abc135';

 

c)重启MySQL服务

systemctl restart mysqld

 

6)密码修改完成,注释掉/etc/my.cnf中

# skip-grant-tables  

末尾添加:

validate-password=off

重启mysql

 systemctl restart mysqld

 

3.配置cm agent

1)修改cm配置

vi /opt/cloudera-manager/cm-5.13.2/etc/cloudera-scm-agent/config.ini

修改 server_host=node30 修改为主节点的主机名

 

2)将cloudera-manager拷贝到各个子节点

scp -r /opt/cloudera-manager/ root@node31:/opt/

 

3)创建用户 cloudera-scm(所有节点) 执行:

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

 

4)配置 CM Server的数据库

  将驱动包拷贝到目录下(注意拷贝过去的驱动包名字一定要和下边的一样,否则会报错) :

cp mysql-connector-java-5.1.38.jar  /usr/share/java/mysql-connector-java.jar

 

5)初始化CM server

/opt/cloudera-manager/cm-5.13.2/share/cmf/schema/scm_prepare_database.sh mysql cm -hnode30 -uroot -pabc135 --scm-host node30 scm scm scm

异常:Access denied for user 'root'@'%'

原因:root权限不够

解决:mysql命令行修改权限

grant all privileges on *.* to 'root'@'%' identified by 'abc135' with grant option;

flush privileges;

 

set global validate_password_policy=0;

set global validate_password_length=4;

异常:java.sql.SQLException: Your password does not satisfy the current policy requirements

原因:密码验证不通过

解决:修改/etc/my.cnf

添加  validate_password=off

重启mysql

 

初始化成功会出现 INFO Successfully connected to database

 

4.创建parcel目录并付权限

 Manager 节点创建目录/opt/cloudera/parcel-repo,执行:

   mkdir -p /opt/cloudera/parcel-repo

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

   

  Agent 节点创建目录/opt/cloudera/parcels,执行:

mkdir -p /opt/cloudera/parcels

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

 

主节点:

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

所有节点包括主节点:

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

 

启动成功进7180界面 默认用户名和密码都是admin

四.安装过程报错及调优

继续耐心等待分配资源,时间很长20分钟左右,无错情况下已下载瞬间100%

问题: 

删除agent目录下面的cm_guid文件,并重启失败节点的agent服务恢复。

rm -rf /opt/cloudera-manage/cm-5.13.2/lib/cloudera-scm-agent/*

./cloudera-scm-agent  restart

 

需要在每个节点执行

echo 0 > /proc/sys/vm/swappiness

echo never > /sys/kernel/mm/transparent_hugepage/defrag

echo never > /sys/kernel/mm/transparent_hugepage/enabled

重新运行 错误消失

此处可自定义选择安装:HDFS、HIVE、HUE、IMPALA、OOZIE、SOLR、SPARK、YARN、ZOOKEEPER

服务配置,一般情况下保持默认就可以了(Cloudera Manager 会根据机器的配置自动进行配置,如果需要特殊调整,自行进行设置就可以了):

(1)

安装 Hive 、oozie、impala可能会报错,因为使用了MySql 作为元数据存储,默认没有带 mysql 的驱动,拷贝到所有节点该目录下:

/opt/cloudera/parcels/CDH/lib/hive/lib

/opt/cloudera/parcels/CDH/lib/oozie/lib

/opt/cloudera/parcels/CDH/lib/impala/lib

 

Hue界面刚进去是设置用户名和密码千万别忘了用户名和密码

1.Oozie安装报错

缺少驱动jar包

cp mysql-connector-java-5.1.38.jar /var/lib/oozie

重新运行解决

启用oozie的webUI界面时,显示被禁用需要安装Ext JS

将ext-2.2.zip上传集群目录:/opt/cloudera/parcels/CDH/lib/oozie/libext/

解压赋权:unzip ext-2.2.zip

chown oozie:oozie -R ext-2.2

下载地址:https://download.youkuaiyun.com/download/weixin_42652946/11169333

刷新页面完美解决!

2.hue安装报错

日志报错:ImportError: libxslt.so.1: cannot open shared object file: No such file or directory

对应的库文件缺失:

yum install libxslt

Could not start SASL: Error in sasl_client_start (-4) SASL(-4): no mechanism available: No worthy mechs found

安装相应的包

yum install cyrus-sasl-plain  cyrus-sasl-devel  cyrus-sasl-gssapi

重启hue

Load Balancer安装报错

缺少库依赖

yum install httpd

yum install mod_ssl

3. Hdfs警告调优

解决: heap把NameNode和SecondaryNameNode的java堆大小改为一致都是4GB

4. Hdfs配置问题

解决方案:调整阀值 >0.8默认值

五.试用版数据治理安装

1.点击试用添加实例

添加Reports Manager 

创建nas库并赋权

create database nas DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

grant all on reports.* to 'nas'@'%' identified by 'Wind@135';

创建nms库并赋权

create database nms DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

grant all on reports.* to 'nms'@'%' identified by 'Wind@135';

 

flush privileges;

添加角色:

2.启动报错解决

日志文件缺少mysql驱动jar包

把驱动jar包拷贝到/usr/share/java 注意版本号

3.启动步骤

用户名和密码和cm界面一样

 

六.安装失败解决方案

1) 停止agent:cloudera-scm-agent stop

2) 停止server:cloudera-scm-server stop

3) 删除数据库cm:  drop database cm;

4) 删除Agent节点nn、dn信息. 若历史数据存在,hdfs格式化将不会成功!

rm -rf /dfs

5) 重新初始化CM数据库

/opt/cloudera-manager/cm-5.13.2/share/cmf/schema/scm_prepare_database.sh mysql cm -hnode30 -uroot -pabc135 --scm-host node30 scm scm scm

6)清空所有节点agent数据

 rm -rf /opt/cloudera-manager/cm-5.13.2/lib/cloudera-scm-agent/*

7)检查/opt/cm-5.14.2/run目录---------可有可无,重启会自动删除,删除不掉,再手动执行!!

是否有cloudera-scm-server.pid文件,存在删除, 由于正常服务停止时,会自动删除

有种可能是服务cloudera-scm-server启动一段时间自己挂掉。

8) Cloudaremanage卸载不干净:删除/var/lib下的cloudera*文件夹,启动成功;删除/var/log/cloudera-scm-firehose(权限不够)下的文件启动成功。

9) 重启CM服务

cloudera-scm-server restart

cloudera-scm-agent restart

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值