官方共给出了3中安装方式:第一种方法必须要求所有机器都能连网,由于最近各种国外的网站被墙的厉害,我尝试了几次各种超时错误,巨耽误时间不说,一旦失败,重装非常痛苦。第二种方法下载很多包。第三种方法对系统侵入性最小,最大优点可实现全离线安装,而且重装什么的都非常方便。后期的集群统一包升级也非常好。这也是我之所以选择离线安装的原因。

包括MySQL数据库我均采用二进制安装包方式配置,且大部分步骤仅写成脚本模式,不做说明。

补充一句,如果测试安装,建议以root用户权限进行配置部署,另外cloudera的官方文档是我见过英文文档里写的最恶心的了。

一、前期准备

操作系统:3台CentOS6.5 最小化安装+development tools组包,其余组件通过yum安装。

cm版本:cloudera-manager-el6-cm5.9.2_x86_64.tar.gz

下载地址:http://archive.cloudera.com/cm5/cm/5/

1、所有服务器分别配置/etc/hosts文件:向其中添加以下3行

192.168.100.231     db01

192.168.100.232     db02

192.168.100.233     db03

2、所有服务器均创建安装用户:cloudera

groupadd cloudera

useradd -g cloudera cloudera

echo "dbking588" | passwd --stdin cloudera

3、所有服务器为cloudera用户配置sudo权限

chmod u+w /etc/sudoers

echo "cloudera ALL=(root)NOPASSWD:ALL" >> /etc/sudoers

chmod u-w /etc/sudoers

4、所有服务器关闭防火墙、禁用selinux

sed -i '/SELINUX=enforcing/d' /etc/selinux/config

sed -i '/SELINUX=disabled/d' /etc/selinux/config

echo "SELINUX=disabled" >> /etc/selinux/config

sed -e 's/SELINUX=enforcing/SELINUX=disabled/d' /etc/selinux/config

Service iptables stop

Chkconfig iptables off

5、所有服务器设置文件打开数量及最大进程数

cp /etc/security/limits.conf /etc/security/limits.conf.bak

echo "* soft nproc 32000" >>/etc/security/limits.conf

echo "* hard nproc 32000" >>/etc/security/limits.conf

echo "* soft nofile 65535" >>/etc/security/limits.conf

echo "* hard nofile 65535" >>/etc/security/limits.conf

6、配置SSH无秘钥登录:至少在namenode和resourcemanager节点配置

ssh-keygen -t rsa

ssh-copy-id db01

ssh-copy-id db02

ssh-copy-id db03

7、配置集群时间同步服务:通过ntp服务配置

ntp主节点配置:

cp /etc/ntp.conf /etc/ntp.conf.bak

cp /etc/sysconfig/ntpd /etc/sysconfig/ntpd.bak

echo "restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap" >> /etc/ntp.conf

echo "SYNC_HWCLOCK=yes" >> /etc/sysconfig/ntpd

service ntpd restart

ntp客户端配置:

#crontab -e

输入如下一行内容,保存退出:

0-59/10 * * * * /opt/scripts/sync_time.sh

上述脚本内容如下:

# cat /opt/scripts/sync_time.sh

/sbin/service ntpd stop

/usr/sbin/ntpdate db01

/sbin/service ntpd start

8、所有节点安装java软件并配置环境变量

$ sudo tar -zxvf jdk-7u67-linux-x64.tar.gz -C /opt/service/

export JAVA_HOME=/opt/service/jdk1.7.0_67

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH

alternatives --config java

alternatives --install /usr/bin/java java /opt/java/jdk1.7.0_67/bin/java 3

alternatives --config java

--如果不修改这里,可能在安装spark组件时报错。

9、选择一个节点用于安装mysql数据库

tar -zxvf mysql-5.6.24-linux-glibc2.5-x86_64.tar.gz -C /opt/

mv mysql-5.6.24-linux-glibc2.5-x86_64/ mysql5624

yum -y install libaio

groupadd mysql

useradd -g mysql mysql

echo "dbking588" | passwd --stdin mysql

mv /etc/my.cnf /etc/my.cnf.bak

cp support-files/my-default.cnf /etc/my.cnf

/etc/my.cnf添加如下内容:

----------------------------------------------------------------------------------------------------

basedir = /opt/mysql5624

datadir = /opt/mysql5624/data

port = 3306

