CDH6从0到1搭建

本文参考:
http://blog.51cto.com/pizibaidu/2174297

官方参考文档
https://www.cloudera.com/documentation/enterprise/6/6.0/topics/installation.html

一,环境准备
内存,磁盘足够的主机,单节点内存不足10g,不推荐搭建。本次cdh集群共有4个节点,每个64g内存,1t的磁盘。centos7.4操作系统。较快的网速,否则你会体会到什么叫痛苦!

二,安装包下载地址
1,Cloudera Manager
https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPMS/x86_64/
cloudera-manager-agent-6.0.0-530873.el7.x86_64.rpm
cloudera-manager-daemons-6.0.0-530873.el7.x86_64.rpm
cloudera-manager-server-6.0.0-530873.el7.x86_64.rpm
cloudera-manager-server-db-2-6.0.0-530873.el7.x86_64.rpm
oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm
2,CDH parcel包
https://archive.cloudera.com/cdh6/6.0.0/parcels/
CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel
CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha256
manifest.json
三,准备工作
1,新建虚拟机,安装操作系统
我此次用了一台主机,内存256g,挂载磁盘8t。计划新建4个虚拟机,使用vsphere client客户端工具。

2,虚拟机节点划分

主机名 ip 安装项目
cdh1 172.16.x.x Cloudera Manager Server
Cloudera Manager Agent
时间同步服务
JDK
cdh2 172.16.x.x Cloudera Manager Agent
时间同步服务
JDK
cdh3 172.16.x.x Cloudera Manager Agent
时间同步服务
JDK
cdh4 172.16.x.x Cloudera Manager Agent
时间同步服务
JDK
3,修改虚拟机ip(所有节点)

vi /etc/sysconfig/network-scripts/ifcfg-ens160
注:操作系统版本不一样,具体网卡也不同,修改请参考,最终配置如下

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens160
UUID=909980b6-7394-4cc1-bd97-bc2e16acb43b
DEVICE=ens160
ONBOOT=yes
//添加如下配置
//Vmware的网络配置
IPADDR=172.16.0.*** //虚拟机ip
NETMASK=255.255.255.0 //子网掩码
GATEWAY=172.16.0.254 //网关
//主机DNS
DNS1=114.114.114.114
NM_CONTROLLED=yes

配置完成,重启网络服务
a、重启服务
systemctl restart network.service
b、或者重启主机
Ifconfig查看是否更改

测试:
a,ping 自身ip
b,ping 网关
c,ping主机
d,ping 外网
ping通外网,说明ip配置成功

4,修改主机名(所有节点)
使用xshell工具连接虚拟机。
临时修改:
#hostname cdh1
永久修改:
#hostnamectl set-hostname cdh1
验证:#hostname

5,修改ip和主机名对应关系(所有节点)
/etc/hosts文件中添加:
#vi /etc/hosts

172.16.x.x cdh1
172.16.x.x cdh2
172.16.x.x cdh3
172.16.x.x cdh4

6,关闭SELINUX与防火墙(所有节点)
关闭selinux:
临时关闭:
#setenforce 0
永久关闭(重启生效)
#修改/etc/selinux/config,SELINUX=disabled
查看SELINUX状态:
#/usr/sbin/sestatus -v 或者 getenforce
关闭防火墙:
#systemctl stop firewalld
#systemctl disable firewalld
查看防火墙状态:
#firewall-cmd --state

7,免密配置
所有节点:
#cd
#mkdir .ssh
#ssh-keygen -t rsa (直接回车)
#ssh-keygen -t dsa(直接回车)

在cdh1节点:
#cd
#cat .ssh/id_rsa.pub >>.ssh/authorized_keys
#cat .ssh/id_dsa.pub >>.ssh/authorized_keys
#ssh cdh2 cat .ssh/id_rsa.pub >>.ssh/authorized_keys
#ssh cdh2 cat .ssh/id_dsa.pub >>.ssh/authorized_keys
#ssh cdh3 cat .ssh/id_rsa.pub >>.ssh/authorized_keys
#ssh cdh3 cat .ssh/id_dsa.pub >>.ssh/authorized_keys
#ssh cdh4 cat .ssh/id_rsa.pub >>.ssh/authorized_keys
#ssh cdh4 cat .ssh/id_dsa.pub >>.ssh/authorized_keys

#scp .ssh/authorized_keys cdh2:~/.ssh
#scp .ssh/authorized_keys cdh3:~/.ssh
#scp .ssh/authorized_keys cdh4:~/.ssh

验证信任关系:
所有节点都要执行一边
#ssh cdh1 date
#ssh cdh2 date
#ssh cdh3 date
#ssh cdh4 date

8,配置时间同步
所有节点配置ntp服务:
集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。 具体思路如下:
master节点作为ntp服务器与外界对时中心同步时间,随后对所有datanode节点提供时间同步服务。
所有datanode节点以master节点为基础同步时间。
所有节点安装相关组件:yum install ntp。
启动服务: systemctl start ntpd
配置开机启动:systemctl enable ntpd

