Cloudera Manager 5 和 CDH5.7.0 本地(离线)安装

本文档详细记录了在安装Cloudera Manager 5.7.0和CDH5.7.0过程中遇到的错误,包括 pstree 命令缺失、cloudera-scm-agent 启动失败、无效用户 'cloudera-scm'、主机正确性警告、Hive和NFS Gateway等服务启动失败的问题,以及相应的解决方法。涉及的内容包括系统配置、Java环境、数据库创建、网络设置、服务配置和集群安装。解决方法包括安装缺失软件、修改系统设置、配置数据库权限和添加MySQL驱动等。
摘要由CSDN通过智能技术生成

最近在搞cloudera manager的安装,经历了许多坎坷,总结一下:

另外也参考了一些其他人的帖子如:

https://i-blog.csdnimg.cn/blog_migrate/f001258c5c67eb295bffe967fec50e76.png

http://www.aboutyun.com/forum.php?mod=viewthread&tid=9086&extra=page%3D1

http://www.aboutyun.com/forum.php?mod=viewthread&tid=10852&highlight=%C0%EB%CF%DF%B0%B2%D7%B0Cloudera%2BManager

大致的方法是可行的

系统环境
  • 4台虚拟机,其中master节点4核心、8GB,其它节点4核、16GB。
  • 网卡:1000M。
  • 共有硬盘8.7TB。
  • 网络环境内网。
  • Centos7 x64(安装系统时尽量把开发包安装齐全,另master节点需要Mysql可以在安装系统时勾选)。

准备工作卸载系统自带OPEN-JDK(所有节点)
安装好的Centos系统有时会自动安装OpenJdk,用命令java -version查看:
  1. java version "1.6.0"
  2. OpenJDK Runtime Environment (build 1.6.0-b09)
  3. OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)


如有上述显示,说明系统里已经有OpenJdk,执行以下命令查看系统中有哪些OpenJdk相关包:
  1. 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 执行以下命令,卸载:

  1. rpm -e --nodeps java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64
  2. rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
  3. rpm -e --nodeps java-1.6.0-openjdk-devel-1.6.0.0-1.66.1.13.0.el6.x86_64



安装JDK(所有节点)
从官方网站上下载rpm包,本次使用版本1.7.0_55-b13(CDH5可能支持1.7之前的版本,具体情况未经测试),执行命令:
  1. rpm -ivh jdk-7u55-linux-x64.rpm


由于是rpm包并不需要我们来配置环境变量,我们只需要配置一个全局的JAVA_HOME变量即可,执行命令:
  1. echo "JAVA_HOME=/usr/java/latest/" >> /etc/environment


执行命令,查看Jdk是否安装正确
  1. java -version
  2. javac -version


修改主机名
修改/etc/sysconfig/network文件:
  1. NETWORKING=yes
  2. HOSTNAME=master.hadoop


其中HOSTNAME与主机名一致。主机名如果跟系统安装时不一致请执行hostname命令让其立即生效,否则会影响各节点互相访问。修改/etc/hosts文件,添加:
  1. 188.188.2.170 master
  2. 188.188.2.171 datanode1
  3. 188.188.2.173 datanode2
  4. 188.188.2.174 datanode3


执行命令:
  1. service network restart


打通SSH(所有节点)
这里master节点和其他datanode节点会略有区别。 首先说有节点均执行如下命令,遇到提示一路回车即可:
  1. ssh-keygen -t rsa


然后在主节点执行以下命令:
  1. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys


scp文件到所有datenode节点:
  1. scp ~/.ssh/authorized_keys root@datanode1:~/.ssh/


然后输入密码即可,以后再到其他机器就不需要密码额。

关闭防火墙(所有节点)
防火墙会引起hadoop相关组件通讯的各种异常。 防火墙:
  1. service firewalld stop (临时关闭)
  2. systemctl disable firewalld (重启后生效)


SELINUX:
  1. setenforce 0 (临时生效)
修改/etc/selinux/config 下的 SELINUX=disabled (重启后生效)。


安装NTP服务(所有节点)
集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。 具体思路如下:
  • master节点作为ntp服务器与外界对时中心同步时间,随后对所有datanode节点提供时间同步服务。
  • 所有datanode节点以master节点为基础同步时间。
所有节点安装相关组件:ntp与ntpdate。按顺序安装即可,完成后,配置开机启动:
  1. chkconfig ntpd on


