设为首页 收藏本站
查看: 1354|回复: 0

[经验分享] 离线部署 CDH 5.12.1 及使用 CDH 部署 Hadoop 大数据平台集群服务

[复制链接]

尚未签到

发表于 2018-10-28 15:01:37 | 显示全部楼层 |阅读模式
Cloudera Manager
  Cloudera Manager 分为两个部分:CDH和CM。
  CDH是Cloudera Distribution Hadoop的简称,顾名思义,就是cloudera公司发布的Hadoop版本,封装了Apache Hadoop,提供Hadoop所有的服务,包括HDFS,YARN,MapReduce以及各种相关的components:HBase, Hive, ZooKeeper,Kafka等。
  CM是cloudera manager的简称,是CDH的管理平台,主要包括CM server, CM agent。通过CM可以对CDH进行配置,监测,报警,log查看,动态添加删除各种服务等。

一、准备工作

环境
  

JDK:1.8  
centos:7.3
  

  
操作系统:CentOS 6
  
JDK 版本:1.7.0_80
  

  
所需安装包及版本说明:由于我们的操作系统为CentOS7,需要下载以下文件:
  

  
cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz
  

  
CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel
  

  
CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha1
  

  
manifest.json
  

  Cloudera Manager 下载目录
  http://archive.cloudera.com/cm5/cm/5/
  CDH 下载目录
  http://archive.cloudera.com/cdh5/parcels/5.12.1/
  manifest.json 下载
  http://archive.cloudera.com/cdh5/parcels/5.12.1/manifest.json
  CHD5 相关的 Parcel 包放到主节点的/opt/cloudera/parcel-repo/目录中
  CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha1 重命名为 CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha
  这点必须注意,否则,系统会重新下载 CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel 文件
  本文采用离线安装方式,在线安装方式请参照官方文

主机名
ip地址
安装服务
node1 (Master)
192.168.252.121
jdk、cloudera-manager、MySql
node2 (Agents)
192.168.252.122
jdk、cloudera-manager
node3 (Agents)
192.168.252.123
jdk、cloudera-manager
node4 (Agents)
192.168.252.124
jdk、cloudera-manager
node5 (Agents)
192.168.252.125
jdk、cloudera-manager
node6 (Agents)
192.168.252.126
jdk、cloudera-manager
node7 (Agents)
192.168.252.127
jdk、cloudera-manager
二、系统环境搭建

1、网络配置(所有节点)
  修改 hostname
  命令格式
  

hostnamectl set-hostname   

  依次修改所有节点 node[1-7]
  

hostnamectl set-hostname node1  

  重启服务器
  

reboot  

  修改映射关系
  1.在 node1 的 /etc/hosts 文件下添加如下内容
  

$ vi /etc/hosts  

  2.查看修改后的/etc/hosts 文件内容
  

[root@node7 ~]# cat /etc/hosts  
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
  
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
  

  
192.168.252.121 node1
  
192.168.252.122 node2
  
192.168.252.123 node3
  
192.168.252.124 node4
  
192.168.252.125 node5
  
192.168.252.126 node6
  
192.168.252.127 node7
  

2、SSH 免密码登录
  1.在集群node1的 /etc/ssh/sshd_config 文件去掉以下选项的注释
  

vi /etc/ssh/sshd_config   

RSAAuthentication yes      #开启私钥验证  
PubkeyAuthentication yes   #开启公钥验证
  

  2.将集群node1 修改后的 /etc/ssh/sshd_config 通过 scp 命令复制发送到集群的每一个节点
  

for a in {2..7} ; do scp /etc/ssh/sshd_config node$a:/etc/ssh/sshd_config ; done  

  3.生成公钥、私钥
  1.在集群的每一个节点节点输入命令 ssh-keygen -t rsa -P '',生成 key,一律回车
  

ssh-keygen -t rsa -P ''  

  4.在集群的node1 节点输入命令
  将集群每一个节点的公钥id_rsa.pub放入到自己的认证文件中authorized_keys;
  

