最近新购了一台工作站,急切的想试一下手,就搭建个CDH集群吧,练练手,顺便了解一下最新版的CDH长成什么样子了……
工作站的配置:Thinkpad P50,Intel(R)Xeon E3 1505M v5@2.80GHz 2.81GHz ;内存48G;显卡4G……
1 下载CDH各种RPM包
1.1 下载cloudera-manager-installer.bin
- 这个地址可以选择最新的CM的安装文件进行下载,此处,我选择的是5.9.0版本
http://archive.cloudera.com/cm5/installer/latest/cloudera-manager-installer.bin
http://archive.cloudera.com/cm5/installer/5.9.0/cloudera-manager-installer.bin(我选择下载的版本)
1.2 下载对应平台/架构的RPMS
对应我的平台的RPMS包下载地址如下:
http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.9.0/RPMS/x86_64/
2 设置IP地址(所有节点)
2.1 设置IP地址和网关
Master :IP 192.168.1.100 网关 192.168.1.254
Worker1:IP 192.168.1.101 网关 192.168.1.254
Worker2:IP 192.168.1.102 网关 192.168.1.254
Worker3:IP 192.168.1.103 网关 192.168.1.254
Worker4:IP 192.168.1.104 网关 192.168.1.254
2.2 设置主机名
修改系统的网络配置文件
vim /etc/sysconfig/network
例如:修改HOSTNAME=Master
各个节点的主机名配置如下
192.168.1.100 主机名: Master
192.168.1.101 主机名: Worker1
192.168.1.102 主机名: Worker2
192.168.1.103 主机名: Worker3
192.168.1.104 主机名: Worker4
(注:此处集群的各个节点的主机名字就是用安装系统时的设置的主机名,所以我就不用修改了)
3 设置hosts文件(所有节点)
绑定IP地址与HostName
vim /etc/hosts
192.168.1.100 Master
192.168.1.101 Worker1
192.168.1.102 Worker2
192.168.1.103 Worker3
192.168.1.104 Worker4
4 关闭防火墙(所有节点)
4.1 检查防火墙状态
service iptables status
4.2关闭防火墙
chkconfig iptables off //永远关闭-重启后生效
service iptables off //临时关闭-不用重启
系统重启后,查看防火墙状态如下
5 关闭SELinux(所有节点)
使用getenforce查看是否关闭:
显示的是在强制执行,接下来我们需要关掉它
修改/etc/selinux/config 文件,将SELINUX=enforcing改为SELINUX=disabled,修改完成后重启机器生效。
(将SELINUX=enforcing改为disabled)
reboot -h now
重启之后,查看是否生效
已经生效,注意每个节点都要关闭SElinux哟
6 配置SSH(可选)
6.1 修改sshd配置文件
vim /etc/ssh/sshd_config
去掉注释,放开这几个配置项
重启sshd服务
service sshd restart
6.2 生成私钥和公钥(所有节点)
ssh-keygen -t rsa
Master:
Worker1:
Worker2:
Worker3:
Worker4:
6.3 重命名节点的公钥(所有节点)
cp id_rsa.pub authorized_keys_Master
cp id_rsa.pub authorized_keys_Worker1
cp id_rsa.pub authorized_keys_Worker2
cp id_rsa.pub authorized_keys_Worker3
cp id_rsa.pub authorized_keys_Worker4
6.4 把从节点(Worker)的公钥拷贝到主节点(Master)的.ssh目录下
scp authorized_keys_Worker1 hjr@Master:/home/hjr/.ssh
scp authorized_keys_Worker2 hjr@Master:/home/hjr/.ssh
scp authorized_keys_Worker3 hjr@Master:/home/hjr/.ssh
scp authorized_keys_Worker4 hjr@Master:/home/hjr/.ssh
最后在Master的.ssh目录下面查看以下:
6.5 将所有节点的公钥信息保存到主节点下的authorized_keys(新生成的)文件中
cat authorized_keys_Master >> authorized_keys
cat authorized_keys_Worker1 >> authorized_keys
cat authorized_keys_Worker2 >> authorized_keys
cat authorized_keys_Worker3 >> authorized_keys
cat authorized_keys_Worker4 >> authorized_keys
查看一下authorized_keys文件内容:
6.6 把authorized_keys文件拷贝到从节点上去
scp authorized_keys hjr@Worker1:/home/hjr/.ssh
scp authorized_keys hjr@Worker2:/home/hjr/.ssh
scp authorized_keys hjr@Worker3:/home/hjr/.ssh
scp authorized_keys hjr@Worker4:/home/hjr/.ssh
6.7 设置.SSH 目录权限
设置.ssh目录权限 : chmod 700 -R .ssh
6.8 测试SSH
(这样Master和各个Worker之间就能够相互通信了—Master可以通过ssh连接到Worker1,Worker2,Worker3,Worker4; Worker1,Worker2,Worker3,Worker4可以通过ssh连接到Master)
7 MySQL 5.6.4安装(可选)
7.1 检查MySQL及相关RPM包,是否安装,如果有安装,则移除
7.2 下载MySQL包:MySQL-5.6.34-1.linux_glibc2.5.x86_64.rpm-bundle.tar
7.3 解压
7.4 安装MySQL5.6
rpm -ivh MySQL-server-5.6.34-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-devel-5.6.34-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-client-5.6.34-1.linux_glibc2.5.x86_64.rpm
修改配置文件位置
cp /usr/share/mysql/my-default.cnf /etc/my.cnf
7.5 初始化MySQL及设置密码
/usr/bin/mysql_install_db
service mysql start
cat /root/.mysql_secret #查看root账号密码
mysql -uroot -pawSDoqAX24LERoPA
SET PASSWORD = PASSWORD('124077'); #设置密码为124077
7.6 允许远程登陆
use mysql;
select host,user,password from user;
update user set password=password('124077') where user='root';
update user set host='%' where user='root' and host='localhost';
flush privileges;
exit
7.7 设置开机自启动
chkconfig mysql on
chkconfig --list | grep mysql
7.8 MySQL的默认安装位置(*)
/var/lib/mysql/ #数据库目录
/usr/share/mysql #配置文件目录
/usr/bin #相关命令目录
/etc/init.d/mysql #启动脚本
7.9 修改字符集和数据存储路径
配置/etc/my.cnf文件,修改数据存放路径、mysql.sock路径以及默认编码utf-8.
查看字符集
show variables like '%collation%';
show variables like '%char%';
7 卸载CentOS自带的JDK (所有节点)
7.1 查看系统自带java版本
java –version
7.2 查看OpenJDK相关包
rpm –qa | grep java
7.3 移除OpenJDK相关包
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
rpm -e --nodeps tzdata-java-2013g-1.el6.noarch
Master节点操作如下:
8 执行cloudera-manager-installer.bin
8.1 安装 oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm 包
rpm -ivh oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm
8.2 安装 cloudera-manager-daemons-5.9.0-1.cm590.p0.249.el6.x86_64.rpm包
rpm -ivh cloudera-manager-daemons-5.9.0-1.cm590.p0.249.el6.x86_64.rpm
8.3 安装 cloudera-manager-server-5.9.0-1.cm590.p0.249.el6.x86_64.rpm包
rpm -ivh cloudera-manager-server-5.9.0-1.cm590.p0.249.el6.x86_64.rpm
8.4 安装cloudera-manager-server-db-2-5.9.0-1.cm590.p0.249.el6.x86_64.rpm包
rpm -ivh cloudera-manager-server-db-2-5.9.0-1.cm590.p0.249.el6.x86_64.rpm
8.5 各个节点安装cloudera-manager-agent-5.9.0-1.cm590.p0.249.el6.x86_64.rpm
rpm -ivh cloudera-manager-daemons-5.9.0-1.cm590.p0.249.el6.x86_64.rpm
rpm -ivh cloudera-manager-agent-5.9.0-1.cm590.p0.249.el6.x86_64.rpm
这边会有几个依赖找不到,需要联网,通过yum下载安装:
warning: cloudera-manager-agent-5.9.0-1.cm590.p0.249.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID e8f86acd: NOKEY
error: Failed dependencies:
mod_ssl is needed by cloudera-manager-agent-5.9.0-1.cm590.p0.249.el6.x86_64
openssl-devel is needed by cloudera-manager-agent-5.9.0-1.cm590.p0.249.el6.x86_64
python-psycopg2 is needed by cloudera-manager-agent-5.9.0-1.cm590.p0.249.el6.x86_64
MySQL-python is needed by cloudera-manager-agent-5.9.0-1.cm590.p0.249.el6.x86_64
依次安装如下:
yum install MySQL-python
yum install python-psycopg2
yum install openssl-devel
yum install mod_ssl
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
这里需要网络哟
9 Cloudera-Manager 服务配置
浏览器运行192.168.1.100:7180打开CM的web界面如下,默认的用户名和密码都是admin
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
10 完成安装
集群正常运行界面
几个主要服务如下: