* ClouderaManager与CDH

集群简述

对于企业而言,一般的集群大小规模大概是如下映射关系:

集群大小

小:10~30节点

中:100~300节点

大:1000+节点

对应所需的zookeeper集群规模大概是

小:3台

中:5台

大:7台

有些同学会说,学这玩意啥用啊?我之前集群环境搭的可6了,咔咔咔一顿操作就OK了,老哥,你试想一下,2000台集群节点呢?按照我们之前的配置方式。。。。。。请开始你的表演。

那么,我们不得不使用CM或类似CM的工具来管理我们的集群。

官方地址:http://www.cloudera.com/

集群管理工具:Cloudera Manager

小企业:

可以选择IBM System服务器

DataNode 20~30台,不需要支持RAID冗余,内存16~24G,对内存要求不大,主要消耗磁盘,磁盘预算:

一般都是16~18TB

每天产生20~50万访问量

每条日志大小:100~500bytes

每次访问平均产生5条日志

一天的数据量:

20~50万访问量 * 5条 * 500字节 / 1024 / 1024 ≈ 1192.0928兆字节数据

一般需要存储1年的数据:

1~5G * 365 = 365~1825G * 3副本 = 1095~5475GB

磁盘一般预留20%,所以可用空间为80%,那么上面得到的数据除以80%即可。

NameNode 2台,内存预算:

1G内存 --- 存储100万个元数据---100万个文件---一般我们需要NameNode内存为128G

ResourceManager一般与NameNode部署在一起

NodeManager一般与DataNode部署在一起

Zookeeper 内存要求不高,对于磁盘的读写性能要求高,网络带宽要求非常高

HBase

HMaster 要求较高的网络带宽

HRegionServer 对内存要求高,分为如下两个开销:

memstore

blockcache

Cloudera Manager结构

CDH是apache hadoop发行版

CM是集群管理工具

主从架构Master-slaves

主节点:Server一个,负责集群部署文件的分发

从节点:Agent多个,负责收集所在服务器的资源状态信息,监测进程运行状态

资源下载

CM

CM版本:5.7.0 cloudera-manager-centos7-cm5.7.0_x86_64.tar.gz

下载地址

http://archive.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.7.0_x86_64.tar.gz

CDH

CDH版本:5.7.0

CDH-5.7.0-1.cdh5.7.0.p0.45-el7.parcel

CDH-5.7.0-1.cdh5.7.0.p0.45-el7.parcel.sha1

manifest.json

下载地址

http://archive.cloudera.com/cdh5/parcels/5.7.0/

打包传送门:

链接:http://pan.baidu.com/s/1o8v4Wiu 密码:dghz

部署Cloudera Manager

一、网络配置

配置IP

# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736,配置如下,具体忘记的请参看Linux网络配置

 
配置完成后,重启一下网卡或重启机器

配置主机名

# vi /etc/hostname

修改为:hadoop-senior01.zleyi.com,完成后重启机器

在Windows中配置hosts,不再赘述

在Linux中配置hosts

# echo"192.168.122.150  hadoop-senior01.zleyi.com  z01" >> /etc/hosts

# echo"192.168.122.151  hadoop-senior02.zleyi.com  z02" >> /etc/hosts

# echo"192.168.122.152  hadoop-senior03.zleyi.com  z03" >> /etc/hosts

 

 
 

禁用IPV6

#vi /etc/default/grub

修改如下:

 
完成后重启机器

二、防火墙与SELINUX

防火墙

# systemctl stop firewalld

# systemctl disable firewalld

# systemctl status firewalld

 
 

SELINUX

# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

# reboot now

重启后使用如下命令检查一下:

# getenforce

# sestatus-v

如图:

 
 

三、JDK

Step1、使用yum命令安装java

# yum -y install java

Step2、卸载OpenJDK

# rpm -qa | grep 'java'

# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.131-3.b12.el7_3.x86_64

# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64

完成后如图:

 
然后重启机器,使用java -verion验证

Step3、安装下载的JDK的RPM包

JDK-rpm下载地址传送门:

