lovelily 2016-07-20
系统环境
准备工作卸载系统自带OPEN-JDK(所有节点)
如有上述显示,说明系统里已经有OpenJdk,执行以下命令查看系统中有哪些OpenJdk相关包:
rpm -qa | grep java
其中有如下包必须卸载,根据系统版本不同,各个包版本号会有所差异: java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64 java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64 java-1.6.0-openjdk-devel-1.6.0.0-1.66.1.13.0.el6.x86_64 执行以下命令,卸载:
rpm -e --nodeps java-1.5.0-gcj-1.5.0.0-29.1.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 java-1.6.0-openjdk-devel-1.6.0.0-1.66.1.13.0.el6.x86_64
安装JDK(所有节点)
rpm -ivh jdk-7u55-linux-x64.rpm
由于是rpm包并不需要我们来配置环境变量,我们只需要配置一个全局的JAVA_HOME变量即可,执行命令:
echo "JAVA_HOME=/usr/java/latest/" >> /etc/environment
执行命令,查看Jdk是否安装正确
java -version
javac -version
修改主机名
NETWORKING=yes
HOSTNAME=master.Hadoop
NETWORKING_IPV6=no
GATEWAY=192.168.64.1
其中HOSTNAME与主机名一致。主机名如果跟系统安装时不一致请执行hostname命令让其立即生效,否则会影响各节点互相访问。修改/etc/hosts文件,添加:
192.168.1.101 master.hadoop
192.168.1.102 datanode1
192.168.1.103 datanode2
192.168.1.104 datanode3
执行命令:
service network restart
打通SSH(所有节点)
ssh-keygen -t rsa
然后在主节点执行以下命令:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
scp文件到所有datenode节点:
scp ~/.ssh/authorized_keys root@datanode1:~/.ssh/
service iptables stop (临时关闭)
chkconfig iptables off (重启后生效)
SELINUX:
setenforce 0 (临时生效)
安装NTP服务(所有节点)
chkconfig ntpd on
检查是否设置成功:
chkconfig --list ntpd
配置内网NTP服务器(master节点)
ntdate -u 65.55.56.206
ntp服务只有一个配置文件,配置好了就OK。 这里只给出有用的配置,不需要的配置都用#注掉,这里就不在给出:
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default nomodify notrap
server 65.55.56.206 prefer
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
配置文件完成,保存退出,启动服务,执行如下命令:
service ntpd start
chkconfig ntpd on (设置开机启动)
检查是否成功,用ntpstart命令查看同步状态,出现以下状态代表启动成功:
synchronised to NTP server () at stratum 2
time correct to within 74 ms
polling server every 128 s
配置ntp客户端(所有datanode节点)
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
server 192.168.1.101
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
ok保存退出,请求服务器前,请先使用ntpdate手动同步一下时间:
ntdate -u 192.168.1.101 (内网ntp服务器)
这里可能出现同步失败的情况,请不要着急,一般是本地的ntp服务器还没有正常启动,一般需要等待5-10分钟才可以正常同步。启动服务:
service ntpd start
chkconfig ntpd on
Mysql配置(master节点)
只需要配置master节点的Mysql即可。(这里不再介绍如何安装Mysql) 将mysql设置为开机启动:
chkconfig mysqld on
本次安装需要创建如下数据库(不包括Cloudera Manager的数据库,Cloudera Manager数据库有相关脚本创建,后面会有说明)
--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
以上数据库,可能会根据安装组件的不同略有差别。 给用户授权(这里密码设为hadoop)
grant all on *.* to root@"%" Identified by "hadoop";
正式开工安装Cloudera Manager 5(cm5)
useradd --system --home=/opt/cm-5.0.0/run/cloudera-scm-server --no-createhome --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
修改/opt/cm-5.0.0/etc/cloudera-scm-agent/config.ini 下面的serer_host
server_host=master.hadoop
为Cloudera Manager 5建立数据库:
/opt/cm-5.0.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -phadoop --scm-host localhost scm scm scm
格式是:scm_prepare_database.sh 数据库类型 数据库 服务器 用户名 密码 –scm-host Cloudera_Manager_Server所在的机器,后面那三个不知道代表什么,直接照抄官网的了。 因为我们用的是Mysql数据库,所以我们需要下载Mysql的JDBC驱动,本次从官网上下载最新稳定版:mysql-connector-java-5.1.30.tar.gz,解压之后找到mysql-connector-java-5.1.30-bin.jar放到/opt/cm-5.0.0/share/cmf/lib/目录下。 开启Cloudera Manager 5 Server端:
/opt/cm-5.0.0/etc/init.d/cloudera-scm-server start
注意server首次启动不要立即关闭或重启,因为首次启动会自动创建相关表以及数据,如果因为特殊原因中途退出,请先删除所有表以及数据之后再次启动,否则将会出现启动不成功的情况。 开启Cloudera Manager 5 Agents端。 先scp /opt/cm-5.0.0到所有datanode节点上,然后在每台机器上开启Agents端:
scp -r /opt/cm-5.0.0 root@datanode1:/opt/cm-5.0.0
等待拷贝成功,在所有datanode节点上启动:(注意必须以管理员权限启动)
sudo /opt/cm-5.0.0/etc/init.d/cloudera-scm-agent start
安装CDH5
在这个大括号的最下面找到“hash”所对应的值。
将“hash”的值复制下来,然后创建一个文件,文件名与你的parel包名一致,并加上.sha后缀:
这样你的目录下将有这3个文件,将“hash”的值复制到新建的sha文件中,并保存,好了,我们的本地源制作完成了。这样基本大功告成了,再之后的操作就是控制台按照步骤安装即可。
打开http://192.168.1.101:7180,登陆控制台,默认账户和密码都是admin,安装时选择免费版,之后由于cm5对中文的支持很强大,按照提示安装即可,如果系统配置有什么问题在安装过程中会���提示,根据提示给系统安装组件就可以了。
如果在安装时选择了安装Hive,可能会遇到安装失败的问题,查看一下日志发现时安装Hive时需要安装JDBC驱动,所以同样我们将Mysql的驱动包拷贝到/opt/cloudera/parcels/CDH-5.0.0-1.cdh5.0.0.p0.47/lib/hive/lib/目录下,之后再继续安装就不会遇到问题了。