配置NTP服务端:cdh1(172.16.0.111)
修改/etc/ntp.conf文件,添加
restrict 172.16.0.0 mask 255.255.255.0
restrict 172.16.0.111 nomodify notrap noquery
server 127.127.1.0
fudge 127.127.1.0 stratum 1
server 172.16.0.111 perfer

NTP客户端配置:cdh2,cdh3,cdh4
修改/etc/ntp.conf文件,添加
restrict 172.16.0.111 nomodify notrap noquery
server 172.16.0.111
fudge 127.127.1.0 stratum 1

请求服务器前,请先使用ntpdate手动同步一下时间:ntpdate -u cdh1 (主节点ntp服务器).
NTP客户端执行
#ntpdate cdh1

9,准备Parcels,用以安装CDH6
将CHD6相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中,如果没有此目录,可以自己创建。
CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel
CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha256
manifest.json

注意:最后将• CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha256,重命名为• CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha,这点必须注意否则,系统会重新下载• CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel文件。

四,正式开始安装
建议:正式安装前,将基础环境做一个镜像,以便安装失败恢复。
1,安装repo
#yum -y install wget(虚拟机没有wget命令执行)
#wget https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/cloudera-manager.repo -P /etc/yum.repos.d/
2,导入GPG key
#rpm --import https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPM-GPG-KEY-cloudera
3, Install JDK
#yum install oracle-j2sdk1.8
4, yum安装CM
#yum install cloudera-manager-server(前期只需要安装这个)
cm安装包有1g大小,请保证网速
5,Installing the MySQL Server
#wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
#rpm -ivh mysql-community-release-el7-5.noarch.rpm
#yum update
#yum install mysql-server
#systemctl start mysqld
#systemctl enable mysqld
Cloudera Manager必须使用innodb引擎。使用MyISAM服务无法启动。

建议:mysql初始化前做镜像。
初始化Mysql
#/usr/bin/mysql_secure_installation
执行后按以下步骤操作

[…]
Enter current password for root (enter for none):
OK, successfully used password, moving on…
[…]
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
[…]
Disallow root login remotely? [Y/n] N
[…]
Remove test database and access to it [Y/n] Y
[…]
Reload privilege tables now? [Y/n] Y
All done!

修改/etc/my.cnf 文件
[mysqld]
character-set-server=utf8
lower_case_table_names=1
max_connections = 550
log_bin=/var/lib/mysql/mysql_binary_log
binlog_format = mixed
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

重装后使用官方推介配置:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
transaction-isolation = READ-COMMITTED
#Disabling symbolic-links is recommended to prevent assorted security risks;
#to do so, uncomment this line:
symbolic-links = 0
key_buffer_size = 32M
max_allowed_packet = 32M
thread_stack = 256K
thread_cache_size = 64
query_cache_limit = 8M
query_cache_size = 64M
query_cache_type = 1
max_connections = 550
#expire_logs_days = 10
#max_binlog_size = 100M
#log_bin should be on a disk with enough free space.
#Replace ‘/var/lib/mysql/mysql_binary_log’ with an appropriate path for your
#system and chown the specified folder to the mysql user.
log_bin=/var/lib/mysql/mysql_binary_log
#In later versions of MySQL, if you enable the binary log and do not set
#a server_id, MySQL will not start. The server_id must be unique within
#the replicating group.
server_id=1
binlog_format = mixed
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M
#InnoDB settings
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 64M
innodb_buffer_pool_size = 4G
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_log_file_size = 512M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
sql_mode=STRICT_ALL_TABLES

6,Installing the MySQL JDBC Driver
#wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
#tar zxvf mysql-connector-java-5.1.46.tar.gz
#mkdir -p /usr/share/java/
#cd mysql-connector-java-5.1.46
#cp mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar

7,Creating Databases for Cloudera Software
需要建的库有
scm、amon、rman、hue、metastore、sentry、nav、navms、oozie
在这里插入图片描述

mysql命令行执行如下:

CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO ‘scm’@’%’ IDENTIFIED BY ‘scm@123’;
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON amon.* TO ‘amon’@’%’ IDENTIFIED BY ’ amon@123’;
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON rman.* TO ‘rman’@’%’ IDENTIFIED BY ‘rman@123’;
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON hue.* TO ‘hue’@’%’ IDENTIFIED BY ‘hue@123’;
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON metastore.* TO ‘metastore’@’%’ IDENTIFIED BY ‘metastore@123’;
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON sentry.* TO ‘sentry’@’%’ IDENTIFIED BY ‘sentry@123’;
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON nav.* TO ‘nav’@’%’ IDENTIFIED BY ‘nav@123’;
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON navms.* TO ‘navms’@’%’ IDENTIFIED BY ‘navms@123’;
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON oozie.* TO ‘oozie’@’%’ IDENTIFIED BY ‘oozie@123’;