log-error=/opt/mysql5624/data/mysql.log

pid-file=/opt/mysql5624/data/mysql.pid

scripts/mysql_install_db --user=mysql

chown -R mysql:mysql /opt/mysql5624/

cp support-files/mysql.server /etc/rc.d/init.d/mysql

chkconfig --add mysql

Service mysql start

二、安装cm5.x

1、主节点解压cloudera-manager-el6-cm5.9.2_x86_64.tar.gz包到/opt目录下,记住不想修改配置,则必须解压到/opt目录:

$ sudo tar cloudera-manager-el6-cm5.9.2_x86_64.tar.gz -C /opt/

2、为cloudera manager 5.x初始化数据库:

cp mysql-connector-java-5.1.22-bin.jar /opt/cm-5.9.2/share/cmf/lib/

/opt/cm-5.9.2/share/cmf/schema/scm_prepare_database.sh mysql cm592 -hlocalhost -uroot -pmysql --scm-host localhost scm scm scm

2、配置agent:修改/opt/cm-5.9.2/etc/cloudera-scm-agent/config.ini文件修改server_host为主节点主机名。

3、创建cloudera-scm用户:

sudo useradd --system --home=/opt/cm-5.9.2/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

4、同步agent到其他节点:

scp -r cm-5.9.2/ db02:/opt/

scp -r cm-5.9.2/ db03:/opt/

5、启动cloudera manager的server和agent服务(这里先不启动,在处理好parcels包后启动):

server在主节点启动,agent需要所有节点启动(建议此时不启动服务,在配置好parcels文件后启动,在“三、安装CDH5中3”处启动服务):

$ /opt/cm-5.9.2/etc/init.d/cloudera-scm-server start

$ /opt/cm-5.9.2/etc/init.d/cloudera-scm-agent start

启动|关闭|重启cloudera服务方法:

cloudera-scm-server start|stop|restart

cloudera-scm-agent start|stop|restart

这时,我们可以通过浏览器地址:http://db01:7180登录cm控制台,cm控制台初始用户名/密码为:admin/admin。

三、安装CDH5

1、下载parcels安装包:http://archive.cloudera.com/cdh5/parcels/5.9.2/

2、上传parcels文件到/opt/cloudera/parcel-repo目录下:

CDH-5.11.0-1.cdh5.9.2.p0.34-el6.parcel

CDH-5.11.0-1.cdh5.9.2.p0.34-el6.parcel.sha1

重命名CDH-5.11.0-1.cdh5.9.2.p0.34-el6.parcel.sha1文件为CDH-5.11.0-1.cdh5.9.2.p0.34-el6.parcel.sha,否则系统会重新下载CDH-5.11.0-1.cdh5.9.2.p0.34-el6.parcel文件。

3、重启cloudera server服务:

如果在配置好cm后启动了cloudera服务,此时可以重新启动cloudera服务,以确认cm可以识别parcels包:

$ /opt/cm-5.9.2/etc/init.d/cloudera-scm-server restart

$ /opt/cm-5.9.2/etc/init.d/cloudera-scm-agent restart

4、运行浏览器安装向导:

添加服务组件:第一步安装zookeeper服务、第二步安装hdfs服务、第三步安装yarn服务,以后可以安装需要定制的服务(hive、hbase、spark、sqoop、hue、flume、oozie、storm等)。

解决上图中两个问题:

sysctl -w vm.swappiness=10

echo "vm.swappiness=10" >>/etc/sysctl.conf

echo never > /sys/kernel/mm/transparent_hugepage/defrag

echo never > /sys/kernel/mm/transparent_hugepage/enabled

然后加入启动脚本,使其开机自动执行。

之后可以选择安装各个服务组件。

注意:如果使用mysql数据库存储hive元数据,需要cp mysql驱动包到hive lib目录下:

# cp mysql-connector-java-5.1.22-bin.jar /opt/cloudera/parcels/CDH/lib/hive/lib/mysql-connector-java-5.1.22-bin.jar

********************************************************************************

*      更多交流机会,请添加“Hadoop/DBA架构支持”群:188521395    *

********************************************************************************

