zoukankan      html  css  js  c++  java
  • Cloudera Manager 4.6 安装部署hadoop CDH集群

    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 ManagerOraclejdk(支持1.61.7

    • 使用Cloudera Manager安装集群时

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

    集群中的每个主机上都会安装Cloudera Manager AgentOraclejdk

    可以根据自己的选择来安装CDHImpala等。

    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、服务监控、活动监控、主机监控配置外部数据库的选项,ooziehue等数据可在安装完成后,在管理界面中配置安装。具体操作见下。

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

      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 Managerssh公钥来连接其它的主机,前提是已配置好了

    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=0
    
    key_buffer              = 16M
    key_buffer_size         = 32M
    max_allowed_packet      = 16M
    thread_stack            = 256K
    thread_cache_size       = 64
    query_cache_limit       = 8M
    query_cache_size        = 64M
    query_cache_type        = 1
    # Important: see Configuring the Databases and Setting max_connections
    max_connections         = 550
    
    # 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.8 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 = 1
    innodb_flush_log_at_trx_commit  = 2
    innodb_log_buffer_size          = 64M
    innodb_buffer_pool_size         = 4G
    innodb_thread_concurrency       = 8
    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是密码。

    • 在集群中的每台主机上安装mysqljdbc
    $ 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安装画面,默认安装的是OracleJDK1.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版本将可能会发生变化,如果你需要安装SOLRIMPALA,请添加新的SOLRIMPALA仓库,确保CDHSOLRIMPALA三者的版本能保持兼容。如果在这里没有选择SOLRIMPALA,那么在后边选择安装服务的时候,也不能选择它们,切记!

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

    如下图:

    4.5. 安装JDKCloudera Manager Agent

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

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    Parameter Binding in ASP.NET Web API
    Which HTTP methods match up to which CRUD methods?
    ErrorHandling in asp.net web api
    HttpStatusCode
    Autofac Getting Started(默认的构造函数注入)
    Autofac Controlling Scope and Lifetime
    luvit 被忽视的lua 高性能框架(仿nodejs)
    undefined与null的区别
    VsCode中使用Emmet神器快速编写HTML代码
    字符串匹配---KMP算法
  • 原文地址:https://www.cnblogs.com/leocook/p/cdh_management.html
Copyright © 2011-2022 走看看