8,Set up the Cloudera Manager Database
----运行#/opt/cloudera/cm/schema/scm_prepare_database.sh 可以查看参数
在这里插入图片描述
执行完后,生成数据库配置文件:
#/etc/cloudera-scm-server/db.properties
9,本地安装cm和数据库在同一虚拟机
#/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm
Enter SCM password:(创建数据库时密码)
在这里插入图片描述
10,启动cm服务
systemctl start cloudera-scm-server
11,查看日志
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
在这里插入图片描述

五,其他服务安装
1,登录cm WEB界面
http://主机ip:7180/cmf/login 访问CM
用户名admin
密码admin
遇到问题:7180服务没有启动
解决方法:
在这里插入图片描述
查看端口服务,未启动
在这里插入图片描述
cm服务启动显示正常。
我在刚启动服务后7180没有启动,没找到什么原因,后来 晾了它一晚上,第二天一查端口,居然启动了,可能是cm服务要启动的东西太多,主机一时没启动。
在这里插入图片描述
启动成功!

备注:
linux查看端口:https://www.cnblogs.com/Archmage/p/7570716.html
2,具体安装步骤
WELCOME
在这里插入图片描述
Accept License
在这里插入图片描述
Select Edition
版本选择免费版,已经够用。
在这里插入图片描述
Welcome (Add Cluster - Installation)
在这里插入图片描述
Specify Hosts
主机是自己规划安装agent的主机
在这里插入图片描述
Select Repository
在这里插入图片描述
JDK 安装选项
在这里插入图片描述
Enter Login Credentials
在这里插入图片描述
Install Agents
最到考验网速的时候了,该页面使用js进行刷新,千万别手动刷新,手动刷新的话安装列表中之前已经功成的会消失,未成功的显示,未成功即使安装成功了,cm会管理不到之前已经成功但刷新后未显示的主机,在安装集群时只能选择本次显示的(原因未知)。网速过慢的话安装会失败,一定要耐心等待,别做无关操作。
在这里插入图片描述
在这里插入图片描述
失败重试直到成功,再次说明,耐心等待。
在这里插入图片描述
n次失败之后终于安装成功!

Install Parcels
在这里插入图片描述
在这里插入图片描述
安装成功!等了有将近半天的时候。。。
在这里插入图片描述

Inspect Hosts
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

问题处理:
时钟同步是由于我恢复过一次镜像,在手动同步一下即可。
服务端启动(恢复镜像居然没启动)
在这里插入图片描述
各台同步
在这里插入图片描述

虚拟内存设置:
Cloudera 建议将 /proc/sys/vm/swappiness 设置为最大值 10。当前设置为 30。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf,以在重启后保存该设置。您可以继续进行安装,但 Cloudera Manager 可能会报告您的主机由于交换而运行状况不良。以下主机将受到影响:
查看详细信息
cdh[171-174]
解决:
临时解决
通过echo 10 > /proc/sys/vm/swappiness即可解决。
永久解决
sysctl -w vm.swappiness=10
echo vm.swappiness = 10 >> /etc/sysctl.conf

透明大页问题:
已启用透明大页面压缩,可能会导致重大性能问题。请运行“echo never > /sys/kernel/mm/transparent_hugepage/defrag”和“echo never > /sys/kernel/mm/transparent_hugepage/enabled”以禁用此设置,然后将同一命令添加到 /etc/rc.local 等初始化脚本中,以便在系统重启时予以设置。以下主机将受到影响:
查看详细信息
cdh[171-174]
处理:
大内存页禁用
echo never>/sys/kernel/mm/transparent_hugepage/defrag
echo never>/sys/kernel/mm/transparent_hugepage/enabled

升级软件依赖版本
Starting with CDH 6, PostgreSQL-backed Hue requires the Psycopg2 version to be at least 2.5.4, see the documentation for more information. This warning can be ignored if hosts will not run CDH 6, or will not run Hue with PostgreSQL. The following hosts have an incompatible Psycopg2 version of ‘2.5.1’:
查看详细信息
cdh[171-174]
本次忽略

处理完成:
在这里插入图片描述

六,大数据组件安装
正式安装前拍个快照
Select Services
在这里插入图片描述
自定义角色分配
在这里插入图片描述
数据库设置
在这里插入图片描述
这里测试了一晚上。。。

审核更改(可以自己更改目录,我使用的是默认)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

命令详细信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Summary
在这里插入图片描述

cdh管理界面,大功告成:
在这里插入图片描述
第一次进入后,许多服务标红,查看后是agent与cm失去连接。
#ntpstat(所有节点)
只有cm启动,其余莫名停止。
#systemctl start ntpd(停止节点)
#ntpdate -u cdh1(ntp服务端)
在失去的节点 执行
service cloudera-scm-agent restart(停止节点)
重启 正常启动不报错

service cloudera-scm-agent status(查看 agent 状态)

猜你喜欢

转载自blog.csdn.net/qq_40127822/article/details/84441869