cdh实操练习
目录
1、节点初始化
1、每台机器添加域名解析到hosts文件,如下
2、关闭所有节点的防火墙、清空防火墙规则、关闭selinux,需重启机器selinux配置才会生效
3、同步所有节点的时区及时钟
4、所有节点部署JDK
2、选择001主节点离线部署mysql5.7
3、在安装了数据库的主机上创建CDH的元数据库和用户、amon服务的数据库及用户,部署
==============准备结束 开始CDH离线部署================
4、部署CM server+agent 官方rpm包安装
1、所有节点创建目录及解压
2、选择001为cm server,不下载依赖包直接部署
3、所有节点(包含001)为cm agent,不下载依赖包直接部署(必须先安装daemons)
4、所有节点包括server(001)修改agent的配置,指向server的节点001
5、001节点部署离线parcel源
总结&故障
1.离线部署主要分为三块:
a.MySQL离线部署
b.CM离线部署
c.Parcel 文件离线源部署
2.规划:
节点 |
MySQL部署组件 |
Parcel 文件离线源 |
CM服务进程 |
大数据组件 |
|
|
|
|
|
001 |
MySQL |
Parcel |
Activity Monitor |
NN RM DN NM |
|
|
|
|
|
002 |
|
|
Alert Publisher |
DN NM |
|
|
Event Server |
||
|
|
|
|
|
|
|
|
|
|
003 |
|
|
Host Monitor |
DN NM |
|
|
Service Monitor |
||
|
|
|
|
|
|
|
|
|
|
3.下载版本:
支持的版本 : requirements supported versions
CM cm6.3.1-redhat7.tar.gz
Parcel
CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel
CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha1
manifest.json
JDK
https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html
下载jdk-8u181-linux-x64.tar.gz
MySQL https://dev.mysql.com/downloads/mysql/5.7.html#downloads 下载mysql-5.7.26-el7-x86_64.tar.gz
MySQL jdbc jar
mysql-connector-java-5.1.47.jar
下载完成后要重命名去掉版本号:
mv mysql-connector-java-5.1.47.jar mysql-connector-java.jar
=======================================================================================
查看ip以及ip段、必须同一网段
选择主节点作为ntp服务器,修改其ntp配置文件:/etc/ntp.conf
#time
server 0.asia.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
server 3.asia.pool.ntp.org
#当外部时间不可用时,可使用本地硬件时间
server 127.127.1.0 iburst local clock
#允许哪些 网段的机器 来同步时间
restrict 172.26.138.0 mask 255.255.252.0 nomodify notrap
start ntp服务
所有从节点停⽌并禁用ntpd服务
在所有从节点同步主节点时间
在从节点设置定时同步(分时日月周)
crontab -e
00 01 * * * /usr/sbin/ntpdate huxiaoyan001
记得是所有节点:
mkdir /usr/java
tar -xzvf jdk-8u181-linux-x64.gz -C /usr/java/
#切记必须修正所属⽤用户及⽤用户组
chown -R root:root /usr/java/jdk1.8.0_181
##添加到环境变量文件
echo "export JAVA_HOME=/usr/java/jdk1.8.0_181" >> /etc/profile
echo 'export PATH=${JAVA_HOME}/bin:${PATH}' >> /etc/profile
source /etc/profile
which java
检查:
http://note.youdao.com/noteshare?id=74ad62007fcc38766915d1b87081f26c
安装完成、进行登录测试
1、创建元数据库
登录数据库:
create database cmf default character set utf8;
create database amon default character set utf8;
grant all privileges on cmf.* to 'cmf'@'%' identified by 'huxiaoyan';
grant all privileges on amon.* to 'amon'@'%' identified by 'huxiaoyan';
##创建amon数据库 允许来自所有主机的root用户使用huxiaoyan这个密码登录
flush privileges; ##刷新权限
2、选择第一台部署 amon的进程 那么此机器需要安装mysql、jdbc、jar包
注意一定要把版本号去掉
mkdir -p /usr/share/java
cp -prf mysql-connector-java-5.1.47.jar /usr/share/java/mysql-connector-java.jar
有如下包:
server服务器需要安装:
cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
agent服务器需要安装:
cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
##scp 把cm6.3.1-redhat7.tar.gz 包传到所有节点 也可以使用xsync脚本
mkdir /opt/cloudera-manager
tar -xzvf cm6.3.1-redhat7.tar.gz -C /opt/cloudera-manager/
cd /opt/cloudera-manager/cm6.3.1/RPMS/x86_64
rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
如果服务器有网络,可直接yum install ....rpm
--force 即使覆盖属于其它包的文件也强迫安装
--nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。
卸载命令:
cd /opt/cloudera-manager/cm6.3.1/RPMS/x86_64/
rpm -qa |grep cloudera
rpm -e cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
rpm -e cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
修改 /etc/cloudera-scm-server/db.properties 文件、核对,注意修改所有的文件不要留有空格
[root@huxiaoyan001 x86_64]# vim /etc/cloudera-scm-server/db.properties
# Copyright (c) 2012 Cloudera, Inc. All rights reserved.
#
# This file describes the database connection.
#
# The database type
# Currently 'mysql', 'postgresql' and 'oracle' are valid databases.
com.cloudera.cmf.db.type=mysql ##mysql
# The database host
# If a non standard port is needed, use 'hostname:port'
com.cloudera.cmf.db.host=huxiaoyan001:3306 ##启用
# The database name
com.cloudera.cmf.db.name=cmf ##启用
# The database user
com.cloudera.cmf.db.user=cmf ##启用
# The database user's password
com.cloudera.cmf.db.password=huxiaoyan ##启用并填写cmf密码
# The db setup type
# After fresh install it is set to INIT
# and will be changed post config.
# If scm-server uses Embedded DB then it is set to EMBEDDED
# If scm-server uses External DB then it is set to EXTERNAL
com.cloudera.cmf.db.setupType=EXTERNAL ##启用并使用外部
起服务:service cloudera-scm-server start
服务启动日志:/var/log/cloudera-scm-server.log 查看7180端口是否启用 grep
检查是否开放了7180端口,如果开放了 就可以直接使用公网ip:7180打开web界面了,默认初始密码是admin/admin 先不要登录,接着手动安装从节点的agent、不要在web界面安装!
cd /opt/cloudera-manager/cm6.3.1/RPMS/x86_64
rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
sed -i "s/server_host=localhost/server_host=huxiaoyan001/g" /etc/cloudera-scm-agent/config.ini
然后把所有节点的angent起来:
web网页登陆
选择继续>同意条约
按需求选择、我选择免费版
填写集群名称
勾选我们已经安装好agent的机器,如果没有安装agent,那我们就需要在页面添加
继续
然后配置parcel, 不要关掉页面,在server机安装http
安装httpd服务 yum install -y httpd
mkdir -p /var/www/html/cdh6_parcel
cp -prf CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel /var/ www/html/cdh6_parcel/
###重命名为.sha文件
mv CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha1 / var/www/html/cdh6_parcel/CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha
mv manifest.json /var/www/html/cdh6_parcel/
必须将sha1重命名为sha,因为安装包里面设置的就是.sha文件 重命名为.sha文件
不然在部署过程CM认为如上⽂文件下载未完整,会持续下载
起服务
service httpd start
然后打开80端口的网页http://39.100.80.44/cdh6_parcel 正常显示
可以继续在cdh页面进行设置:
选择更多选项
只保留这个库
修改成内网地址 http://huxiaoyan001/cdh6_parcel --保存
继续,等待
如果有问题 看下日志:/var/log
完成后查看网页的警告
单击进行检测
看下检测结果
英文版:
第一个页面压缩需要在所有机器操作下禁用,第二个警告的话查看下documentation, 根据需求可选择安装Psycopg2,不安装可选择忽略
echo never > /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled #以禁用此设置,然后将同一命令添加到 /etc/rc.local
设置完之后重新校验 run again
选择继续
自定义服务
角色分配
数据库设置
如果不成功,就看下设置amon的时候关于密码权限或者包名后缀有没正确
继续
完成啊哈哈哈哈哈哈啊哈
但是!当你点击完成
根据警告对应修改
时钟偏差,因为我们设置了001为ntp服务器,其他的机器设置了禁用,所以才会报错,
进行忽略警告,选择主机里的所有主机--单击机器名称进行
找到时钟偏差进行禁用
1.总结
5.16.1 tar包 + local file
6.3.1 rpm包 + http file 最优
2.故障及排查
2.1 centos6.x 使用 python2.6
centos7.x 使用 python2.7 which python 查询
2.2 centos7.x 的parcel文件必须是 el7
2.3 java 默认路径
2.4 jdbc jar 默认路径
2.5 mysql flush privileges;
2.6 hosts文件 不要配置外网ip
2.7 parcel构建HTTP 而不是https
2.8 parcel无法激活 就参考 若泽大数据 公众号 最近的一篇文章 深度很大
2.9 配置账户/密码等文件时注意不要多加空格
2.10 daemons先部署,再安装server/agent