Cloudera Manager 4.6 安装详解

1. Cloudera Manager介绍

1.1. 功能介绍

Cloudera Manager是一个针对hadoop集群的管理工具,功能包括:cdh的安装,集群的活动监控、各个性能指标的监控,以及各个组件的管理等。

1.2. 架构介绍

Cloudera Manager分为客户端(Cloudera Manager Agent)和服务端(Cloudera Manager Server),客户端会把采集到的数据发送到服务端,服务端把这些数据存放在数据库中,用户可以在Cloudera Manager管理页面查看数据以及相关的图表。如下图:

1.3. 版本支持

笔者这里安装的的CDH版本是4.6,所以安装的Cloudera Manager版本是4.6,支持CDH3 Update 1 (cdh3u1)或更新版,还有CDH4.0或更新版。强烈建议安装CDH3 Update2或更新版。

1.4. Cloudera Manager会安装哪些组件

  • 安装Cloudera Manager时

安装Cloudera Manager时会在安装Cloudera Manager Server的主机上安装Cloudera Manager和Oracle的jdk(支持1.6和1.7)

  • 使用Cloudera Manager安装集群时

在安装完Cloudera Manager后第一次打开后台管理界面时,会自动跳转到向导页。

集群中的每个主机上都会安装Cloudera Manager Agent和Oracle的jdk。

可以根据自己的选择来安装CDH和Impala等。

2. Cloudera Manager安装前准备

2.1. 数据库准备

  • 如果使用Cloudera Manager来安装默认的数据库,默认安装的话,Cloudera Manager会给oozie配置Derby数据库,为Hue配置SQLite数据库,会使用嵌入式的PostgreSQL数据库来提供存放Hive的元数据。活动监控,服务监控,报告监控以及主机监控的数据会存放在嵌入式的PostgreSQL数据库里。这种方法不需要额外配置数据库,Cloudera Manager可自行安装配置。
  • 为Cloudera Manager配置外部的数据库服务

笔者比较习惯用mysql,在安装Cloudera Manager之前,需要给支好mysql,用Cloudera Manager安装集群的话,安装选项中只有为hive、服务监控、活动监控、主机监控配置外部数据库的选项,oozie、hue等数据可在安装完成后,在管理界面中配置安装。具体操作见下。

  • 数据库中各个服务产生的数据量

  Cloudera Manager数据库:

这是数据库中最重要的数据库,包含了所有服务的配置:角色分配、配置历史、命令、用户以及运行的进程这个数据库一般只有100MB大小左右。

  活动监控数据库:

包含了集群中过往的活动信息,在一个大的集群中数据量是很大的,GB级别。

  服务监控数据库:

包含了后台进程的监控信息。在大的集群中,这个库的大小会很大的。

  报告管理数据库:

全天候监控磁盘使用情况。数据库的大小适中。

  主机管理数据库:

记录了主机的状态。集群中的主机个数将会直接影响数据库的大小。

  • 数据库的最大连接数设置

给每个数据库要允许设置100个最大的连接数,另外在额外添加50个连接数。若有2个服务使用一个数据库系统,则给该数据库系统设置250个最大连接数。

例如:给活动监控、服务监控、报告管理、主机监控、Cloudera Manager服务器、Cloudera仪表和Hive元数据这7个服务使用同一个数据库,那么数据库的最大连接数设置最少为750个。

2.2. 操作系统的需要

在Cloudera Manager4.6.0下,支持一下操作系统(本文中的实验环境是Ubuntu12.04 64-bit):

  • Red Hat

    • Red Hat Enterprise Linux 5.7 and CentOS 5.7, 64-bit
    • Red Hat Enterprise Linux 6.2 and 6.4, and CentOS 6.2 and 6.4, 64-bit
    • Oracle Enterprise Linux 5.6 with Unbreakable Enterprise Kernel, 64-bit
  • SLES
    • SUSE Linux Enterprise Server 11, 64-bit. Service Pack 1或更新,需要组件SUSE Linux Enterprise Software Development Kit 11 SP1
  • Debian
    • Debian 6.0 (Squeeze), 64-bit
  • Ubuntu
    • Ubuntu 10.04  64-bit
    • Ubuntu 12.04  64-bit