链接:http://pan.baidu.com/s/1o8v4Wiu 密码:dghz

# rpm -ivh /opt/softwares/jdk-8u131-linux-x64.rpm

四、首先克隆出2台机器,把需要变化的东西修改一下,然后准备配置SSH无密钥登录

首先让另外两台机器变成无桌面启动吧,至少可以速度稍快一些,当然也可以最小化安装,然后自行安装所需的工具。

# cat /etc/inittab

# systemctl set-default multi-user.target

在Server主节点配置:

$ ssh-keygen-t rsa

$ ssh-copy-id 192.168.122.150

$ ssh-copy-id 192.168.122.151

$ ssh-copy-id 192.168.122.152

五、NTP时间同步

Step1、首先在主节点上同步一下 时间

# ntpdate cn.pool.ntp.org

Step2、编辑配置文件

# vi /etc/ntp.conf

Server和NameNode主节点

 
 

然后,主节点:

# systemctl start  ntpd.service

# systemctl enable ntpd.service

其他节点:

# systemctl stop  ntpd.service

# systemctl disable ntpd.service

在其他节点配置定时任务,用于定时同步时间:

# crontab -e

*/10 * * * * /usr/sbin/ntpdate z01

重启定时任务:

# systemctl restart  crond.service

设置BIOS时钟:系统关机时把内存中的系统时间写入并修改主板时间,重新启动系统时,系统时间会与硬件时间同步,从而保证时间的一致性。

Step1、修改ntpd文件

# vi /etc/sysconfig/ntpd

 
注意注释下边那一行添加的内容SYNC_HWCLOCK=yes

Step2、修改ntpdate文件

# vi /etc/sysconfig/ntpdate

 

 
最后一行改为了yes

注意3台机器都要有这些操作。

六、设置用户最大可打开文件数,进程数,内存占用

# ulimit -a,查看当前系统的上述配置的上限,unlimited为无上限,如图:

 
 

修改参数:

# vi /etc/security/limits.conf

修改如下:

 
配置完成后重启机器,*代表所有用户,@表示对某个用户组生效,直接写用户名表示对某个用户生效

尖叫提示:3台机器都需要配置重启一下

尖叫提示:如果这个文件配置出现错误,重启后,该机器节点将不能再使用。需要进入单用户模式修复,具体请百度之。

七、Mysql安装

先检查是否有已经安装的mysql,如果有,请删除(参考删除OpenJDK)

Step1、更新mysql的rpm

# rpm -Uvh /opt/softwares/mysql57-community-release-el6-8.noarch.rpm

打包传送门:

链接:http://pan.baidu.com/s/1o8v4Wiu 密码:dghz

 
 

# cd /etc/yum.repos.d

该目录下,新增两个文件:

 
 

Step2、修改这两个文件的配置

# vi mysql-community.repo

 
注意,如果一会下载过程中出现gpg文件下载失败,请将gpgcheck=1改为0

# vi mysql-community-source.repo

 
注意,如果一会下载过程中出现gpg文件下载失败,请将gpgcheck=1改为0

Step3、更新缓存

# yum makecache

 
 

Step4、删除预安装的mysql

# rpm -qa | grep mysql

 
 

# rpm -e mysql57-community-release-el6-8.noarch

Step5、查看有哪些mysql包可以使用yum安装

# yum repolist enabled | grep mysql

 
 

Step6、安装

# yum -y install mysql-community-server

Step7、启动并初始化

# systemctl start mysqld

# mysql_secure_installation

刚开始是没有密码的,按照英文提示,基本上输入个密码,然后Y然后回车,然后Y然后回车,你懂得,最后就OK了。

八、安装CDH依赖

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

九、安装Cloudera Manager

Step1、解压

将刚才下载好的tar包解压到cloudera-manager目录下:

$ mkdir /opt/modules/cloudera-manager

$ tar -zxf /opt/softwares/cloudera-manager-centos7-cm5.7.0_x86_64.tar.gz -C /opt/modules/cloudera-manager/

