介绍了 CDH 集群的搭建与安装
标签: Cloudera-Manager CDH Hadoop 部署 集群
目前Hadoop比较流行的主要有2个版本,Apache和Cloudera版本。
- Apache Hadoop:维护人员比较多,更新频率比较快,但是稳定性比较差。
- Cloudera Hadoop(CDH):CDH:Cloudera公司的发行版本,基于Apache Hadoop的二次开发,优化了组件兼容和交互接口、简化安装配置、增加Cloudera兼容特性。
1. 操作环境
- CentOS 7.3 x64 (4C/10G/50G)
- Cloudera Manager:6.0.1
- CDH: 6.0.1
相关包地址
Cloudera Manager下载地址:https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPMS/x86_64/
- cloudera-manager-agent-6.0.0-530873.el7.x86_64.rpm
- cloudera-manager-daemons-6.0.0-530873.el7.x86_64.rpm
- cloudera-manager-server-6.0.0-530873.el7.x86_64.rpm
- cloudera-manager-server-db-2-6.0.0-530873.el7.x86_64.rpm
- oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm
CDH安装包地址:https://archive.cloudera.com/cdh6/6.0.0/parcels/
- CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel
- CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha256
- manifest.json
注意:以下操作均用root用户操作。
2. 网络配置(所有节点)
在所有节点上把IP和主机名的对应关系写入
1 | vim /etc/hosts |
在相应的节点主机上修改主机名
1 | vim /etc/sysconfig/network |
cdhserver 是你起的的主机名字
执行命令
1 | # hostname cdhserver |
CentOS7要多执行以下这步:
1 | hostnamectl set-hostname cdhserver |
3. 打通SSH
设置ssh无密码登陆(所有节点)
4. 关闭防火墙和SELinux
注意: 需要在所有的节点上执行,因为涉及到的端口太多了,临时关闭防火墙是为了安装起来更方便,安装完毕后可以根据需要设置防火墙策略,保证集群安全。
关闭防火墙并关闭自启动:
1 | systemctl stop firewalld |
5. 所有节点配置NTP服务
集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。 具体思路如下:
master节点作为ntp服务器与外界对时中心同步时间,随后对所有datanode节点提供时间同步服务。
所有datanode节点以master节点为基础同步时间。
所有节点安装相关组件:
1 | yum install ntp |
启动服务:
1 | systemctl start ntpd |
配置开机启动:
1 | systemctl enable ntpd |
6. 安装 python 2.7
必须是python2.7版本,CentOS 7 系统可以不用装,系统自带的。
1 | #下载并安装EPEL,安装python-pip,psycopg2有依赖 |
升级软件依赖版本
Starting with CDH 6, PostgreSQL-backed Hue requires the Psycopg2 version to be at least 2.5.4
首先安装epel扩展源:
1 | yum -y install epel-release |
7. 准备Parcels,用以安装CDH6
将CHD6相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中,如果没有此目录,可以自己创建。
- CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel
- CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha256
- manifest.json
注意:最后将CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha256,重命名为CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha
安装repo:
1 | wget https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/cloudera-manager.repo -P /etc/yum.repos.d/ |
导入GPG key:
1 | rpm --import https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPM-GPG-KEY-cloudera |
JDK install:
yum install oracle-j2sdk1.8
注意 :
- 使用 yum 下载,需要确定版本与安装CDH6官方要求的需要的版本一致
- 也可不使用 yum 安装,使用自己下载 JDK,然后手动绿色安装配置
- 也可在安装 CM 的时候,再根据提示来安装需要的 JDK
三种方式任选其一便可
yum安装CM:
1 | yum install cloudera-manager-server |
8. 安装MySql
1 | wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm |
初始化Mysql
1 | /usr/bin/mysql_secure_installation |
配置JDBC
1 | wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz |
建库:根据官方文档提供的命名建库,方便记忆。(在CM配置CDH的时候会用到这些库名)
Set up the Cloudera Manager Database:/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm
出现如下日志:
1 | JAVA_HOME=/usr/java/jdk1.8.0_141-cloudera |
9. 启动CM服务
启动:
1 | systemctl start cloudera-scm-server |
查看日志:
1 | tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log |
出现:INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.则表示服务正常启动
登录 http://<server_host>:7180 账号:admin
Checking if Disqus is accessible...