2.3. 浏览器的需要

  • Firefox 11 或 更新
  • Google Chrome
  • Internet Explorer 9
  • Safari 5 或 更新

2.4. 安全验证的需要

安装过程中有两种安全验证的方法:

  • 集群中的所有主机都需要配置配置一个同样的拥有sudo权限的账户名和密码
  • 用Cloudera Manager的ssh公钥来连接其它的主机,前提是已配置好了

3. 安装Cloudera Manager

3.1. 数据库安装(MySQL)

  • 安装MySQL服务
$ sudo apt-get install mysql-server
  • 启动MySQL守护进程
$ sudo service mysql start
  • 配置InnoDB引擎

不同版本的数据库设置可能不一样的,登进mysql后查看数据库是否已经启用了InnoDB引擎,笔者用的版本是5.5.38,默认是启用了。

为使得数据库能有发挥更好的性能,推荐一下配置:

[mysqld]
transaction-isolation=READ-COMMITTED
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links= key_buffer = 16M
key_buffer_size = 32M
max_allowed_packet = 16M
thread_stack = 256K
thread_cache_size =
query_cache_limit = 8M
query_cache_size = 64M
query_cache_type =
# Important: see Configuring the Databases and Setting max_connections
max_connections = # log-bin should be on a disk with enough free space
log-bin=/x/home/mysql/logs/binary/mysql_binary_log # For MySQL version 5.1. or later. Comment out binlog_format for older versions.
binlog_format = mixed read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M # InnoDB settings
innodb_file_per_table =
innodb_flush_log_at_trx_commit =
innodb_log_buffer_size = 64M
innodb_buffer_pool_size = 4G
innodb_thread_concurrency =
innodb_flush_method = O_DIRECT
innodb_log_file_size = 512M [mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
  • 配置数据库允许远程连接
mysql>grant all privileges on *.* to 'root'@'%' identified by 'mysqlpasswd’ with grant option;

其中的root是用户,mysqlpasswd是密码。

  • 在集群中的每台主机上安装mysql的jdbc包
$ sudo apt-get install libmysql-java
  • 在/etc/mysql/my.cnf里配置mysql所在主机的ip
bind-address=127.0.0.1

127.0.0.1是连接数据库使用的ip。

3.2. 安装Cloudera Manager

  • 去http://www.cloudera.com/content/support/en/downloads/cloudera_manager/cm-4-6-0.html这里下载你需要的Cloudera Manager。笔者这里使用的是4.7。
  • 将下载好的cloudera-manager-installer.bin上传到Cloudera Manager Server主机上,可以不是集群里的主机。
  • 给它可执行的权限:
$ chmod u+x cloudera-manager-installer.bin
  • 运行cloudera-manager-installer.bin
$ sudo ./cloudera-manager-installer.bin

出现README如下图:

选择NEXT出现证书信息:

选择Next,进入证书确认的画面:

选择YES,进入Oracle证书信息页面:

选择NEXT,进入Oracle的证书确认界面:

选择YES进入JDK安装画面,默认安装的是Oracle的JDK1.6:

安装完成后进入下边画面,这里有你访问Cloudera Manager的链接(默认端口是7180)和账户名密码(admin)等信息:

后边一直选择ok,结束安装:

到此,可以确定访问Cloudera Manager的链接是http://192.168.1.130:7180。

4. 用Cloudera Manager安装CDH

4.1. 选择安装的版本

第一次访问上述链接时,登陆后会自动跳转到Cloudera Manager安装向导上,默认的账户名和密码都是admin:

笔者在这里选择的是Cloudera Standard版(标准版),点击Continue进入下个页面:

4.2. 确定集群中的主机

点击Continue进入下个页面:

在这里可以填写集群中各个主机的地址或是主机名,你可以指定多个地址和地址范围,可以用逗号、分号、制表符、空格键或是换行符来把它们隔开。这样可以实行更具体的搜索,而不是在一个过宽的范围里搜索。如果使用IP范围或主机名范围来搜索的话,具体格式如下表格:

使用这个扩展范围

指定了这些主机

10.1.1.[1-4]

10.1.1.1, 10.1.1.2, 10.1.1.3, 10.1.1.4

host[1-3].company.com

host1.company.com, host2.company.com, host3.company.com

host[07-10].company.com

host07.company.com, host08.company.com, host09.company.com, host10.company.com

画面如下:

点击Search进入搜索结果画面:

4.3. 确定安装的CDH的仓库,以及其它组件

确认主机没有问题的话,点击Continue,进入安装仓库配置页面:

这里推荐是使用Parcels安装,可以在More Options里填写你选择的安装仓库,这个仓库就决定了你安装的CDH版本,这里选择的是http://archive.cloudera.com/cdh4/parcels/4.6.0/。注意,如果你添加了别的仓库,这里的CDH版本将可能会发生变化,如果你需要安装SOLR和IMPALA,请添加新的SOLR和IMPALA仓库,确保CDH、SOLR、IMPALA三者的版本能保持兼容。如果在这里没有选择SOLR和IMPALA,那么在后边选择安装服务的时候,也不能选择它们,切记!

4.4. 配置使用用户名密码还是公钥验证主机登录

如下图:

4.5. 安装JDK和Cloudera Manager Agent

点击Continue进入安装Oracle的JDK和Cloudera Manager Agent,如下图:

上面这一步若是出错,很有可能是你没有配置合适的主机名,请检查主机名和hosts文件里的列表。

4.6. 分配安装包到集群中的各个节点上

安装完成后点击Continue,进入Parcel的安装:

安装完成后会出现核对的画面:

4.7. 选择安装的组件

确认没有问题的话,点击Continue进入下边画面:

在这个页面里,选择你要安装的组件,注意,如果你在之前没有选择添加Impala的仓库,在这里不要选择它,否则后边的安装会出现错误。

点击Inspect Role Assignment进入各节点的角色分配列表,如下:

Cloudera Manager会经过一系列(硬件性能)的计算自动给各个节点分配最适合的角色。在这里你可以根据自己的需求对角色的分配进行适当的修改。

4.8. 配置数据库

然后点击Continue进入数据库的配置画面:

配置好数据库的InnoDB引擎、远程连接、主机的地址等在这里才可以测试成功,具体配置见上文。点击Continue,进入配置确认页面:

4.9. 完成安装

确认无误,点击Continue,进行集群的首次启动。启动成功后选择Continue,进入了后台管理的主界面。

这里出现这些提示主要是因为各个节点的内存小了,重新添加内存后,集群环境健康:

至于如何使用Cloudera Manager来管理这个集群环境,稍加熟悉后应该就可以掌握了。

4.10. Oozie的数据库配置

如果有必要修改oozie使用其它的数据库,请继续看下边:

  • 在Service里进入oozie服务,在Oozie Server(Default)里选择Database,然后对数据库类型、数据库名、数据库地址、用户名以及密码进行设置,保存修改。
  • 然后在数据库中手动建一个上边填写的数据库(Cloudera Manager后台管理里在Action里是可以建库的,但在这里暂时出了点问题,建不了。手动建库其实是一种妥协)。
  • 启动Oozie服务。

Cloudera Manager 4.6 安装部署hadoop CDH集群的更多相关文章

  1. Cloudera Manager安装_搭建CDH集群

    2017年2月22日, 星期三 Cloudera Manager安装_搭建CDH集群 cpu   内存16G 内存12G 内存8G 默认单核单线 CDH1_node9 Server  || Agent ...

  2. Centos7 安装部署Kubernetes(k8s)集群

    目录 一.系统环境 二.前言 三.Kubernetes 3.1 概述 3.2 Kubernetes 组件 3.2.1 控制平面组件 3.2.2 Node组件 四.安装部署Kubernetes集群 4. ...

  3. hadoop学习笔记之一步一步部署hadoop分布式集群

    一.准备工作 同一个局域网中的三台linux虚拟机,我用的是redhat6.4,如果主机是windows操作系统,可以先安装vmware workstation, 然后在workstation中装上3 ...

  4. Hadoop集群部署-Hadoop 运行集群后Live Nodes显示0

    可以尝试以下步骤解决: 1 ,分别删除:主节点从节点的  /usr/local/hadoop-2.6.2/etc/tmp   下得所有文件; 2: 编辑cd usr/local/hadoop-2.6. ...

  5. Hadoop教程(五)Hadoop分布式集群部署安装

    Hadoop教程(五)Hadoop分布式集群部署安装 1 Hadoop分布式集群部署安装 在hadoop2.0中通常由两个NameNode组成,一个处于active状态,还有一个处于standby状态 ...

  6. 使用docker搭建hadoop分布式集群

    使用docker搭建部署hadoop分布式集群 在网上找了非常长时间都没有找到使用docker搭建hadoop分布式集群的文档,没办法,仅仅能自己写一个了. 一:环境准备: 1:首先要有一个Cento ...

  7. Cloudera Manager Free Edition 4.1 和CDH 4.1.2 简易安装教学

    转载:http://fenriswolf.me/2012/12/06/cloudera-manager-free-edition-4-1-和-cdh-4-1-2-简易安装教学/ 安装及管理一个大的Ha ...

  8. hadoop再次集群搭建(4)-Cloudera Manager Installation

       决定选择 Cloudera Manager 进行安装,阅读官方文档,掌握大概脉络.         Cloudera Manager在集群已经实现ssh免秘钥登录,能够访问网络资源和本地资源的情 ...

  9. CentOS7安装CDH 第七章:CDH集群Hadoop的HA配置

    相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...

随机推荐

  1. 使用docker-compose 部署服务 上

    转自:https://www.cnblogs.com/neptunemoon/p/6512121.html 使用docker-compose 大杀器来部署服务 上 使用docker-compose 大 ...

  2. DOM (文档对象模型(Document Object Model))

    文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象 ...

  3. 小白学习之Code First(二)

    Code First约定: 注:EDMX模板 (SSDL:存储模型=>数据库表 ,CSDL:概念模型=>实体,C-S模型=>存储和概念模型之间的映射关系) System.Data.E ...

  4. jquery判断日期是不是为空,是否大于前面的日期

    jquery判断日期是否为空,是否大于前面的日期,代码如下:方法一function onemonthtypeChange(){var startDate = $("#startDate&qu ...

  5. Java基础教程(13)--包

      为了使类型更易于查找,避免命名冲突和访问控制,我们应该使用包来对自己定义的类型进行管理.这里说的类型可以是类.接口.枚举和注解(枚举和注解的内容会在后续教程中介绍).使用包来管理我们的代码,有以下 ...

  6. UNIX高手应该保持的习惯

    UNIX 高手的 10 个习惯 克服不良的 UNIX 使用模式 采用 10 个能够提高您的 UNIX® 命令行效率的好习惯——并在此过程中摆脱不良的使用模式.本文循序渐进地指导您学习几项用于命令行操作 ...

  7. 中小型研发团队架构实践九:任务调度Job

    一.Job 简介 Job 类似于数据库中的作业,多用于实现定时执行任务.适用场景主要包括定时轮询数据库同步.定时处理数据.定时邮件通知等. 我们的 Job 分为操作系统级别定时任务 WinJob 和 ...

  8. 针对多类型数据库,集群数据库的有序GUID

    一.背景 常见的一种数据库设计是使用连续的整数为做主键,当新的数据插入到数据库时,由数据库自动生成.但这种设计不一定适合所有场景. 随着越来越多的使用Nhibernate.EntityFramewor ...

  9. Review——JS的异步与同步

    一.概念 同步(synchronous):指在js的主线程上,所有任务被依次执行: 异步(asynchronous):指任务不进入主线程,进入任务队列(task):当“任务队列”通知主线程,异步任务才 ...

  10. 第二十三天- 模块 re

    # 1. 正则表达式 # 元字符# . 除了换行符外任意字符# \w 数字 字母 下划线# \s 空白符# \b 单词的末尾# \d 数字# \W 除了数字 字母 下划线# \D 除了数字# \S 除 ...