Step2、修改配置文件并远程分发

$ vi /opt/modules/cloudera-manager/cm-5.7.0/etc/cloudera-scm-agent/config.ini

修改内容:

 
 

修改完成后,将该cloudera-manager安装目录scp到其他机器节点

$ scp -r cloudera-manager/ z02:/opt/modules/

$ scp -r cloudera-manager/ z03:/opt/modules/

Step3、创建ClouderaManager的用户

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

检查是否创建成功:

$ cat /etc/passwd | grep cloudera-scm

Step4、初始化数据库

创建数据库用户

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

mysql> flush privileges;

查看结果:

mysql> select host,user from mysql.user;

拷贝mysql驱动包

# cp /opt/softwares/mysql-connector-java-5.1.26-bin.jar /usr/share/java

重命名驱动包:

# mv /usr/share/java/mysql-connector-java-5.1.26-bin.jar /usr/share/java/mysql-connector-java.jar

执行脚本:

# /opt/modules/cloudera-manager/cm-5.7.0/share/cmf/schema/scm_prepare_database.sh mysql scm -h hadoop-senior01.zleyi.com -utemp -p123456 --scm-host hadoop-senior01.zleyi.com scm scm scm

 
 

十一、真·部署

Step1、在agent节点创建parcels目录,在server节点创建parcel-repo目录

# mkdir -p /opt/cloudera/parcels

# mkdir -p /opt/cloudera/parcel-repo

Step2、拷贝一下文件到parcel-repo目录

$ cp CDH-5.7.0-1.cdh5.7.0.p0.45-el7.parcel CDH-5.7.0-1.cdh5.7.0.p0.45-el7.parcel.sha1 manifest.json /opt/cloudera/parcel-repo/

Step3、拷贝sha1到sha,最后修改所有权限

$ cp CDH-5.7.0-1.cdh5.7.0.p0.45-el7.parcel.sha1 CDH-5.7.0-1.cdh5.7.0.p0.45-el7.parcel.sha

# chown -R cloudera-scm:cloudera-scm /opt/cloudera/

Step4、创建cloudera-scm-agent文件夹

$ mkdir /opt/modules/cloudera-manager/cm-5.7.0/run/cloudera-scm-agent

Step5、scp cm-5.7.0这个目录到其他机器节点

$ scp -r cm-5.7.0/ hadoop-senior02.zleyi.com:/opt/modules/cloudera-manager/

$ scp -r cm-5.7.0/ hadoop-senior03.zleyi.com:/opt/modules/cloudera-manager/

Step6、启动Server以及Agent

Server:

# /opt/modules/cloudera-manager/cm-5.7.0/etc/init.d/cloudera-scm-server start

Agent:

# /opt/modules/cloudera-manager/cm-5.7.0/etc/init.d/cloudera-scm-agent start

Step7、打开界面,端口号:7180

 
用户名,密码均为admin

下一步:

 
不必说明的下一步我会直接省去

下一步:

 
当前管理的主机

下一步:

 
 

下一步:

 
等待各个步骤完成后,才能继续

等待分配完成后,下一步:

 
 

注意:红框警告内容可以使用如下办法解决:

# echo 0 > /proc/sys/vm/swappiness

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

# echo "echo 0 > /proc/sys/vm/swappiness">>/etc/rc.d/rc.local

# echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag">>/etc/rc.d/rc.local

下一步:

 
 

下一步:

 
这个页面需要大家根据自己的需求而定了,不再给出指引

下一步:后面的也可以直接跳过,我们可以到达该页面,然后手动添加服务

尖叫提示:有一些需要用到mysql的服务,可以添加时,再去创建Database,比如Monitor服务

mysql> create database monitor DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

 
 

* 总结

暂停一下,后续再讲


个人微博:http://weibo.com/seal13

QQ大数据技术交流群(广告勿入):476966007


作者:Z尽际
链接:https://www.jianshu.com/p/104a267f2918
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

