ClouderaManager与CDH
* 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
完成后如图:
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
Step2、修改ntpdate文件
# vi /etc/sysconfig/ntpdate
注意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
# vi mysql-community-source.repo
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
下一步:
下一步:
下一步:
下一步:
等待分配完成后,下一步:
注意:红框警告内容可以使用如下办法解决:
# 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的更多相关文章
- 入门大数据---ClouderaManager和CDH是什么?
1.CDH概述 CDH(Cloudra's Distribution Apache Of Hadoop)是Apache Hadoop和相关项目的最完整,经过测试和最流行的发行版.CDH提供Hadoop ...
- 【原创】大数据基础之CM5(Cloudera Manager)+CDH5离线安装
CM/CDH 5.16.1 CM官方:https://www.cloudera.com/products/product-components/cloudera-manager.html CDH官方: ...
- 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库02 ——使用ambari-server安装HDP
本文记录使用ambari-server安装HDP的过程,对比于使用cloudera-manager安装CDH,不得不说ambari的易用性差的比较多~_~,需要用户介入的过程较多,或者说可定制性更高. ...
- [How to]Cloudera manager 离线安装手册
2016-01-1910:54:05 增加kafka 1.简介 本文介绍在离线环境下安装Cloudera manager和简单使用方法 2.环境 OS:CentOS 6.7 Cloudera man ...
- 【CDH学习之二】ClouderaManager安装
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 zookeeper-3.4.11 搭建方案: serve ...
- 入门大数据---安装ClouderaManager,CDH和Impala,Hue,oozie等服务
1.要求和支持的版本 (PS:我使用的环境,都用加粗标识了.) 1.1 支持的操作系统版本 操作系统 版本 RHEL/CentOS/OL with RHCK kernel 7.6, 7.5, 7.4, ...
- geotrellis使用(二十四)将Geotrellis移植到CDH中必须要填的若干个坑
目录 前言 若干坑 总结 一.前言 近期干了一件事情,将geotrellis程序移植到CDH中(关于CDH,可以参考安装ClouderaManager以及使用ClouderaManage ...
- 安装ClouderaManager以及使用ClouderaManager安装分布式集群的若干细节
目录 前言 整体介绍 分步安装介绍 总结 一.前言 周末干了近四十个小时中间只休息了五个小时终于成功安装了ClouderaManager以及分布式集群,其中各种辛酸无以言表,唯有泪两行. ...
- CDH安装
离线安装Cloudera Manager 5和CDH5(最新版5.1.3) 完全教程 关于CDH和Cloudera Manager CDH (Cloudera's Distribution, incl ...
随机推荐
- [bzoj2431][HAOI2009][逆序对数列] (dp计数)
Description 对于一个数列{ai},如果有i<j且ai>aj,那么我们称ai与aj为一对逆序对数.若对于任意一个由1~n自然数组成的 数列,可以很容易求出有多少个逆序对数.那么逆 ...
- String类的转换功能
/* * String类的转换功能 * char[] toCharArray():把字符串转换为字符数组 * String toLowerCase():把字符串转换为小写字符串 * String to ...
- 【Codeforces 369C】 Valera and Elections
[链接] 我是链接,点我呀:) [题意] 给你一棵树 让你选择若干个修理点. 这些修理点被选中之后,节点i到1号节点之间的所有"坏路"都会被修好 问最少需要选择多少个点才能将所有的 ...
- chrome源代码目录结构简介(版本4.1.249.1059)
为了对庞大的源码项目进行分析,先对源码目录树作一个简单的介绍,粗略的了解一下各个模块的功能分布情况,chrome源代码src目录下的结构如下图: app:该目录下的代码主要是和各个操作系统平台相关的应 ...
- 好不容易帮同事写的一个awk,要记下来
给昌哥写的过滤的东东. 是实现了,但感觉丑,不规范. 记得下先. 原始数据格式: -- :: [ pool--thread-: ] - [ DEBUG ] origin match ::, user: ...
- ScrollView双击图片定点放大
直接先说原理吧--原理:利用了scrollview的回调函数(如下)以及scrollview自己内部的一些缩放规则(其实我也还没弄清楚具体scrollview干了什么事),只是知道了它可以怎么做-_- ...
- JAVA包装类的缓存范围
JAVA包装类的缓存范围 前两天面试遇到两个关于JAVA源码的问题,记录下来提醒自己. 1.写出下面的输出结果 System.out.println(Integer.valueOf("100 ...
- Codeforces Round #245 (Div. 1)——Guess the Tree
题目链接 题意: n个节点,给定每一个节点的子树(包含自己)的节点个数.每一个节点假设有子节点必定大于等于2.求这种数是否存在 n (1 ≤ n ≤ 24). 分析: 用类似DP的思路,从已知開始.这 ...
- Handling bundles in activities and fragments
Bundle is a useful data holder, which maps String values to various Parcelable types. So basicall ...
- [vs执行报错] CRT detected that the application wrote to memory after end of heap buffer
CRT 是c/c++ run-time lib , 是程序执行时所需的核心库. 这个错误是由于以对内在操作的过程中.所写的地址超出了.所分配内在的边界 有个建议是: 1.内存申请多少释放多少,释放掉你 ...