检查是否设置成功:
  1. chkconfig --list ntpd


其中2-5为on状态就代表成功。

配置内网NTP服务器(master节点)
在配置之前,先使用ntpdate手动同步一下时间,免得本机与对时中心时间差距太大,使得ntpd不能正常同步。这里选用65.55.56.206作为对时中心。
  1. ntpdate -u 65.55.56.206


ntp服务只有一个配置文件,配置好了就OK。 这里只给出有用的配置,不需要的配置都用#注掉,这里就不在给出:
  1. driftfile /var/lib/ntp/drift
  2. restrict 127.0.0.1
  3. restrict -6 ::1
  4. restrict default nomodify notrap
  5. server 65.55.56.206 prefer
  6. includefile /etc/ntp/crypto/pw
  7. keys /etc/ntp/keys


配置文件完成,保存退出,启动服务,执行如下命令:

  1. service ntpd start
  2. chkconfig ntpd on (设置开机启动)


检查是否成功,用ntpstart命令查看同步状态,出现以下状态代表启动成功:
  1. synchronised to NTP server () at stratum 2
  2. time correct to within 74 ms
  3. polling server every 128 s


如果出现异常请等待几分钟,一般等待5-10分钟才能同步。
配置ntp客户端(所有datanode节点)
  1. driftfile /var/lib/ntp/drift
  2. restrict 127.0.0.1
  3. restrict -6 ::1
  4. restrict default kod nomodify notrap nopeer noquery
  5. restrict -6 default kod nomodify notrap nopeer noquery
  6. server 192.168.1.101
  7. includefile /etc/ntp/crypto/pw
  8. keys /etc/ntp/keys


ok保存退出,请求服务器前,请先使用ntpdate手动同步一下时间:
  1. ntdate -u 188.188.2.170 (内网ntp服务器)


这里可能出现同步失败的情况,请不要着急,一般是本地的ntp服务器还没有正常启动,一般需要等待5-10分钟才可以正常同步。启动服务:
  1. service ntpd start
  2. chkconfig ntpd on


因为是连接内网,这次启动等待的时间会比master节点快一些,但是也需要耐心等待一会儿。

Mysql配置(master节点)
只需要配置master节点的Mysql即可。
rpm -qa|grep mariadb    --找到是否有mariadb存在,要删除,否则安装mysql server会报conflict 冲突的问题
rpm -e --nodeps mariadb* --如果有mariadb包,就删掉
yum install perl-Module-Install.noarch--一般虚拟机中是没有perl Module,需要yum 安装
然后开始安装mysql server
rpm -ivh MySQL-server-5.6.30-1.el7.x86_64.rpm

rpm -ivh MySQL-client-5.6.30-1.el7.x86_64.rpm
安装后,如果 service mysql start 没启动成功,报error 2002找不到什么*.pid,那就用mysqld_safe &命令启动,然后就看到mysql启动了。

 将mysql设置为开机启动:
  1. chkconfig mysqld on


本次安装需要创建如下数据库(不包括Cloudera Manager的数据库,Cloudera Manager数据库有相关脚本创建,后面会有说明)
  1. --hive数据库
  2. create database hive DEFAULT CHARSET utf8
  3. --集群监控数据库
  4. create database amon DEFAULT CHARSET utf8
  5. --hue数据库
  6. create database hue DEFAULT CHARSET utf8
  7. --oozie数据库
  8. create database oozie default charset utf8;
以上数据库,可能会根据安装组件的不同略有差别。 给用户授权(这里密码设为hadoop)
  1. grant all on *.* to root@"%" Identified by "hadoop";


正式开工安装Cloudera Manager 5(cm5)
下载地址 http://archive-primary.cloudera.com/cm5/cm/5/,根据自己的系统选择相应的版本,本次安装选用的是cloudera-manager-centos7-cm5.7.0_x86_64.tar。下载完成后只上传到master节点即可。然后解压到/opt目录下,不能解压到其他地方,因为cdh5的源会默认在/opt/cloudera/parcel-repo寻找,怎么制作cdh5的本地源文件会在之后介绍。给所有节点添加cloudera-scm用户:
  1. useradd --system --home=/opt/cm-5.7.0/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm


修改/opt/cm-5.0.0/etc/cloudera-scm-agent/config.ini 下面的server_host
  1. server_host=master


为Cloudera Manager 5建立数据库:
  1. /opt/cm-5.7.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.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

河南骏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值