ClouderaManager与CDH的更多相关文章

  1. 入门大数据---ClouderaManager和CDH是什么?

    1.CDH概述 CDH(Cloudra's Distribution Apache Of Hadoop)是Apache Hadoop和相关项目的最完整,经过测试和最流行的发行版.CDH提供Hadoop ...

  2. 【原创】大数据基础之CM5(Cloudera Manager)+CDH5离线安装

    CM/CDH 5.16.1 CM官方:https://www.cloudera.com/products/product-components/cloudera-manager.html CDH官方: ...

  3. 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库02 ——使用ambari-server安装HDP

    本文记录使用ambari-server安装HDP的过程,对比于使用cloudera-manager安装CDH,不得不说ambari的易用性差的比较多~_~,需要用户介入的过程较多,或者说可定制性更高. ...

  4. [How to]Cloudera manager 离线安装手册

    2016-01-1910:54:05  增加kafka 1.简介 本文介绍在离线环境下安装Cloudera manager和简单使用方法 2.环境 OS:CentOS 6.7 Cloudera man ...

  5. 【CDH学习之二】ClouderaManager安装

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 zookeeper-3.4.11 搭建方案:   serve ...

  6. 入门大数据---安装ClouderaManager,CDH和Impala,Hue,oozie等服务

    1.要求和支持的版本 (PS:我使用的环境,都用加粗标识了.) 1.1 支持的操作系统版本 操作系统 版本 RHEL/CentOS/OL with RHCK kernel 7.6, 7.5, 7.4, ...

  7. geotrellis使用(二十四)将Geotrellis移植到CDH中必须要填的若干个坑

    目录 前言 若干坑 总结 一.前言        近期干了一件事情,将geotrellis程序移植到CDH中(关于CDH,可以参考安装ClouderaManager以及使用ClouderaManage ...

  8. 安装ClouderaManager以及使用ClouderaManager安装分布式集群的若干细节

    目录 前言 整体介绍 分步安装介绍 总结 一.前言        周末干了近四十个小时中间只休息了五个小时终于成功安装了ClouderaManager以及分布式集群,其中各种辛酸无以言表,唯有泪两行. ...

  9. CDH安装

    离线安装Cloudera Manager 5和CDH5(最新版5.1.3) 完全教程 关于CDH和Cloudera Manager CDH (Cloudera's Distribution, incl ...

随机推荐

  1. Codeforces Round #506 (Div. 3)B.Creating the Contest(dp)

    B. Creating the Contest time limit per test 1 second memory limit per test 256 megabytes input stand ...

  2. nyoj 55 懒省事的小明(priority_queue优先队列)

    懒省事的小明 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述       小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果子的不同种 ...

  3. [luoguP1631] 序列合并(堆 || 优先队列)

    传送门 首先,把A和B两个序列分别从小到大排序,变成两个有序队列.这样,从A和B中各任取一个数相加得到N2个和,可以把这些和看成形成了n个有序表/队列: A[1]+B[1] <= A[1]+B[ ...

  4. 【NJU749D】triple(莫比乌斯反演)

    题意: cas<=100 n<=10^5 思路:与两个数的没什么区别 F(d)=(n div d)*(n div d-1)*(n div d-2) div 6 再加上喜闻乐见的下底函数分块 ...

  5. So easy

    Problem Description Small W gets two files. There are n integers in each file. Small W wants to know ...

  6. Regular Number 字符串匹配算法 Shift_and

    Using regular expression to define a numeric string is a very common thing. Generally, use the shape ...

  7. C - How Many Tables 并查集

    Today is Ignatius' birthday. He invites a lot of friends. Now it's dinner time. Ignatius wants to kn ...

  8. maven 本地配置

    1.安装 配置环境变量 文件路径:C:\Program Files\apache-maven-3.3.9 2.本地文件配置 setting的配置 找到文件C:\Program Files\apache ...

  9. 超简单的vue2.0分页组件

    1.组件代码 <template> <div class="pagination_comment_style" style="width: 100%;o ...

  10. Oracle Multitenant Environment (二) Purpose

    Purpose of a Multitenant Environment A multitenant environment enables the central management of mul ...