继本系列前两篇文章讲到的离线安装YUM源搭建及规划与环境准备,本文开始讲述CDH集群的搭建步骤及注意要点。本文基于CentOS7进行部署,Cloudera Manager版本选择5.8.1,CDH版本5.8.0。html
free -g
vim /etc/fstab
for i in 1 2 3 4 5;do mount -o remount /opt$i mount
能够用dd或者hdparm命令进行测试,具体步骤能够参考网上的一些作法。java
ethtool [interface]
route -n
若路由缺失,使用如下命令添加路由并添加到/etc/rc.local以使重启生效node
route add -net [网段] netmask [掩码] gw [网关] dev [网口]
检查系统版本是否为CDH推荐的版本,版本不兼容可能会产生稳定性问题mysql
cat /etc/issue uname -a
若在没有dns服务的内部网络,配置hosts就颇有必要了,集群间全部节点均需配置以相互通讯。linux
命令行执行:web
hostname [name]
设置HOSTNAME以使重启生效sql
vim /etc/sysconfig/network
将集群全部节点的信息添加到该文件中数据库
vim /etc/hosts
能够选择CM server到agent经过用户名密码登陆或者是公钥的方式。若使用用户名的方式,需保证全部服务器root用户名和密码一致。vim
CentOS自带Openjdk,不过运行CDH5须要使用Oracle的jdk。至于安装,可经过web安装界面指定使用CM Server来进行安装(安装yum repo中的配置的Java版本)。浏览器
清除iptables
iptables -L iptables -F
关闭SELinux
/etc/selinux/config 的SELINUX=disabled
命令行执行:
sysctl -w vm.swappiness=0
/etc/sysctl.conf添加如下内容:
vm.swappiness = 0
命令行执行:
ulimit -n 65535
/etc/security/limits.conf添加如下内容:
soft nofile 65535 hard nofile 65535
使用ntpdate命令与ntp服务器对时
date ntpdate [ntpserver]
/etc/ntp.conf添加如下内容:
server [ntpserver]
启动ntpd
systemctl restart ntpd
查看是否同步成功
ntpstat
若集群域名解析仅依赖/etc/hosts文件,建议注释掉/etc/resolv.conf,以免不良影响。
CDH 5 所支持的大多数 Linux 平台包含名为透明大页面压缩的功能,该功能与 Hadoop 工做负载交互较差,可能会严重影响性能,所以建议关闭。命令行执行如下命令,并写到/etc/rc.local文件中。
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
CM支持多种类型数据库做为配置及监控数据的存储方式,这里以mysql为例。CM数据库、Hue/Oozie配置数据库、Hive Metastore元数据库等最好可以根据实际应用及负载分开部署,而且部署高可用方案(主从或主主互备,后续会有专题讲解)。
表配置为Innodb引擎,不然CM启动可能会遇到问题。
yum install mysql-server service mysqld start
用于存放CM的配置与监控数据。
mysqladmin -u root password 'xxxx' mysql -uroot -p 进入mysql命令行,建立如下数据库: create database amon DEFAULT CHARACTER SET utf8; grant all on amon.* TO 'amon'@'%' IDENTIFIED BY 'xxxx'; create database smon DEFAULT CHARACTER SET utf8; grant all on smon.* TO 'smon'@'%' IDENTIFIED BY 'xxxx'; create database rman DEFAULT CHARACTER SET utf8; grant all on rman.* TO 'rman'@'%' IDENTIFIED BY 'xxxx'; create database hmon DEFAULT CHARACTER SET utf8; grant all on hmon.* TO 'hmon'@'%' IDENTIFIED BY 'xxxx'; create database nav DEFAULT CHARACTER SET utf8; grant all on nav.* TO 'nav'@'%' IDENTIFIED BY 'xxxx'; flush privileges;
用于存放Hive的元数据信息。
create database metastore DEFAULT CHARACTER SET utf8; grant all on metastore.* TO 'hive'@'%' IDENTIFIED BY 'xxxx'; flush privileges;
注意,安装Hive的时候可能会报错,因为使用了MySql做为Hive的元数据存储,所以须要安装MySql的驱动:
yum install mysql-connector-java
用于存放Hue/Oozie配置信息。
create database hue DEFAULT CHARACTER SET utf8; grant all on hue.* TO 'hue'@'%' IDENTIFIED BY 'xxxx'; create database oozie DEFAULT CHARACTER SET utf8; grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY 'xxxx'; flush privileges;
根据所需版本进行下载,本文使用https://www.cloudera.com/downloads/manager/5-8-1.html
该执行程序会指引安装CM Server,前提是YUM源提早要配置好。在须要安装CM Server的linux服务器上,使用root用户执行如下命令。
chmod u+x cloudera-manager-installer.bin ./cloudera-manager-installer.bin --skip_repo_package=1
根据提示,点击下一步,最后完成安装后会提示CM的web登录url及初始用户名密码,默认是adimin、admin。安装过程当中可能会遇到一些异常,根据提示的日志文件信息解决便可。
登录CM界面后,根据安装向导执行初始化安装和配置。
选择免费版、试用版or商业版。
指定须要经过CM管理的服务器范围。
能够提早将CM Server的公钥放置与其余服务器上,或者输入统一的用户名密码进程操做。
“选择方法”选项,选择“使用Parcel(建议)”,并点击右边按钮的“更多选项”,设置“远程Parcel存储库URL"为“http://[my-yum-server]/cloudera-parcel/”,若没有指定本地YUM源,会从网络进行下载,速度就会慢不少;
“选择CDH的版本”,若是以前已经配好了YUM源,这里会显示出相应的CDH parcel安装包,选择便可。
点击下一步就会进行parcel包的分发与安装。这一步主要会进行CM Agent的安装以及将parcel包分发到各个服务器。
这一步,主要根据本身的实际需求启动相关服务,如HDFS/YARN/HBASE/HIVE/ZOOKEEPER等,能够选择核心套件,或者自定义,不过,通常以上提到的服务都是生产中经常使用到的,可根据实际调整。
欢迎关注个人微信公众号