1:禁Selinux:(不关闭安装cm第一步就出错)
1》禁用selinux,vi /etc/selinux/config,按照图示修改:(重启生效reboot)
vi /etc/selinux/config
2》 关闭防火墙
chkconfig iptables off
2:修改主机名
1》vi /etc/sysconfig/network(重启生效reboot)
3:卸载自带open JDK
rpm -qa|grep java
rpm -e --nodeps *.jdk
4:安装oracle JDK
1》[root@hadoop01 local]# tar -zxvf jdk-8u60-linux-x64.gz
2》[root@hadoop01 local]# vi /etc/profile
3》在最下方添加:
export JAVA_HOME=/usr/local/jdk1.8.0_60
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
4》source /etc/profile
5》验证是否成功[root@hadoop01 ~]# which java
5:做免密
相互设置ssh免密登陆(所有节点):
[root@hadoop01 ~]# ssh-keygen -t rsa 一路回车
[root@hadoop01 ~]# ssh-copy-id hadoop01
[root@hadoop01 ~]# ssh-copy-id hadoop02
[root@hadoop01 ~]# ssh-copy-id hadoop03
[root@hadoop02 ~]# ssh-keygen -t rsa
[root@hadoop02 ~]# ssh-copy-id hadoop01
[root@hadoop02 ~]# ssh-copy-id hadoop02
[root@hadoop02 ~]# ssh-copy-id hadoop03
[root@hadoop03 ~]# ssh-keygen -t rsa
[root@hadoop03 ~]# ssh-copy-id hadoop01
[root@hadoop03 ~]# ssh-copy-id hadoop02
[root@hadoop03 ~]# ssh-copy-id hadoop03
6:主节点安装mysql
安装配置MySQL(主节点安装即可)
通过yum install mysql-server安装mysql服务器(怎么安装都行)。chkconfig mysqld on设置开机启动,并service mysql start启动mysql服务,并根据提示设置root的初试密码:mysqladmin -u root password 'root'。
mysql -uroot -pxxxx进入mysql命令行,创建以下数据库:
#hive
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity monitor
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
# Oozie
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#Hue
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#授权root用户在主节点拥有所有数据库的访问权限
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
7:ntpd 安装:(保证每个节点时间同步)
安装这个组件主要是用来做时间同步(每个节点)
集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。 具体思路如下:
master节点作为ntp服务器与外界对时中心同步时间,随后对所有datanode节点提供时间同步服务。
所有datanode节点以master节点为基础同步时间。
所有节点安装相关组件:yum install ntp。完成后,所有配置开机启动:chkconfig ntpd on,检查是否设置成功:chkconfig --list ntpd其中2-5为on状态就代表成功。
主节点:
# vi /etc/ntp.conf
#server 210.72.145.44 #这是中国国家授时中心的IP (不可用,可搜索国内常用ntp服务器ip)
server s2b.time.edu.cn #这个是清华大学ntp服务器ip之一 保证可用即可
启动:service ntpd start
开机启动:chkconfig ntpd on
查看NTP服务的运行状况: watch ntpq -p
其他节点:hadoop02 hadoop03 做如上步骤后启动即可
然后启动:service ntpd start
8:设置文件打开数量和用户最大进程数(可选)
文件打开数量
ulimit -a
用户最大进程数
ulimit -u
设置
sudo vi /etc/security/limits.conf
内容:
soft nofile 65535
hard nofile 65535
soft nproc 32000
hard nproc 32000
安装Cloudera Manager Server 和Agent
主节点解压安装
cloudera manager的目录默认位置在/opt下,解压:tar xzvf cloudera-manager*.tar.gz将解压后的cm-5.13.2和cloudera目录放到/opt目录下。
[root@qfnode01 ~]# tar -zxvf /home/cdh5.1.3.2-cms5.13.2/cloudera-manager-el6-cm5.13.2_x86_64.tar.gz -C /opt/
为Cloudera Manager 5建立数据库
首先需要去MySql的官网下载JDBC驱动,http://dev.mysql.com/downloads/connector/j/,解压后,找到mysql-connector-java-5.1.6-bin.jar,放到/opt/cm-5.13.2/share/cmf/lib/中。
[root@qfnode01 ~]# cp /home/mysql-connector-java-5.1.6-bin.jar /opt/cm-5.13.2/share/cmf/lib/
在主节点初始化CM5的数据库:
[root@qfnode01 ~]# /opt/cm-5.13.2/share/cmf/schema/scm_prepare_database.sh mysql cm -hqfnode01 -uroot -proot --scm-host qfnode01 scm scm scm
Agent配置
修改/opt/cm-5.13.2/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。
[root@qfnode01 ~]# vi /opt/cm-5.13.2/etc/cloudera-scm-agent/config.ini
serverhost = qfnode01
同步Agent到其他节点
scp -r /opt/cm-5.13.2/ qfnode01:/opt/
scp -r /opt/cm-5.13.2/ qfnode02:/opt/
scp -r /opt/cm-5.13.2/ qfnode03:/opt/
scp -r /opt/cm-5.13.2/ qfnode04:/opt/
scp -r /opt/cm-5.13.2/ qfnode05:/opt/
在所有节点创建cloudera-scm用户:
useradd --system --home=/opt/cm-5.13.2/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
准备Parcels,用以安装CDH5
将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中。
如果没有对应目录,则自己创建:(原则上只在主节点即可)
[root@qfnode02 ~]# mkdir -p /opt/cloudera/parcel-repo/
相关的文件如下:
CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel
CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1
manifest.json
[root@qfnode01 ~]# cp /home/cdh5.1.3.2-cms5.13.2/CDH-5.13.2-1.cdh5.13.2.p0.3-el6.parcel /opt/cloudera/parcel-repo/
[root@qfnode01 ~]# cp /home/cdh5.1.3.2-cms5.13.2/CDH-5.13.2-1.cdh5.13.2.p0.3-el6.parcel.sha /opt/cloudera/parcel-repo/
[root@qfnode01 ~]# cp /home/cdh5.1.3.2-cms5.13.2/manifest.json /opt/cloudera/parcel-repo/
最后将CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1,重命名为CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha,这点必须注意,否则,系统会重新下载CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1文件。
相关启动脚本
通过[root@qfnode01 ~]# /opt/cm-5.13.2/etc/init.d/cloudera-scm-server start启动服务端。
通过[root@qfnode01 ~]# /opt/cm-5.13.2/etc/init.d/cloudera-scm-agent start启动Agent服务。
我们启动的其实是个service脚本,需要停止服务将以上的start参数改为stop就可以了,重启是restart。
CDH5的安装配置
Cloudera Manager Server和Agent都启动以后,就可以进行CDH5的安装配置了。
Cloudera manager server (CMS)想管理集群,则需要有自己的小弟cloudare agent,这里相当于主从架构,cms推荐将自己的这台服务器也作为agent,所以我们需要在自己的hadoop01
、hadoop02、hadoop03上安装agent。(然后使用cms界面操作即可)
cms浏览器操作:
这时可以通过浏览器访问主节点的7180端口测试一下了(由于CM Server的启动需要花点时间,这里可能要等待一会才能访问),默认的用户名和密码均为admin:
如果主机找不到 那就不行
下载本地的parcel包和分配到别的机子:(请注意一定要找你自己下载的pracle包名,找错联网下载),选择自己的版本 不然安装不成功
点击继续,如下是环境检测错误,不同版本错误不一样:
常见问题 1:
已启用透明大页面压缩,可能会导致重大性能问题。请运行“echo never > /sys/kernel/mm/transparent_hugepage/defrag”和“echo never > /sys/kernel/mm/transparent_hugepage/enabled”以禁用此设置,然后将同一命令添加到 /etc/rc.local 等初始化脚本中,以便在系统重启时予以设置。以下主机将受到影响: qfnode0[1-5]
在每一台主机上执行如下的语句:
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo "never > /sys/kernel/mm/transparent_hugepage/defrag" > /etc/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" > /etc/rc.local
常见问题 2:
个别主机正确地解析了自己的主机名称。
查询存在冲突的初始脚本时发现以下错误。利用‘chkconfig’来禁用初始脚本以避免 Cloudera Manager 管理的后台程序存在冲突。通常,您可以继续进行安装,但重启后,由于冲突流程启动可能失败。
将头两行去掉
将域名和主机名调换位置
将dns配置成本地网关
同时如果为局域网,建议在/etc/hosts中别配置域名
常见问题 3:
Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。您可以继续进行安装,但可能会遇到问题,Cloudera Manager 报告您的主机由于交换运行状况不佳。以下主机受到影响:qfnode0[1-5]
在每一台主机上执行:
sysctl -w vm.swappiness=0
echo "vm.swappiness=0" >> /etc/sysctl.conf
常见错误 4:
解决方法:去对应的服务器中查看是否有对应的目录,没有则创建,有就不用管:
[root@qfnode04~]#ll /var/log/cloudera-scm-firehose/mgmt-cmf-mgmt-HOSTMONITOR-qfnode 04.log.out
常见错误 5:
给对应的目录赋权限:
[root@qfnode04~]#chmod 777 /var/lib/cloudera-scm-eventserver/version/event_schema.versio n
常见错误6:
查看对应服务器中是否有该目录,没有则创建,有则不管:
[root@qfnode04~]# ll /var/lib/cloudera-host-monitor/ts/ts_entity_metadata/
注意如果错误2和错误3按上述的方法不能解决,那就直接删除其根目录:
[root@qfnode04~]#rm -rf /var/lib/cloudera-* (可以把下图红框中的三个目录删除重新运行一遍)
常见错误7:
解决方法:hive、oozie、hue都需要MySQL的驱动包,所以cp到有对应服务的安装目录的lib包下面即可
[root@qfnode04~]#cp /home/mysql-connector-java-5.1.6-bin.jar /opt/cloudera/parcels/CDH-5.13.2-1.cdh5.13.2.p0.3/lib/hive/lib/
[root@qfnode04~]#cp /home/mysql-connector-java-5.1.6-bin.jar /opt/cloudera/parcels/CDH-5.13.2-1.cdh5.13.2.p0.3/lib/oozie/lib/
[root@qfnode04~]#cp /home/mysql-connector-java-5.1.6-bin.jar /var/lib/oozie/
[root@qfnode04~]#cp /home/mysql-connector-java-5.1.6-bin.jar /opt/cloudera/parcels/CDH-5.13.2-1.cdh5.13.2.p0.3/lib/hue/lib/
点击继续,最终安装完成: