经过一天的摸索,总算是搞定了CDH5.5.1的安装问题,现在就和大家分享一下安装过程,算是对自己学习过程的一次梳理。
在安装CDH5.5.1之前,建议大家搞一本官方的安装文档,这个东西的地位类似驴友手中的LP,大家可以在我的共享资源中找到并下载该文档。
硬件环境:20g内存 500g硬盘 4核处理器 Centos6.5
正式开始
Installation Path A - Automated Installation by Cloudera Manager..............................................................124
Installation Path B - Automated Installation by Cloudera Manager .............................................................131
Installation Path B - Manual Installation Using Cloudera Manager Packages.............................................140
Installation Path C - Manual Installation Using Cloudera Manager Tarballs................................................155
这是官方文档给出的4种安装方式,因为单位网络问题,在线的方式在安装CDH5.4.X的时候就否掉了。之前的CDH5.4.X我一直使用Tarballs的安装方式,本次尝试Tarballs方式失败,几经纠结,最后我选择了yum本地安装。
第一部分,基础环境的配置
1 网络配置(所有节点)
修改主机名:vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=CDH64(你的主机名)
修改ip与主机名的对应关系:vim /etc/hosts
127.0.0.1 localhost localhost.localdomain
::1 localhost localhost.localdomain
192.168.42.64 CDH64 (你的集群ip与主机名)
192.168.42.65 CDH65
192.168.42.66 CDH66
192.168.42.67 CDH67
2 打通SSH,设置ssh无密码登陆(所有节点)
在每台主机上运行命令生成本地的公私密钥对 :ssh-keygen-trsa
同样的过程需要在3台slave主机上执行。然后通过scp命令将3台slave主机的公钥拷贝到master主机上:
scp.ssh/id_rsa.pub CDH64:.ssh/CDH65.pub
加入授权文件:
[[email protected]]$ cat *.pub >>authorized_keys[hadoop@bgu0001 .ssh]$ cat authorized_keys
授权文件cp到其他机器:
[hadoop@bgu0001 .ssh]$ scpauthorized_keys CDH65:.ssh/
3 安装oracle的java
java -version查看一下现在的java版本
建议用rpm包的方式安装java,然后配置环境变量
卸载java:yum -y remove java
4.关闭防火墙和SELinux
关闭防火墙:
serviceiptables stop(临时关闭)
chkconfigiptables off(重启后生效)
关闭SELINUX
setenforce0 (临时生效)
修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效)
5 所有节点配置NTP服务
集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。具体思路如下:
master节点作为ntp服务器与外界对时中心同步时间,随后对所有datanode节点提供时间同步服务。
所有datanode节点以master节点为基础同步时间。
所有节点安装相关组件:yum install ntp。完成后,配置开机启动:chkconfig ntpd on,检查是否设置成功:chkconfig --listntpd其中2-5为on状态就代表成功。
vim /etc/ntp.conf
主节点添加如下两行配置:
# Use publicservers from the pool.ntp.org project.
# Please considerjoining the pool (http://www.pool.ntp.org/join.html).
server 127.127.1.0
fudge 127.127.1.0 stratum 8
配置文件完成,保存退出,启动服务,执行如下命令:service ntpd start
检查是否成功,用ntpstat命令查看同步状态,出现以下状态代表启动成功:
synchronisedto NTP server () at stratum 2time correct to within 74 mspollingserver every 128 s
如果出现异常请等待几分钟,一般等待5-10分钟才能同步。
配置ntp客户端(所有datanode节点)
server192.168.42.64 iburst
ok保存退出。
这里可能出现同步失败的情况,请不要着急,一般是本地的ntp服务器还没有正常启动,一般需要等待5-10分钟才可以正常同步。启动服务:service ntpd start
因为是连接内网,这次启动等待的时间会比master节点快一些,但是也需要耐心等待一会儿。
到这里,第一部分基础环境算是搞定了,强烈建议在完成基础环境配置之后做一次快照,节约之后重置的时间成本。
第二部分,正式安装
1 安装python
$ su -c 'rpm -Uvh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm'
$ yum install python26
安装好之后可以用python -V查看一下
2 下载rpm包:
地址:http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5/RPMS/x86_64/
下载完成之后,可以在/目录之下创建文件夹rpm,把文件都放进去,然后再scp到其他的几台机器
cloudera-manager-agent-5.5.1-1.cm551.p0.8.el6.x86_64.rpm | 2015-12-08 07:00 | 4.7M | ||
cloudera-manager-daemons-5.5.1-1.cm551.p0.8.el6.x86_64.rpm | 2015-12-08 07:01 | 470M | ||
cloudera-manager-server-5.5.1-1.cm551.p0.8.el6.x86_64.rpm | 2015-12-08 07:00 | 8.2K | ||
cloudera-manager-server-db-2-5.5.1-1.cm551.p0.8.el6.x86_64.rpm | 2015-12-08 07:00 | 9.9K | ||
enterprise-debuginfo-5.5.1-1.cm551.p0.8.el6.x86_64.rpm | 2015-12-08 07:00 | 957K | ||
jdk-6u31-linux-amd64.rpm | 2015-12-08 07:01 | 68M | ||
oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm | 2015-12-08 07:00 | 135M |
3 安装rpm包
在主节点我安装了前五个包,在其他节点只安装了daemons和agent。
这里的安装命令 : yum localinstall *.rpm
安装好之后所有节点都要启动一下agent:
[root@CDH64 rpm]# service cloudera-scm-agent start
Starting cloudera-scm-agent: [ OK ]
到这里 agent就启动成功了
4 下载CDH包、jdbc驱动(我这里数据库用的是mysql,使用其他数据库可另行下载)(主节点)
CDH安装包地址:http://archive.cloudera.com/cdh5/parcels/latest/
JDBC:http://download.softagency.net/MySQL/Downloads/Connector-J/
JDBC改名为mysql-connector-java 放入/usr/share/java/ 如果目录不存在就自己创建一个
5 执行安装命令(主节点)
安装之前要删除文件 /etc/cloudera-scm-server/db.properties
$ wget http://archive.cloudera.com/cm5/installer/latest/cloudera-manager-installer.bin
$ chmod u+x cloudera-manager-installer.bin
$ sudo ./cloudera-manager-installer.bin
这里的bin文件也可以自己下载,然后执行后两条命令安装
顺利的话,安装过程会很快,安装成功后就可以访问主节点的7180端口进入cloudera-manager的界面
用户名、密码都是admin
6 安装CDH5.5.1
安装过程中我们使用本地包的方式安装,安装过程比较简单,这里就不赘述
安装过程如果报错就查看一下详情,基本都有很详细的指导
数据库配置的时候如果选择自己创建数据库,就要在主节点下载并创建,例如我选择的mysql:
安装配置MySql(主节点)
通过yum install mysql-server安装mysql服务器
chkconfig mysqld on设置开机启动,并service mysqldstart启动mysql服务,并根据提示设置root的初始密码:mysqladmin -u root password '密码'。
mysql -uroot -p密码 进入mysql命令行,创建以下数据库:
#hive
createdatabase hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
设置root授权访问以上所有的数据库:
#授权root用户在主节点拥有所有数据库的访问权限
grantallprivilegeson *.* to'root'@'CDH64' identified by'密码'withgrantoption;
flush privileges;
安装终于完成了,下一步就是调试和优化配置了,上图: