参考文章地址:离线安装Cloudera Manager 5和CDH5(最新版5.1.3) 彻底教程html
参考文章一步一步安装,有如下几个注意点java
准备工做:系统环境搭建mysql
1.在准备工做系统环境搭建6步都不能少,但没必要参照文章上的作法,参照本人以前的博客。linux
2.在第3步中,参考个人博客:linux安装jdk,必定要作博客中的第6步,将jdk软连接到/usr/java/default,不然的话后面部署客户端配置必定会报错:cloudera manager报错“客户端配置 (id=3) 已使用 1 退出,而预期值为 0”, 安装完jdk以后,需执行命令:echo "JAVA_HOME=/apps/jdk1.7.0_55" >> /etc/environment,把jdk配置到环境变量中,同时必定要安装oracle的jdk,咱们在oracle官网下的都是oracle 的jdk,使用命令java -version查看java版本,带有HotSpot的是oraclejdk,参考:怎么查看jdk是open jdk仍是oracle jdkweb
3.第4步mysql的设置,安装本人的博客安装mysql:RHEL下源码编译安装mysql-5.6.24和初始化配置,优化设置好了以后,root用户是能够在任意节点拥有因此权限,就不须要按照参考文章上的“设置root受权访问以上全部的数据库”这一步了,而后也不须要先就建立hive和amon数据库,在添加服务的时候,提示要数据库时再去建立便可,建立数据库的命令以下:create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;sql
4.安装前,先优化linux服务器,参考, Linux服务器初始化优化 :https://my.oschina.net/cjun/blog/761282shell
正式开工数据库
1.去官网下载cloudera-manager-el6-cm5.7.1_x86_64.tar.gz,注意el6就是enterprise linux6,和centos6的包是通用的,官网地址:http://archive.cloudera.com/cm5/cm/5/json
2.在主节点将压缩包解压到/opt目录,tar –zxvf cloudera-manager-el6-cm5.7.1_x86_64.tar.gz /opt,安装cloudera manager就用root用户装了,也别想着用别的用户安装,太麻烦。centos
3.将mysql的驱动包mysql-connector-java-5.1.35-bin.jar上传到/opt/cm-5.7.1/share/cmf/lib目录下。
4.初始化cm的数据库:/opt/cm-5.7.1/share/cmf/schema/scm_prepare_database.sh mysql -h 192.168.1.11 -uroot -p123456 --scm-host 192.168.1.11 scm scm scm
参数解释:mysql,表明数据库类型是mysql数据库。-h –u -p就是数据库的域名,用户,密码,就用root用户。最后面的三个scm,就是为cm建立的数据库名,用户,密码。注意scm咱们是无法登录的,进去数据库用select * from user;命令查看就知道,scm用户是没有什么权限的。--scm-host是指咱们登录scm的数据库机器的域名,好比cm服务器a,数据库服务器b,若是在b中host文件中配置了域名a,那么—scm-host就能使用a,若是在b中的host域名中没有配置a,那么就只能使用a的ip地址了,由于登录scm数据库时,是有域名验证的。因此这里能够直接使用ip地址。具体参数解释,能够参照官网:scm_prepare_database.sh Syntax
5.修改/opt/cm-5.7.1/etc/cloudera-scm-agent/config.ini中的server_host的值,值为主节点的hostname:bigdata1。
6.将cm-5.7.1分发到其他的agent节点:scp -r /opt/cm-5.7.1 root@bigdata2:/opt/
7.在全部节点建立cloudera-scm用户:useradd --system --home=/opt/cm-5.7.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
8.准备Parcels,用以安装CDH5,将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中。相关的文件为:CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel、CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel.sha一、manifest.json,最后将CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel.sha1,重命名为CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel.sha,这点必须注意,不然,系统会从新下载CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel文件。官网parcels包下载地址:http://archive.cloudera.com/cdh5/parcels/5.7.1.11/
9.相关启动脚本,在主节点经过/opt/cm-5.7.1/etc/init.d/cloudera-scm-server start启动服务端。在全部节点经过/opt/cm-5.7.1/etc/init.d/cloudera-scm-agent start启动Agent服务,注意cloudera manager是一个主节点,多个agent节点,在主节点上同时也是运行着agent的。咱们启动的实际上是个service脚本,须要中止服务将以上的start参数改成stop就能够了,重启是restart,查看状态status
10.都启动起来以后,就能够访问web界面了:http://bigdata1:7180,用户名密码是admin/admin。
11.第一次访问时会运行自动添加集群cluster的向导,按照向导一步一步来,不知道的就默认,有可能出现下面的状况
就在节点上运行命令:echo 10 > /proc/sys/vm/swappiness,但这仅仅是临时生效,下次重启就会失效了,想要永久生效,还需执行命令:echo 'vm.swappiness = 10' >> /etc/sysctl.conf。因此同时执行这两个命令,参考:交换分区设置
还有可能在透明大页面检查不经过,就运行它建议的命令,好比:echo never > /sys/kernel/mm/transparent_hugepage/defrag。但这也是临时生效,下次重启就会失效了,想要永久生效,还需执行命令:echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local。因此同时执行这两个命令。
还有须要输入数据库的,好比hive,就用前面创建数据库的命令先创建数据库,而后配置好。
12.若是最后都成功了,那恭喜你了。若是最后没有成功,好比说启动spark,或者hive没有成功,没关系,咱们退出到CM的管理主页,把上面显示的警告解决了。而后再单独独立的解决每个服务的问题。先解决基础的,zookeeper,hdfs,yarn等等,再解决上层应用的。
13.若是实在是配置解决不来,就删除相关服务,从新添加服务,注意删除的时候,必定要删除干净,每个服务都有可能须要删除下面几个方面:删除/var/lib下面对应服务的目录。若是是dfs,yarn,还有可能须要删除/dfs,/yarn等目录。删除对应的数据库。
14.在添加hive的时候,有可能提示hive缺乏jdbc驱动包,将mysql的驱动包mysql-connector-java-5.1.35-bin.jar上传到/opt/cloudera/parcels/CDH/lib/hive/lib或者/usr/share/java(有可能驱动包须要重命名)目录下便可。
15.在启动spark时,有可能提示Log directory specified does not exist: hdfs://bigdata1:8020/user/spark/applicationHistory。咱们手动在hdfs上添加/user/spark/applicationHistory目录,主要目录的owner须要是spark用户,能够先用hdfs用户新建此目录,而后使用命令:hdfs dfs –chown –R spark:spark /user/spark/applicationHistory,将拥有者转换成spark便可。
16.若是出现“客户端配置 (id=3) 已使用 1 退出,而预期值为 0”错误,参考:cloudera manager报错“客户端配置 (id=3) 已使用 1 退出,而预期值为 0”