手动安装cloudera manager 5.x(tar包方式)详解的更多相关文章

  1. 离线安装Cloudera Manager 5和CDH5(最新版5.1.3) 完全教程

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...

  2. 离线安装 Cloudera Manager 5 和 CDH5.10

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...

  3. 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(六)CM的安装

    一.角色分配 Cloudera Manager Agent:向server端报告当前机器服务状态. Cloudera Manager Server:接受agent角色报告服务状态,以视图界面展现,方便 ...

  4. 基于yum的方式安装Cloudera Manager Server(使用Mysql 8.0版本)

    基于yum的方式安装Cloudera Manager Server(使用Mysql 8.0版本) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装和配置元数据库 1>. ...

  5. Ubuntu安装Cloudera Manager以及CDH5.15.2

    一.机子分配 注意,本安装教程是在真机上进行,而非虚拟机.另,此次搭建主要的目的是搭建测试环境,让Hadoop各组件能够运作起来即可,完成搭建后,将用小数据量进行相关数据的计算与测试.线上环境将会使用 ...

  6. 基于二进制安装Cloudera Manager集群

    一.环境准备 参考链接:https://www.cnblogs.com/zhangzhide/p/11108472.html 二.安装jdk(三台主机都要做) 下载jdk安装包并解压:tar xvf ...

  7. 安装Cloudera manager agent步骤详解

    安装Cloudera manager agent步骤详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客主要是针对:https://www.cnblogs.com/yinz ...

  8. 安装Cloudera manager Server步骤详解

    安装Cloudera manager Server步骤详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客主要是针对:https://www.cnblogs.com/yin ...

  9. 2.3、CDH 搭建Hadoop在安装(安装Cloudera Manager Server)

    第3步:安装Cloudera Manager Server 在此步骤中,您将在Cloudera Manager主机上安装JDK和Cloudera Manager Server软件包. 安装Cloude ...

随机推荐

  1. MeshRenderer组件及相关API

    MeshRenderer:网格过滤器,用于"渲染"显示模型. Cast Shodows:是否投射阴影.(on:开.off:关) Receive Shodows:是否接收阴影. Ma ...

  2. 对于Hibernate的底层浅谈

    哇,我发现忙起来真的是没有时间来写,最近在学框架,感觉特别有兴趣,对于框架的感激就是又恨又爱的感觉,hibernate,没有研究太深,模拟的写了一点底层的实现,其实就是发射吧,我没有追踪源码去看,就是 ...

  3. 将百度的ECharts整合到阿里的Weex中。

    由于公司的业务,之前PC版产品中,大量的使用了百度的ECharts库.所以现在要做移动端,在大概熟悉了Weex基本语法和搭建环境后,就着手研究如何将这两个好东西糅合起来. 首先,按照Weex官方教程, ...

  4. 两天快速开发一个自己的微信小程序

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Songti SC" } p.p2 { margin: 0.0px 0. ...

  5. 机器学习算法 - 支持向量机SVM

    在上两节中,我们讲解了机器学习的决策树和k-近邻算法,本节我们讲解另外一种分类算法:支持向量机SVM. SVM是迄今为止最好使用的分类器之一,它可以不加修改即可直接使用,从而得到低错误率的结果. [案 ...

  6. Laravel 5 框架性能优化技巧

    性能一直是 Laravel 框架为人诟病的一个点,所以调优 Laravel 程序算是一个必学的技能. 接下来分享一些开发的最佳实践,还有调优技巧,大家有别的建议也欢迎留言讨论 1.配置缓存信息 使用l ...

  7. 关路灯,洛谷dp

    题目传送门https://www.luogu.org/problem/show?pid=1220 我们假设 dpij0 为目前最优值是在 i 位置,dpij1 为目前最优值是在 j 位置则 i 到 j ...

  8. Promise原理与实现探究的一种思路

    写在前面 这个文章,展现的是一个实现Promise的思路,以及如何发现和处理问题的情境. 从现有的Promise分析 如果我们想要自己实现一个简单的Promise,那现有规范规定的Promise肯定是 ...

  9. js屏蔽广告

    最近遇到有些广告的问题,首先是在手机端,可能是用户访问了一些小网站的,(你懂得),然后在访问我的网站时,会带小广告过来,通常是wifi被dns劫持的情况下导入到广告脚本, 1.处理这些要知道广告的根源 ...

  10. 如何使用 Secret?- 每天5分钟玩转 Docker 容器技术(108)

    我们经常要向容器传递敏感信息,最常见的莫过于密码了.比如: docker run -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql 在启动 MySQL 容器时我 ...