目录
·安装前的准备工作
·安装java
·安装CDH的准备
·建立CM数据库
·通过CM部署CDH
·启动各个节点的cloudra-scm-agent与主节点的CM
·安装各节点的CDH
·错误与问题汇总
·Yum安装错误
·28, 'Connection timed out after 3鈻[6nmilliseconds'
·初始化CM数据库失败
·scp同步到其他节点失败
·Agent启动错误
·分配Parcels时显示主机运行状态不良
·服务器检查警告
·启动Hive、Oozie、HDFS报错
·HDFS的NameNode路径无法初始化错误
·安装前的准备工作
·安装CM的准备
首先要选定集群主节点,主节点的配置内存应该尽可能的大,配置不够的话可能会十分卡。
我们会在主节点上安装CM以管理各个集群节点
CM的安装有两种方式:
1. 下载bin文件然后在线安装。这种方式要求环境尽量稳定且有较好的网络,一旦中途安装失败,CM安装程序会清除以前的数据重新开始安装。
2. 下载CM的tar包然后解压到/opt目录下。这种方式解压tar包即可。
考虑到环境稳定问题我们采用离线模式安装
CM下载地址:
http://archive.cloudera.com/cm5/
这里下载对应的CM版本,centOS系统的包名带el,例如:centOS6应该下载的包就是cloudera-manager-el6-cm5.12.1_x86_64.tar。这里除了考虑系统版本还要考虑mysql的版本因为有的版本是不支持MariaDB的。
·配置各节点
·网络配置
·修改各节点主机名
vim /etc/sysconfig/network
例:
NETWORKING=yes
HOSTNAME=cdh1
NETWORKING_IPV6=no
PEERNTP=no
修改完成后重启网络服务service network restart
·修改ip与主机名的对应关系
vim /etc/hosts
例:
192.168.1.101 cdh1
192.168.1.102 cdh2
192.168.1.103 cdh3
·安装java
CDH需要java版本在7.5以上,此步骤略去。
·安装MySql
这里注意root用户需要有远程访问权限,此步骤略去。
·关闭防火墙和SElinux
这里为了安装方面临时关闭防火墙,安装好后可以根据需求在开启防火墙。
SELinux是默认关闭的,这里检查一下状态。
·配置所有节点ntp同步(重要)
集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。这里我们也将主节点做为ntp服务器的节点,然后所有节点向主节点同步时间。
首先各个节点安装ntp服务yum install ntp
安装好后设置开机启动chkconfig ntpd on
检查是否设置成功:chkconfig –list ntpd其中2-5为on状态就代表成功。
主节点设置
在更改ntp配置前先手动与对诗中心同步一下时间,以免本机与对时中心时间差距太大,使得ntpd不能正常同步ntpdate -u ip
然后修改ntp配置文件vim /etc/ntp.conf
加入server ip prefer
之后启动服务service ntpd start
检查是否成功,用ntpstat命令查看同步状态,出现以下状态代表启动成功:
synchronised to NTP server () at stratum2time correct to within 74 mspolling server every 128 s
如果失败可以等待5-10分钟后再次查看。
节点配置
在ntp配置文件加入server 主节点名
请求服务器前,先使用ntpdate手动同步一下时间:ntpdate -u 主节点名
然后启动ntp服务。
·安装CDH的准备
CDH的安装也有两种方式:
1. 在线安装,在CM安装好后安装集群时可以在线下载安装。
2. 离线下载parcel包放在指定目录。
同样的我们也采用离线下载的方式
CDH下载地址:
http://archive.cloudera.com/cdh5/
·安装CDH的准备
·安装CM和agent
将之前下载的CM包放下/opt目录下直接解压,解压后有两个文件夹:cloudra和cm-版本号
·建立CM数据库
下载合适的jdbc版本http://dev.mysql.com/downloads/connector/j/
下载完成后将解压出的jar文件放到/opt/cm-版本号/share/cmf/lib/。然后执行初始化数据库命令
/opt/cm-版本号/share/cmf/schema/scm_prepare_database.shmysql cm -hlocalhost -uroot -pxxxx –scm-host localhost scm scm scm
·agentpeizhi
修改/opt/cm-5.3.3/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。然后将agent同步到其他节点
Scp -r /opt/cm-版本号 root@节点名(或者ip):/opt/
最后在所有节点创建cloudera-scm用户
useradd –system –home=/opt/cm-版本号/run/cloudera-scm-server/–no-create-home –shell=/bin/false –comment "Cloudera SCM User"cloudera-scm
·准备Parcels
将之前下载的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中(若无parcel-repo需要手动创建)。文件如下:
CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel
CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1
manifest.json
最后将CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1,重命名为CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha,这点必须注意,否则,系统会重新下载CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1文件。
·通过CM部署CDH
·启动各个节点的cloudra-scm-agent与主节点的CM
通过/opt/cm-版本号/etc/init.d/cloudera-scm-server start启动服务端。
通过/opt/cm-版本号/etc/init.d/cloudera-scm-agent start启动Agent服务。
这里在/etc/cm-版本号/logs/cloudra-scm-agent和/etc/cm-版本号/logs/cloudra-scm-server下可以查看日志文件。
这时可以通过浏览器访问主节点的7180端口测试一下了(由于CM Server的启动需要花点时间,这里可能要等待一会才能访问),如下图所示:
出现如下页面说明CM已经启动了。
·安装各节点的CDH
通过admin管理用户进入系统(密码也是admin)后页面如下所示:
这里勾选接受条款继续安装。
选择要安装的CM的类型,这里选择了第一个,点击继续
下面需要注意,在图中所示,点击当前管理主机可以看到安装了agent的全部主机,如果有未看到的节点则agent启动未成功。
这里我们不要在搜索这里搜索主机进行安装,因为这样回去在线下载jdk和agent以及版本匹配的CDH包,因为我们采用离线方式所以选择另一种方式。
之后回看到自己已经下载好的parcels包,这里使用默认的选项就行了,点击继续
然后开始分配parcels包到各个节点,然后解压激活,全部节点完成后继续下面的安装。
选择要在集群上安装的CDH服务,根据需求选择
然后需要配置每个角色的服务器,这里HDFS和ZooKeeper会建议你配置3台以上的服务器
然后会要求你键入上图所示的信息检查msyql的连接,成功后继续。
之后是集群设置,根据需求填写
然后CM会发送启动命令启动各节点的服务,待服务全部启动完成后点击继续
最后就看到了CM管理集群的首页信息,出现此页面整个CDH集群的安装就算完成了。
·错误与问题汇总
·Yum安装错误
·28, 'Connection timed out after 3鈻[6nmilliseconds'
没有配置DNS,用vim打开/etc/resolv.conf添加
searchsz.fonsview.com
nameserver172.16.200.251
nameserver172.16.203.253
nameserver8.8.8.8
·初始化CM数据库失败
检查mysql的jdbc版本是否兼容
·scp同步到其他节点失败
scp -r /opt/cm-5.3.3 root@n2:/opt/
检查目录名是否正确,scp默认的端口是22,如果用其他端口则加入-P端口。
·Agent启动错误
注意在scp同步之前不要启动agent否则会将uuid也带过来,这样会导致两个相同的uuid从而无法启动Agent。删除Agent的uuid,重启Agent重新分配uuid。
/etc/hosts文件一定要配置自己和其他节点否则会找不到节点。
·分配Parcels时显示主机运行状态不良
删除cm_guid:rm -f /opt/ cm版本号/lib/cloudera-scm-agent/cm_guid
如果是多节点,则需要删除每个agent节点的这个文件。
重启Agent进入到init.d目录,执行
./cloudera-scm-agent restart
·服务器检查警告
1. Cloudera 建议将/proc/sys/vm/swappiness 设置为?。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。
使用echo ?> /proc/sys/vm/swappiness将swappiness设置为推荐的值即可。
2. 已启用透明大页面压缩,可能会导致重大性能问题。
此问题按照提示操作即可。
之后重新检查服务器状态
·启动Hive、Oozie、HDFS报错
Hive和Oozie都需要连接数据库,所以我们将jdbc文件拷贝到lib库下,cp /opt/cm-版本号/share/cmf/lib/mysql-connector-java-5.1.35-bin.jar/opt/cloudera/parcels/CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel/lib/hive/lib/(具体路径有版本号决定)
·HDFS的NameNode路径无法初始化错误
点击错误信息打开集群管理页面,选择HDFS角色
点击配置选项卡,选择NameNode选项,修改NameNode数据目录然后保存设置,重新启动HDFS。