- 准备工作
1.1. 系统环境
硬件设备:16G 内存,1.8T
网络组成:
172.16.41.41 j1
172.16.41.42 j2
172.16.41.43 j3
操作系统:Centos6.4 64 位
1.2. 安装 JDK
从官方网站上下载 rpm 包,本次使用版本 1.7.0_79(CDH5 可能支持 1.7 之前的版本,具体
情况未经测试),执行命令:
rpm -ivh jdk-7u60-linux-x64.rpm
由于是 rpm 包并不需要我们来配置环境变量,我们只需要配置一个全局的 JAVA_HOME 变量
即可,执行命令:
echo "JAVA_HOME=/usr/java/latest/" >> /etc/environment
执行命令,查看 Jdk 是否安装正确
java -version
javac -version
1.3. 修改主机名
修改/etc/sysconfig/network 文件:
NETWORKING=yes
HOSTNAME=j1
其中 HOSTNAME 与主机名一致。
主机名如果跟系统安装时不一致请执行 hostname 命令让其立即生效,否则会影响各节点互
相访问,命令如下:
hostname master
修改/etc/hosts 文件,添加:
172.16.41.41 j1
172.16.41.42 j2
172.16.41.43 j3
重新启动网络服务,执行命令:
service network restart
1.4. 关闭防火墙
防火墙会引起 hadoop 相关组件通讯的各种异常。 防火墙:
service iptables stop (临时关闭)
chkconfig iptables off (重启后生效)
设置 SELINUX:
setenforce 0 (临时生效)
修改/etc/selinux/config 下的 SELINUX=disabled (重启后生效)
1.5. SSH 无密钥验证
所有节点均执行如下命令,遇到提示一路回车即可:
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys_hostname 到文件 authorized_keys:
cat ~/.ssh/authorized_keys_$hostname >>authorized_keys
主机分发合并后的 authorized_keys 所有节点主机:
scp ~/.ssh/authorized_keys root@j2:~/.ssh/
scp ~/.ssh/authorized_keys root@j3:~/.ssh/
然后输入密码即可,以后再到其他机器就不需要密码额。
1.6. 安装 NTP 服务
所有节点安装相关组件:ntp 与 ntpdate。按顺序安装即可,完成后,配置开机启动:
yum install ntp
chkconfig ntpd on
检查是否设置成功:
chkconfig --list ntpd
1.7. 安装 Mysql 数据库
检查安装环境
查找以前是否装有 mysql,命令:
rpm -qa|grep -i mysql
可以看到 mysql 的两个包:
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
删除 mysql
删除命令:rpm -e --nodeps 包名
( rpm -ev mysql-4.1.12-3.RHEL4.1 )
删除老版本 mysql 的开发头文件和库
rm -fr /usr/lib/mysql
rm -fr /usr/include/mysql
注意:卸载后/var/lib/mysql 中的数据及/etc/my.cnf 不会删除,如果确定没用后就手工删除
rm -f /etc/my.cnf
rm -fr /var/lib/mysql
安装 mysql
使用 yum 源安装,执行安装命令:
yum install mysql-server
yum install mysql-delvel
1.8. 配置 mysql 数据库
启动 mysql 数据库
service mysqld start
修改初始密码:
修改 MySQL 数据库 root 用户的初始密码,先查下初始密码
cat /root/.mysql_secret
使用初始密码登陆 mysql 数据库,登陆命令为:
mysql –uroot –p
执行如下命令修改数据库 root 用户密码:
set password=password('root');
刷新权限表:
flush privileges;
将 mysql 设置成开机启动,测试使用新密码进行登陆。
chkconfig mysqld on
本次安装需要创建如下数据库
--hive 数据库
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci
--集群监控数据库
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci
--hue 数据库
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci - 安装 CM
2.1. 下载安装包
下载地址 http://archive-primary.cloudera.com/cm5/cm/5/,根据自己的系统选择相应的
版本,本次安装选用的是 cloudera-manager-el6-cm5.4.3_x86_64.tar.gz。下载完成后只
上传到 j1 节点即可。然后解压到/opt 目录下,不能解压到其他地方,因为 cdh5 的源会默
认在/opt/cloudera/parcel-repo 寻找,怎么制作 cdh5 的本地源文件会在之后介绍。
2.2. 安装 CM
给所有节点添加 cloudera-scm 用户:
useradd --system --home=/opt/cm-5.4.3/run/cloudera-scm-server/ --no-create-home
--shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
修改/opt/cm-5.4.3/etc/cloudera-scm-agent/config.ini 下面的 server_host
Hostname of the CM server.
server_host=j1
上传 mysql 驱动包 mysql-connector-java-5.1.26-bin.jar 到/opt/cm-5.4.3/share/cmf/lib/目录:
cp /root/data/mysql-connector-java-5.1.22-bin.jar /opt/cm-5.4.3/share/cmf/lib/
为 Cloudera Manager 5 建立数据库:
/opt/cm-5.4.3/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot
-proot --scm-host localhost scm scm scm
格式是 :scm_prepare_database.sh 数据库类型 数据库 服务器 用户名 密码 –
scm-host Cloudera_Manager_Server 所在的机器,后面那三个不知道代表什么,直接照
抄官网的了。
开启 Cloudera Manager 5 Server 端:
/opt/cm-5.4.3/etc/init.d/cloudera-scm-server start
注意 server 首次启动不要立即关闭或重启,因为首次启动会自动创建相关表以及数据,如
果因为特殊原因中途退出,请先删除所有表以及数据之后再次启动,否则将会出现启动不成
功的情况。
开启 Cloudera Manager 5 Agents 端:
先 scp /opt/cm-5.4.1 到所有 datanode 节点上,然后在每台机器上开启 Agents 端:
scp -r /opt/cm-5.4.3 root@j2:/opt
scp -r /opt/cm-5.4.3 root@j3:/opt
等待拷贝成功,在所有 datanode 节点上启动:(注意必须以管理员权限启动)
/opt/cm-5.4.3/etc/init.d/cloudera-scm-agent start
浏览器启动 Cloudera Manager 5 控制台(172.16.41.41:7180),启动成功就会看到登陆页
面。
安装 CDH
3.1. 下载 CDH 版本
下载 CDH 版本到本地 http://archive-primary.cloudera.com/cdh5/parcels/5.0.0/,需要下载
三样东西: 1、与操作系统版本相对应的 parcel 包 2、 manifest.json 文件。
3、 CDH-5.4.4-1.cdh5.4.3.p0.4-el6.parcel.sha1 文件。
3.2. 安装 CDH
本地源制作
下载完成后将这三个文件放到 master 节点的/opt/cloudera/parcel-repo 下(目录在安装
Cloudera Manager 5 时已经生成),并将 CDH-5.4.4-1.cdh5.4.4.p0.4-el6.parcel.sha1
重命名为 CDH-5.4.4-1.cdh5.4.4.p0.4-el6.parcel.sha。
CDH 安装
打开 http:// 172.16.41.41:7180,登陆控制台,默认账户和密码都是 admin,安装时选择
免费版,之后由于 cm5 对中文的支持很强大,按照提示安装即可,如果系统配置有什么问题
在安装过程中会有提示,根据提示选择 impala 组件安装就可以了。
安装完成后,在控制台可以看到所装的组件和各组件的运作状态:
主节点 j1 的角色分配如下所示:
j 2、j3 节点的角色分配如下:常见问题处理
1、 安装 hive、Impala 组件时,需要 mysql 源数据支持,需要新建数据库并进行赋权操作,
然后重启数据库。详细操作如下:
grant all on . to root@"%" Identified by "root";
service mysqld restart
然后重启数据库
在安装 hive 时无法继续,查看日志发现如下报错信息:
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql':
解决办法:修改密码后重启。
mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错
误。2、 详细操作安装 Hive 时,遇到安装失败的问题,查看一下日志发现时安装 Hive 时需要安
装 JDBC 驱 动 , 所 以 同 样 我 们 将 Mysql 的 驱 动 包 拷 贝 到
/opt/cloudera/parcels/CDH-5.4.3-1.cdh5.0.0.p0.47/lib/hive/lib/目录下,之后再继续安装就
不会遇到问题了。 3、 使用用 yum 安装时,无法连接网络。
解决办法:在/etc/resolv.conf 中添加 nameserver 8.8.8.8。参考文献
博客 1:http://www.tuicool.com/articles/ENjmeaY
博客 2:http://m.blog.csdn.net/blog/hjckevin/38873345
社区:http://www.aboutyun.com/thread-8921-1-1.html
impala 官网:
http://www.cloudera.com/content/cloudera/en/documentation/cloudera-impala/latest/topics/impala_install.html