CDH 集群安装笔记
由于项目的需要,我在实验室的一台安装了 VMware ESXi 的物理机上新建了 Centos 6.10 的虚拟机来安装 CDH 集群。
新建的虚拟机如下:
- server: 10.1.18.140
- 2 cpu
- 24 G 内存
- 400 G 硬盘
- agent: 10.1.18.14*
- 12 G 内存
- 300 G 硬盘
安装参考原文
一、关于 CDH 和 Cloudera Manager
CDH (Cloudera’s Distribution, including Apache Hadoop),是 Hadoop 众多分支中的一种,由 Cloudera 维护,基于稳定版本的 Apache Hadoop 构建,并集成了很多补丁,可直接用于生产环境。
Cloudera Manager 则是为了便于在集群中进行 Hadoop 等大数据处理相关的服务安装和监控管理的组件,对集群中主机、Hadoop、Hive、Spark 等服务的安装配置管理做了极大简化。
二、系统环境
1 | 操作系统:CentOS 6.8 x64 |
三、安装包准备
注意: 通过 Cloudera Manager 安装 parcel 时 sha1 格式的文件需要提前修改为 sha。
四、准备工作
1. 更新系统(所有节点)
1 | yum -y update |
2. 网络配置(所有节点)
修改 hostname:
1 | vi /etc/sysconfig/network |
编辑
1 | NETWORKING=yes |
通过 service network restart 重启网络服务生效。
修改 ip 与主机名的对应关系
vi /etc/hosts
编辑
1 | 10.1.18.24* hadoop0* |
注意:这里需要将每台机器的 ip 及主机名对应关系都写进去,本机的也要写进去,否则启动 Agent 的时候会提示 hostname 解析错误。
3. 配置公钥认证 (用于免密登录)
在管理节点(hadoop00)上执行
1 | ssh-keygen -t rsa -P '' -f /.ssh/id_rsa |
使用ssh-copy-id IP将公钥添加到认证文件中
4. 关闭防火墙和 SELinux(所有节点)
注意:需要在所有的节点上执行,因为涉及到的端口太多了,临时关闭防火墙是为了安装起来更方便,安装完毕后可以根据需要设置防火墙策略,保证集群安全。
关闭防火墙:
1 | service iptables stop (临时关闭) |
关闭 SELINUX(实际安装过程中发现没有关闭也是可以的,不知道会不会有问题,还需进一步进行验证):
1 | setenforce 0 (临时生效) |
5. 配置 NTP 服务
yum 安装 ntp(所有节点):
1 | yum -y install ntp |
在配置之前,先使用 ntpdate 手动同步一下时间,免得本机与对时中心时间差距太大,使得 ntpd 不能正常同步。这里选用 us.pool.ntp.org 作为对时中心,ntpdate us.pool.ntp.org。
按照 Cloudera 的官方建议,所有的 CDH 节点和 Cloudea Manager 节点都需要启动 ntpd 服务。要不然会报如下错误:
此角色的主机的运行状况为不良。 以下运行状况测试不良: 时钟偏差.
解决方法如下: 先配置一台 NTP 服务,然后所有的 CDH 节点都作为此 NTP 服务的客户端。
8. 安装 Oracle 的 Java(主节点安装,其他节点卸载)
CentOS,自带 OpenJdk,不过运行 CDH5 需要使用 Oracle 的 Jdk,需要 Java 7 的支持。
卸载自带的 OpenJdk,使用 rpm -qa | grep java 查询 java 相关的包,使用 rpm -e --nodeps 包名 卸载。或者使用 yum remove java 卸载
在这里使用了 cloudera 仓库中的 jdk 的 rpm 安装包,使用rpm -ivh 包名进行安装。 配置环境变量:
修改 profile vi /etc/profile
1 | export JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera |
立即生效 source /etc/profile
10. 安装 mysql JDBC 驱动(管理节点)
下载 mysql JDBC 驱动放到目录 /usr/share/java/ 并修改名为 mysql-connector-java.jar 下载地址 http://www.mysql.com/downloads/connector/j/5.1.html.
五、安装配置 Cloudera Manager(管理节点)
1. 建立 Cloudera Manager 安装文件自定义存储库
2. 通过 rpm 安装包本地安装 Cloudera Manager
1 | # /path/to/RPMS/x86_64 |
3.Parcel 和 csd 格式文件上传
1 | CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel |
4. 配置 Cloudera Manager Server 数据库
使用命令 scm_prepare_database.sh 创建 Cloudera Manager Server 数据库配置文件
命令格式如下
1 | /usr/share/cmf/schema/scm_prepare_database.sh database-type [options] database-name username password |
如:
1 | /usr/share/cmf/schema/scm_prepare_database.sh mysql -hlocalhost -uroot -p123456 --scm-host localhost scm scm scm |
执行完成后生成数据库配置文件/etc/cloudera-scm-server/db.properties
1 | # Auto-generated by scm_prepare_database.sh on Tue Feb 28 18:23:16 CST 2017 |
5. 启动 Cloudera Manager Server
1 | service cloudera-scm-server start |
等待大概两分钟,访问 http://10.1.18.240:7180/ 进入管理端 (登陆名: admin 密码: admin)
6. 配置
自行配置
