集群环境
- 操作系统:Ubuntu Server 12.04
- Cloudera Manager 5.1.1
- CDH 5.1.0
-
安装Cloudera Manager前的准备工作
先看看官方提供的Cloudera Manager Installation Guide,里面有CM的简介、配置要求等。
满足要求后,直接进入Installing Cloudera Manager, CDH, and Managed Services部分。
这里有三种方法安装,我尝试过Path A和PathB,A方法使用网络安装时进度一直卡在15%,B方法同样是连接时失败。
卸载掉已安装的CM后,尝试Path C安装。
1. 打开/etc/hosts修改主机名,如:
10.105.32.57 ubuntu1
10.105.32.62 ubuntu2
10.105.32.65 ubuntu3
2. 打通SSH
在每台主机上,使用ssh-keygen -t rsa
在master上:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
scp文件到其他机器:
scp ~/.ssh/authorized_keys root@ubuntu2:~/.ssh/ scp ~/.ssh/authorized_keys root@ubuntu3:~/.ssh/
3. 关闭SELinux
setenforce 0 (临时生效) 修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效)
4. 关闭Ipv6
5. 安装JDK Java Development Kit Installation
官方说支持的JDK版本是JDK 1.7,Latest Certified Version是1.7.0_55
从这里下载JDK7u55
解压到/usr/java/jdk.1.7.0_55
打开/etc/default/bigtop-utils,设置JAVA_HOME,如:
export JAVA_HOME=/usr/java/default
把刚才解压的JDK目录连接到/usr/java/default
ln -s /usr/java/jdk.1.7.0_55 /usr/java/default
开始安装Cloudera Manager Server and Agents
1. 下载Tarball File
根据列表下载相应的Tarball File:下载地址
2. 创建目录
$ sudo mkdir /opt/cloudera-manager
3. 将刚才下载的Tarball File解压到该目录,示例代码:
$ tar xzf cloudera-manager*.tar.gz -C /opt/cloudera-manager
解压之后的目录格式如:/opt/cloudera-manager/cm-5.1.1,这个就是下面提到的<tarball root>。
4. 创建用户
创建一个名为cloudera-scm的用户,命令如下:
$ useradd --system --home=/opt/cloudera-manager/cm-5.1.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
5. 配置Cloudera Manager Agents
在每台机器上,打开tarball root/etc/cloudera-scm-agent/config.ini,配置相关参数
Property
Description
server_host
Name of host where the Cloudera Manager Server is running. server_port
Port on host where the Cloudera Manager Server is running. 6. 安装MySQL数据库
参考这里安装MySQL数据库
sudo apt-get install mysql-server
备份/etc/mysql/my.cnf的默认配置,可根据官网和集群配置修改该文件。
确保MySQL Server以root身份运行:
sudo chkconfig mysql on
启动MySQL Server:
sudo service mysql start
安装MySQL JDBC Connector:
sudo apt-get install libmysql-java
或从这里下载 jdbc驱动,放到 <tarball root>/share/cmf/lib/ 下。
7. 建立所需要的数据库
登录MySQL:
$ mysql -u root -p
按照官网的列表,为Activity Monitor, Reports Manager, Hive Metastore, Sentry Server, and Cloudera Navigator Audit Server创建数据库,如下:
mysql> create database database DEFAULT CHARACTER SET utf8; Query OK, 1 row affected (0.00 sec)
设置数据库权限:
mysql> grant all on *.* to root@"%" Identified by "password";
允许远程连接MySQL:
打开/etc/mysql/my.cnf,找到bind-address = 127.0.0.1
注释掉这行,如:#bind-address = 127.0.0.1,或者改为: bind-address = 0.0.0.0
重启 MySQL:
sudo /etc/init.d/mysql restart
8. 生成数据库
使用脚本<tarball root>/share/cmf/schema/scm_prepare_database.sh生成数据库
格式如:
scm_prepare_database.sh [options] database-type database-name username password
或参考:
<tarball root>/share/cmf/schema/scm_prepare_database.sh mysql scm -hlocalhost -uroot -p123456 --scm-host localhost scm scm scm
具体parameter和option参考官网列表。
9. 创建Parcel Repository目录
$ mkdir -p /opt/cloudera/parcel-repo $ chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
运行Cloudera Manager并安装CDH5
1. 运行Cloudera Manager Server
在CM Server的机器上运行:
$ sudo tarball root/etc/init.d/cloudera-scm-server start
开机自启的方法:
$ cp tarball root/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server $ update-rc.d cloudera-scm-server defaults
2. 运行Cloudera Manager Agents
在每台机器上运行:
$ sudo tarball root/etc/init.d/cloudera-scm-agent start
开机自启的方法:
$ cp tarball root/etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent $ update-rc.d cloudera-scm-agent defaults
3. 启动Cloudera Manager控制台
在浏览器输入如:http://example.com:7180/,example是CM Server的IP地址
用户名和密码都是admin
4. 准备Parcels,安装 CDH5
进入之后可以从主机->Parcel里获得各parcel的下载地址,http://archive.cloudera.com/cdh5/
下载后放到 /opt/cloudera/parcel-repo 下,再生成 sha 文件。
hash值在对应网络文件的manifest.json里,选好系统版本。
5. 接下来按照提示安装就可以了。
按照之前建立的各个数据库,为不同服务配置数据库,测试连接成功后确定。
安装好后的效果如图:
参考资料:
我的github博客:http://demievil.github.io/