CDH(Cloudera)——大数据组件管理
唉,在吗? 本人对繁杂的cdh部署进行了归纳和规范,根据本文章内容可以轻松全面的部署cdh。
上干货~
安装
准备
修改 IP, 修改主机名, 配置域名解析, 关闭防火墙, 设置主机之间无密登陆, 时间同步, 安装java jdk
#step1 : 修改ip =============================================================
vim /etc/sysconfig/network-scripts/ifcfg-ens33
#略
#step2 : 修改主机名 ==========================================================
vim /etc/hostname
cat /etc/hostname
#删除里面的内容, 写上新的主机名,即可
#step3 : 配置域名解析 ========================================================
vim /etc/hosts
# 添加如下,如下例:
192.168.1.101 cm1
192.168.1.102 cm2
192.168.1.103 cm3
cat /etc/hosts
#step4 : 关闭防火墙 ========================================================
#关闭防火墙==========
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo systemctl status firewalld
#关闭安全写入检查=====
vi /etc/selinux/config
#将SELINUX=enforcing 改成 SELINUX=disabled
#关闭按却写入检查还可以用如下命令直接操作:
sudo sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
#重启后查看=========
命令: getenforce
显示 : Disabled
命令: sestatus -v
显示 : SELinux status: disabled
#step5 : 设置主机之间无密码登陆 ================================================
#如下命令,每个机子输入一遍,
ssh-keygen -t rsa
ssh-copy-id cm1
ssh-copy-id cm2
ssh-copy-id cm3
#step6 : 时间同步(如果是虚拟机, 选做)=========================================
(使用以前记录的方法)
#######=============下面这个方法有待考究。
#在此就不使用时间同步了
#三台机子选择时区
timedatectl set-timezone Asia/Shanghai
#在crontab中设置时间同步(选取某一台机子作为时间基准,配置另外两台)
1 * * * * /usr/sbin/ntpdate 192.168.1.102
#step7 : 安装jdk (这里安装rpm版本呗)==========================================
#配置环境变量
JAVA_HOME=/usr/java/jdk1.8.0_251
JRE_HOME=/usr/java/jdk1.8.0_251/jre
CLASS_PATH=.:$JAVA_HOME/bin/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
得到如下:
ip | hostname | 角色 | 任务 |
---|---|---|---|
10.109.3.234 | cm1 | ||
10.109.3.235 | cm2 | mysql | |
10.109.3.236 | cm3 | ||
安装mysql
安装方法:略。
#配置mysql开机启动
chkconfig mysql on
创建安装cloudera manager及部分组件需要的mysql数据库
--删除语句(一般用不到,只有从装才用)
drop database hivedb;
drop database cmdb;
drop database huedb;
drop database ooziedb;
drop database scmdb;
drop database rmdb;
create database hivedb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database cmdb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database huedb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database ooziedb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database rmdb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
vim ync.sh 文件分发。 eg: ync.sh /home/ln/a.txt
#!/bin/bash
# 1 get the number of input parameters, if there is no parameter, quit directly
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi
# 2 get the file name
p1=$1
fname=`basename $p1`
echo fname=$fname
# 3 get the upper directory to the absolute path
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
# 4 get the current user name
user=`whoami`
# 5 cycle
for((host=3; host>=1; host--)); do
#echo $pdir/$fname $user@hadoop$host:$pdir
echo ---------- cm$host -----------
rsync -rvl $pdir/$fname $user@cm$host:$pdir
done
vi call.sh #命令共同执行脚本 eg : call.sh ls
#!/bin/bash
pcount=$#
if((pcount==0));then
echo no args;
exit;
fi
#echo -------------localhost----------
#$@
for((host=1; host<=3; host++)); do
echo ----------cm$host---------
ssh cm$host $@
done
安装cloudera manage(CDH5)
#========================================安装教程======================================
#Centos6.5 离线搭建CDH5.11(带软件)
https://blog.csdn.net/chshgod1/article/details/80475596
#如果不想输入sudo , 接下来全程在root用户下操作。
#step1 :安装CDH依赖(可略)========================================================
sudo yum -y install chkconfig
sudo yum -y install python
sudo yum -y install bind-utils
sudo yum -y install psmisc
sudo yum -y install libxslt
sudo yum -y install zlib
sudo yum -y install sqlite
sudo yum -y install cyrus-sasl-plain
sudo yum -y install cyrus-sasl-gssapi
sudo yum -y install fuse
sudo yum -y install portmap
sudo yum -y install fuse-libs
sudo yum -y install redhat-lsb
#step2 : 解压cm包到指定目录所有服务器都要(或者在主节点解压好,然后通过分发工具到其节点同一目录下)====
rm -rf /opt/cloudera*
mkdir /opt/cloudera-manager
tar -zxvf /opt/software/cloudera-manager-centos7-cm5.11.1_x86_64.tar.gz -C /opt/cloudera-manager/
ync.sh /opt/cloudera-manager/
#step3 : (所有节点)创建cloudera-scm用户(所有节点) =================================
userdel cloudera-scm
useradd
--system
--home=/opt/cloudera-manager/cm-5.11.1/run/cloudera-scm-server
--no-create-home
--shell=/bin/false
--comment "Cloudera SCM User" cloudera-scm
#step4 : (主节点)在主节点创建cloudera-manager-server的本地元数据保存目录================
rm -rf /var/cloudera-scm-server
mkdir /var/cloudera-scm-server
chown cloudera-scm.cloudera-scm -R /var/cloudera-scm-server/
chown cloudera-scm.cloudera-scm -R /opt/cloudera-manager/
#step5 : (所有节点)配置从节点cloudera-manger-agent指向主节点服务器(所有agent)===========
vi /opt/cloudera-manager/cm-5.11.1/etc/cloudera-scm-agent/config.ini
#将server_host改为CMS所在的主机名即cm1 (既, server_host=localhost改成server_host=cm1)
#step6 : (主节点)主节点中创建parcel-repo仓库目录
rm -rf /opt/cloudera/parcel-repo
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm.cloudera-scm -R /opt/cloudera
cd /opt/software/
cp CDH-5.11.1-1.cdh5.11.1.p0.4-el7.parcel* manifest.json /opt/cloudera/parcel-repo/
#注:其中CDH-5.10.2-1.cdh5.10.2.p0.18-el7.parcel.sha1 后缀要把1去掉
mv CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
#step6 : (所有节点,其实指的是cm1/2/3三个从节点)所有从节点创建parcels目录===================
rm -rf /opt/cloudera/parcels
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
#解释:Clouder-Manager将CDHs从主节点的/opt/cloudera/parcel-repo目录中抽取出来,分发解压激活到各个节点的/opt/cloudera/parcels目录中
cp /opt/cloudera/parcel-repo/* /opt/cloudera/parcels/
#step7 : (主节点)初始脚本配置数据库scm_prepare_database.sh(在主节点上)===================
#注意这里mysql的位置,是不是cm1
/opt/cloudera-manager/cm-5.11.1/share/cmf/schema/scm_prepare_database.sh mysql -hcm1 -uroot -p123456 --scm-host cm1 scmdb scmdbu scmdbp
#**报错1**
#step8 : (主节点)启动主节点 cloudera-manager-server=================================
rm -rf /etc/init.d/cloudera-scm-server
cp /opt/cloudera-manager/cm-5.11.1/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server
chkconfig cloudera-scm-server on
vi /etc/init.d/cloudera-scm-server
#CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default} 改为 如下:
#CMF_DEFAULTS=/opt/cloudera-manager/cm-5.11.1/etc/default
#同时为了保证在每次服务器重启的时候都能启动cloudera-scm-server,应该在开机启动脚本/etc/rc.local中加入命令:service cloudera-scm-server restart
#step9 : (所有节点)启动所有节点 cloudera-manager-agent===============================
rm -rf /etc/init.d/cloudera-scm-agent
mkdir /opt/cloudera-manager/cm-5.11.1/run/cloudera-scm-agent
cp /opt/cloudera-manager/cm-5.11.1/etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent
chkconfig cloudera-scm-agent on
vi /etc/init.d/cloudera-scm-agent #模仿主节点
#CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default} 改为 如下:
#CMF_DEFAULTS=/opt/cloudera-manager/cm-5.11.1/etc/default
#同时为了保证在每次服务器重启的时候都能启动cloudera-scm-agent,应该在开机启动脚本/etc/rc.local中加入命令:service cloudera-scm-agent restart
#step10 : 启动主节点和从节点的命令 =====================================================
/opt/cloudera-manager/cm-5.11.1/etc/init.d/cloudera-scm-server restart
#下面这行代码,好像每个从机都要弄
/opt/cloudera-manager/cm-5.11.1/etc/init.d/cloudera-scm-agent restart
# cm1:7180 进入cloundera-manger控制web =============================================
#注意:如果迟迟进不去,检查是否是防火墙没关闭。
安装cloudera manage(CDH6)
create database hivedb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database cmdb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database huedb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database ooziedb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database rmdb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database cmf DEFAULT CHARACTER SET utf8;
create database amon DEFAULT CHARACTER SET utf8;
grant all on cmf.* TO 'cmf'@'%' IDENTIFIED BY '123456';
grant all on amon.* TO 'amon'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
#step1 : 解压cm6.3.1-redhat7.tar.gz 得到: =========================================
#在./RPMS/x86_64:下
cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
#tep2 : 创建cm目录,解压文件。=======================================================
mkdir /usr/cloudera-manager
tar -zxvf ./cm6.3.1-redhat7.tar.gz -C /usr/cloudera-manager/
ync.sh /usr/cloudera-manager/
#step3 : (主节点)安装cloudera-server (master)=====================================
#–nodeps 不检查依赖(离线安装,网络问题造成拉不下依赖失败)
cd /usr/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
rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
#step4 : 修改server配置文件========================================================
vim /etc/cloudera-scm-server/db.properties
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=cm1
com.cloudera.cmf.db.name=cmf
com.cloudera.cmf.db.user=cmf
com.cloudera.cmf.db.password=123456
com.cloudera.cmf.db.setupType=EXTERNAL
#step5 : (从节点)安装cloudera-agent()======================================
cd /usr/cloudera-manager/cm6.3.1/RPMS/x86_64
#注意这个 daemons 已经在master上安装过了
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
#step6 :(所有节点)安装完成后,修改所有节点的agant配置文件,指向server节点master=========
vim /etc/cloudera-scm-agent/config.ini
#把 server_host=localhost 改成 server_host=cm1
#step7 : 启动server和agent服务====================================================
# 启动命令
service cloudera-scm-server restart
# 查看日志
cd /var/log/cloudera-scm-server/
ll
tail -F cloudera-scm-server.log
# 等一分钟,查看启动状态
service cloudera-scm-server status
#agent启动(所有机子都要)
service cloudera-scm-agent restart
# 查看启动状态
service cloudera-scm-agent status
#
cp CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel /opt/cloudera/parcel-repo
cp CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha
cp manifest.json /opt/cloudera/parcel-repo
ync.sh /opt/cloudera/parcel-repo
call.sh chmod 777 /opt/cloudera/parcel-repo/* #意思是给三台机子这里777权限。
rm -rf /usr/cloudera-manager/
rm -rf /var/lib/cloudera-scm-agent
rm -rf /dfs
rm -rf /var/log/*
rm -rf /etc/cloudera-scm-server/
rm -rf /etc/cloudera-scm-agent/
rm -rf /opt/*
CDH6.3新增机器
步骤
1. 修改主机名
2. 配置新节点hosts和各结点映射(/etc/hosts)
3. 关闭防火墙
4. 配置ntp。与集群相同,从节点都同步主节点时间
5. 免密登录
6. 安装JDK
7. 禁用透明大页面压缩
9. 禁用tuned系统调优服务
10. 离线rpm安装daemons和agent
11. agent修改/etc/cloudera-scm-agent/config.ini
12. 上传CDH至/opt/cloudera/parcel-repo/
13. 配置新从机config.ini
cdh添加节点具体操作如下:
#step1 : 修改主机名 ==========================================================
vim /etc/hostname
cat /etc/hostname
#删除里面的内容, 写上新的主机名,即可
#step2. 配置新节点hosts和各结点映射(/etc/hosts) ===============================================
新旧节点都配置一下。
vim /etc/hosts
#step3 : 关闭防火墙 ========================================================
#新节点关闭防火墙==========
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo systemctl status firewalld
#关闭安全写入检查=====
vi /etc/selinux/config
#将SELINUX=enforcing 改成 SELINUX=disabled
#关闭按却写入检查还可以用如下命令直接操作:
sudo sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
#重启后查看=========
命令: getenforce
显示 : Disabled
命令: sestatus -v
显示 : SELinux status: disabled
#step4. 配置ntp。与集群相同,从节点都同步主节点时间 ===============================================
#step5. 免密登录=================================================================================
在master和新slove之间配置
ssh-keygen -t rsa
ssh-copy-id xxxx
#step6. 安装JDK=================================================================================
#安装java
-
#配置环境变量
JAVA_HOME=/usr/java/jdk1.8.0_251
JRE_HOME=/usr/java/jdk1.8.0_251/jre
CLASS_PATH=.:$JAVA_HOME/bin/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
#step7(选).禁用透明大页面压缩===================================================================
【https://blog.csdn.net/qq_33887096/article/details/114532935】
#首先查看透明大页是否启用,[always] never表示已启用,always [never]表示已禁用
cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
#如果是启用状态,修改/etc/rc.d/rc.local文件并添加以下两行
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
#上述修改要重启才能生效
#检查是否关闭透明大页的命令:
grep Huge /proc/meminfo
#step9(选). 禁用tuned系统调优服务=====================================================================
#关闭tuned服务
tuned-adm off
确保没有已激活的配置
tuned-adm list
如果输出内容中包含No current active profile表示关闭成功:
#关闭并且禁用tuned服务
systemctl stop tuned
systemctl disable tuned
#step10. 安装agent,新增节点创建用户cloudera-scm============================================
#注意,如下生产上是直接放在/opt/下
mkdir /opt/cloudera-manager
tar -zxvf cloudera-manager-centos7-cm5.11.1_x86_64.tar.gz -C /opt/cloudera-manager/
userdel cloudera-scm
useradd
--system
--home=/opt/cloudera-manager/cm-5.11.1/run/cloudera-scm-server
--no-create-home
--shell=/bin/false
--comment "Cloudera SCM User" cloudera-scm
#step11. 上传CDH至/opt/cloudera/parcel-repo/ ====================================================
CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel
#修改.sha256文件后缀为.sha,在manifest.json中查看el7的序列输入到.sha文件中
CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel.sha256
manifest.json
#step12 : 配置从节点cloudera-manger-agent指向主节点服务器(所有agent)==================================
#新从节点。
vi /opt/cloudera-manager/cm-5.11.1/etc/cloudera-scm-agent/config.ini
#将server_host改为CMS所在的主机名即主节点主机名 (既, server_host=localhost改成server_host=主节点主机名)
#step13 : 启动 CM Agent==========================================================================
/opt/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-agent start
原文地址:https://blog.csdn.net/myself_ning/article/details/125920206
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_13493.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。