for a in {1..7}; do ssh root@node$a cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys; done  

  5.在集群的node1 节点输入命令
  将自己的认证文件 authorized_keys 通过scp命令复制发送到每一个节点上去:/root/.ssh/authorized_keys`
  

for a in {1..7}; do scp /root/.ssh/authorized_keys root@node$a:/root/.ssh/authorized_keys ; done  

  6.在集群的每一个节点节点输入命令
  接重启ssh服务
  

sudo systemctl restart sshd.service  

  7.验证 ssh 无密登录
  开一个其他窗口测试下能否免密登陆
  例如:在node3
  

ssh root@node2  

  exit 退出

3、关闭防火墙
  

systemctl stop firewalld.service  

4、关闭 SELINUX
  查看
  

[root@node1 ~]# getenforce  
Enforcing
  
[root@node1 ~]# /usr/sbin/sestatus -v
  
SELinux status:
  

  临时关闭
  

## 设置SELinux 成为permissive模式  
## setenforce 1 设置SELinux 成为enforcing模式
  
setenforce 0
  

  永久关闭
  

vi /etc/selinux/config  

  将 SELINUX=enforcing 改为 SELINUX=disabled
  设置后需要重启才能生效
  PS 我是修改node1 的 /etc/selinux/config 后,把配置文件复制到其他节点
  

for a in {2..7}; do scp /etc/selinux/config root@node$a:/etc/selinux/config ; done  

  重启所有节点
  

reboot  

5、安装 JDK
  下载Linux环境下的jdk1.8,请去(官网)中下载jdk的安装文件
  我在百度云盘分下的链接:http://pan.baidu.com/s/1jIFZF9s 密码:u4n4
  上传在 /opt 目录
  解压
  

cd /opt  
tar zxvf jdk-8u144-linux-x64.tar.gz
  
mv jdk1.8.0_144/ /lib/jvm
  

  配置环境变量
  

vi /etc/profile  

#jdk  
export JAVA_HOME=/lib/jvm
  
export JRE_HOME=${JAVA_HOME}/jre
  
export>  
export PATH=${JAVA_HOME}/bin:$PATH
  

  使环境变量生效
  

source /etc/profile  

  验证
  

[root@localhost ~]# java -version  
java version "1.8.0_144"
  
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
  
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
  

6、设置 NTP
  所有节点安装 NTP
  

yum install ntp  

  设置同步
  

ntpdate -d 182.92.12.11  

7、安装配置 MySql
  主节点 安装 MySql
  MySQL依赖于libaio 库
  

yum search libaio  
yum install libaio
  

  下载,解压,重命名
  通常解压在 /usr/local/mysql
  把mysql-5.7.19-linux-glibc2.12-x86_64 文件夹,重命名成mysql,这样就凑成/usr/local/mysql目录了
  

cd /opt/  
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
  
tar -zxvf /opt/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
  
mv /usr/local/mysql-5.7.19-linux-glibc2.12-x86_64/ /usr/local/mysql
  

  1. 新建用户组和用户
  

groupadd mysql  
useradd mysql -g mysql
  

  2. 创建目录并授权
  

cd /usr/local/mysql/  
mkdir data mysql-files
  
chmod 750 mysql-files
  
chown -R mysql .
  
chgrp -R mysql .
  

  3. 初始化MySQL
  

bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up  

  4. 注意密码 mysql 临时密码

  [注意]root@localhost生成临时密码:;b;s;)/rn6A3,也就是root@localhost:后的字符串

  

2017-09-24T08:34:08.643206Z 1 [Note] A temporary password is generated for root@localhost: D
mysql> flush privileges;
  

  12. 开启远程登录
  

mysql> grant all privileges on *.*  to  'root'@'%' >
mysql> flush privileges;  
mysql> exit;
  

8、下载依赖包
  

yum -y install chkconfig  
yum -y install bind-utils
  
yum -y install psmisc
  
yum -y install libxslt
  
yum -y install zlib
  
yum -y install sqlite
  
yum -y install cyrus-sasl-plain
  
yum -y install cyrus-sasl-gssapi
  
yum -y install fuse
  
yum -y install portmap
  
yum -y install fuse-libs
  
yum -y install redhat-lsb
  

三、cloudera manager Server & Agent 安装

1、安装 CM Server & Agent
  在所有节点,创建/opt/cloudera-manager
  

mkdir /opt/cloudera-manager  

  把下载好的cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz安装包上传至  node1 节点/opt/目录
  在 node1 节点拷贝 cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz 到所有 Server、Agent 节点创建 /opt/cloudera-manager 目录:
  

for a in {2..7}; do scp /opt/cloudera-manager-*.tar.gz root@node$a:/opt/ ; done  

  所有 Server、Agent 节点节点解压安装 Cloudera Manager Server & Agent
  

cd /opt  
tar xvzf cloudera-manager*.tar.gz -C /opt/cloudera-manager
  

2、创建用户 cloudera-scm(所有节点)
  cloudera-scm 用户说明,摘自官网:
  Cloudera Manager Server and managed services are configured to use the user account cloudera-scm by default, creating a user with this name is the simplest approach. This created user, is used automatically after installation is complete.
  Cloudera管理器服务器和托管服务被配置为在默认情况下使用用户帐户Cloudera-scm,创建具有这个名称的用户是最简单的方法。创建用户,在安装完成后自动使用。
  执行:在所有节点创建cloudera-scm用户
  

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

3、配置 CM Agent
  修改 node1 节点
  /opt/cloudera-manager/cm-5.12.1/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。
  

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

  在node1 操作将 node1 节点修改后的 (复制到所有节点)
  

for a in {1..7}; do scp /opt/cloudera-manager/cm-5.12.1/etc/cloudera-scm-agent/config.ini root@node$a:/opt/cloudera-manager/cm-5.12.1/etc/cloudera-scm-agent/config.ini ; done  

4、配置 CM Server 的数据库
  在主节点 node1 初始化CM5的数据库:
  下载 mysql 驱动包
  

cd /opt/cloudera-manager/cm-5.12.1/share/cmf/lib  
wget http://maven.aliyun.com/nexus/service/local/repositories/hongkong-nexus/content/Mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar
  

  启动MySQL服务
  

service mysql.server start  

cd /opt/cloudera-manager/cm-5.12.1/share/cmf/schema/  

  
./scm_prepare_database.sh mysql cm -h node1 -uroot -pmima --scm-host node1 scm scm scm
  

  看到如下信息,恭喜您,配置没毛病
  

[main] DbCommandExecutor              INFO  Successfully connected to database.  
All done, your SCM database is configured correctly!
  

  

  格式:
  

scm_prepare_database.sh mysql cm -h  -u  -p --scm-host   scm scm scm  

  
对应于:数据库类型  数据库 服务器 用户名 密码  –scm-host  Cloudera_Manager_Server 所在节点……
  

5、创建 Parcel 目录
  Manager 节点创建目录/opt/cloudera/parcel-repo,执行:
  将下载好的文件
  

CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel  
CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha
  
manifest.json
  

  拷贝到该目录下。
  

mkdir -p /opt/cloudera/parcel-repo  
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
  
cd /opt/cloudera/parcel-repo
  

  

  重命名,CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha1 否则,系统会重新下载  CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel
  

mv CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha1 CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha  

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

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

6、启动 CM Manager&Agent 服务
  注意,mysql 服务启动,防火墙关闭
  在 node1 (master) 执行:
  Server
  

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

  在 node2-7 (Agents) 执行:
  Agents
  

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

  访问 http://Master:7180 若可以访问(用户名、密码:admin),则安装成功。
  Manager 启动成功需要等待一段时间,过程中会在数据库中创建对应的表需要耗费一些时间。

四、CDH5 安装
  CM Manager && Agent 成功启动后,登录前端页面进行 CDH 安装配置。
DSC0000.png

DSC0001.png

DSC0002.png

  免费版本的 CM5 已经去除 50 个节点数量的限制。
DSC0003.png

  各个 Agent 节点正常启动后,可以在当前管理的主机列表中看到对应的节点。
DSC0004.png

  选择要安装的节点,点继续。
DSC0005.png

  点击,继续,如果配置本地 Parcel 包无误,那么下图中的已下载,应该是瞬间就完成了,然后就是耐心等待分配过程就行了,大约 10 多分钟吧,取决于内网网速。
  (若本地 Parcel 有问题,重新检查步骤三、5 是否配置正确)
DSC0006.png

DSC0007.png

  点击,继续,如果配置本地Parcel包无误,那么下图中的已下载,应该是瞬间就完成了,然后就是耐心等待分配过程就行了,大约10多分钟吧,取决于内网网速。
DSC0008.png

DSC0009.png


遇到问题
  问题一
  接下来是服务器检查,可能会遇到以下问题:
  Cloudera 建议将 /proc/sys/vm/swappiness 设置为最大值 10。当前设置为 30。
  使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf,以在重启后保存该设置。
  您可以继续进行安装,但 Cloudera Manager 可能会报告您的主机由于交换而运行状况不良。以下主机将受到影响:node[2-7]
  

echo 0 > /proc/sys/vm/swappiness  

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

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

DSC00010.png

DSC00011.png

DSC00012.png

DSC00013.png

DSC00014.png

DSC00015.png

DSC00016.png

DSC00017.png


五、脚本

MySql 建库&&删库
  1、MySql 建库&&删库
  amon
  

create database amon DEFAULT CHARACTER SET utf8;
  
grant all on amon.* TO 'amon'@'%'>  

  hive
  

create database hive DEFAULT CHARACTER SET utf8;
  
grant all on hive.* TO 'hive'@'%'>  

  oozie
  

create database oozie DEFAULT CHARACTER SET utf8;
  
grant all on oozie.* TO 'oozie'@'%'>  

Contact


  • 作者:鹏磊
  • 出处:http://www.ymq.io/2017/09/24/Cloudera-Manager
  • Email:admin@souyunku.com
  • 版权归作者所有,转载请注明出处
  • Wechat:关注公众号,搜云库,专注于开发技术的研究与知识分享
DSC00018.png




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-627620-1-1.html 上篇帖子: Hadoop 12节点集群搭建配置清单 下篇帖子: Hadoop运维记录系列(二十一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表