• 33-hadoop-cdh搭建coudemanager安装


    http://www.aboutyun.com/thread-9219-1-1.html  非常强大的博客 ! ! !

    1, cdh简介

     CDH (Cloudera’s Distribution, including Apache Hadoop),是hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了很多补丁,可直接用于生产环境。 
    Cloudera Manager则是为了便于在集群中进行Hadoop等大数据处理相关的服务安装和监控管理的组件,对集群中主机、Hadoop、HiveSpark等服务的安装配置管理做了极大简化。 

    目前集群的乱象: 

      1, 版本管理混乱

      2, 部署升级复杂

      3, 兼容性差

      4, 安全性低

    Hadoop的发行版: 

       apache hadoop

      CDH: 是hadoop分支的一种, 由Cloudera维护, 基于web的用户界面

      HDP: 一个虚拟机

      MapR: linux指令

      EMR: 集群脱管方案, 应用较少 

    Cloudera的CDH和Apache的Hadoop的区别

      目前而言,不收费的Hadoop版本主要有三个(均是国外厂商),分别是:Apache(最原始的版本,所有发行版均基于这个版本进行改进)、Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称CDH)、Hortonworks版本(Hortonworks Data Platform,简称“HDP”),对于国内而言,绝大多数选择CDH版本,CDH和Apache版本主要区别如下:  
    
    (1) CDH对Hadoop版本的划分非常清晰,只有两个系列的版本,分别是cdh3和cdh4,分别对应第一代Hadoop(Hadoop 1.0)和第二代Hadoop(Hadoop 2.0),相比而言,Apache版本则混乱得多;比Apache hadoop在兼容性,安全性,稳定性上有增强。  
    
    (2)CDH3版本是基于Apache  hadoop  0.20.2改进的,并融入了最新的patch,CDH4版本是基于Apache hadoop 2.X改进的,CDH总
    是并应用了最新Bug修复或者Feature的Patch,并比Apache hadoop同功能版本提早发布,更新速度比Apache官方快。
    
    (3)安全 CDH支持Kerberos安全认证,apache hadoop则使用简陋的用户名匹配认证 
    
    (4)CDH文档清晰,很多采用Apache版本的用户都会阅读CDH提供的文档,包括安装文档、升级文档等。 
    
    (5)CDH支持Yum/Apt包,Tar包,RPM包,CM安装,Cloudera Manager三种方式安装,Apache hadoop只支持Tar包安装。

    http://www.aboutyun.com/thread-9225-1-1.html

    cdh结构图:

    cdh优点: 

      版本清晰

      版本更新速度快

      支持Kerberos认证

      文档清晰

      支持多种安装方式 (Cloudera manager)

    简单来说, cdh是为了简化集群部署, 最优升级方案,

    http://www.aboutyun.com/thread-6788-1-1.html

    2, Cloudera manager

    是一个管理cdh端到端的应用, 作用: 管理, 监控, 诊断, 集成

    server功能:

      客户端服务器和应用服务器键的逻辑

      软件安装和配置

      各项服务的管理, 启动停止, 监控整个集群

    agent: 

      每个服务进程管理

      监控主机

      数据库, 为region-server提供数据库支撑

    management_server: 

      监控集群状态

      生成报表

     3, cdh搭建前期准备

    1, 准备3台虚拟机

      master占用会非常大, 建议6g内存以上, 其他2台2g内存即可

      修改主机名: /etc/sysconfig/network,   为 node1, node2, node3

    2, 设置3台机器的免密码登录

      3台机器分别设置, 同时对自己免密码登录

      http://www.cnblogs.com/wenbronk/p/6628993.html

    3, 防火墙关闭

      service iptables stop
      chkconfig iptables off

    4, 安装jdk, 这儿使用的 jdk1.7

      JDK一定要解压到/usr/java/default下面,即JAVA_HOME= /usr/java/default, 否则CDH的后续安装将会报错

    环境变量配置: 

    export JAVA_HOME=/usr/java/default
    export JRE_HOME=/usr/java/default/jre
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$PATH

    5, 设置3台机器的时间同步   

    ntpdate -u ntp.api.bz

    6, 设置selinux关闭, 重启生效

      vim /etc/selinux/config
      SELINUX=disabled   (原始值为: enforcing)

    7, 安装mysql ( 本次安装node1, 可搭建专门mysql服务器, 版本5.5 , 版本对应关系可查官网 )

      http://www.cnblogs.com/wenbronk/p/6840484.html

    8, 安装3rd 依赖包

    3, 内核修改:  (所有节点)

    1, 句柄设置

      通过 ulimit -n 查看文件句柄, 

    vim /etc/security/limits.conf
    
    # 添加如下内容
    *           soft  nproc  65535
    *           hard  nproc  63535
    *           soft  nofile  65535
    *           hard  nofile  65535

    然后

    vim /etc/security/limits.d/90-nproc.conf
    
    # 修改为:
    *          soft    nproc     65535
    root       soft    nproc     unlimited

    2, 修改内核参数

    # echo 0 > /proc/sys/vm/swappiness
    # echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

    3, 修改编码集

    # vim /etc/sysconfig/i18n
    LANG="en_US.UTF-8"
    SYSFONT="latarcyrheb-sun16"

    4, cloudera manager的安装

    1, 解压安装包 (3台机器)

    mkdir /opt/cloudera-manager
    tar -zxvf cloudera-manager*.tar.gz -C /opt/cloudera-manager

    2, 创建用户 (所有节点)

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

    3, 配置CM Agent (所有 agent 端)

    cd /opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent
    vim ./config.ini

    # 修改 server_host=node1

    4, 配置 CM server 数据库(master 或者单独的服务器)

     默认到 usr/share/java/ 目录下寻找jar, 包名一定为  mysql-connector.jar

     cp ~/cloudera-manager/mysql-connector-java-5.1.26-bin.jar /usr/share/java/mysql-connector-java.jar

    创建支撑库: 

    grant all on *.* to 'scm'@'%' identified by 'scm' with grant option;

    /opt/cloudera-manager/cm-5.4.3/share/cmf/schema/scm_prepare_database.sh mysql temp -h 192.168.208.110 -uroot -p123 --scm-host 192.168.208.110 scm scm scm

    格式: 数据库类型, 数据库名, host,  用户名, 密码, cm Server 服务器, 最后3个: 默认账户及数据库名

     5, 修复安装包 bug, BUG会导致在集群安装YARN时失败 ( 所有节点)

    # vim /opt/cloudera-manager/cm-5.4.3/lib64/cmf/agent/src/cmf/util.py    --该文件第365行
    pipe = subprocess.Popen(['/bin/bash','-c',". %s; %s; env"%(path, command)],
    stdout=subprocess.PIPE, env=caller_env)
    改成
    pipe = subprocess.Popen(['/bin/bash','-c',". %s; %s; env | grep -v { | grep -v }"%(path, command)],
    stdout=subprocess.PIPE, env=caller_env)

    6, 创建 Parcel 目录

    server端: 

    mkdir -p /opt/cloudera/parcel-repo

    chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo

    agent

    mkdir -p /opt/cloudera/parcels
    chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

    因为安装时 需要存放 cdh的安装目录, 默认分发目录就是 parcels

    6, 制作 CDH 本地源, 不制作需要从云下载, 非常非常慢...

    -rw-r--r-- 1 root root 1272629458 Mar  5 17:26 CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel
    -rw-r--r-- 1 root root         41 Mar  5 17:03 CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel.sha
    -rw-r--r-- 1 root root      42625 Mar  5 17:02 manifest.json

    将其拷贝到 /opt/cloudera/parcel-repo

    cp -v ~/cloudera-manager/CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel* /opt/cloudera/parcel-repo/
    
    cp -v ~/cloudera-manager/manifest.json /opt/cloudera/parcel-repo/

    注意文件名:!!!!!!!!!!!!!!!!!!!!!!

    7, 启动 server, agent, 

    cd /opt/cloudera-manager/cm-5.4.3/etc/init.d
    # 先启动server, 等server启动后, 在启动agent
    ./cloudera-scm-server start
    
    ./cloudera-scm-agent start

    启动成功后, 在网页可访问: cdh-01:7180

    8, 日志查看

    在 /opt/cloudera-manager/cm-5.4.3/log 下可看

    注意, 如果启动过程中终止, 需要把前面的重新来一遍

    5, 界面设置

     1, 网页访问: 192.168.208.110:7180

    2, 选择版本

    3, 继续, 继续, 选择本地源的版本, 5.4.0

     4, 选择安装的主机

    5, 集群安装

    6, 检验正确性,

    此步如果没有之前的内核数据修改, 会报错, 修改了即可 

    echo 0 > /proc/sys/vm/swappiness

    7, 选择需要的服务

    8, 集群设置, 默认即可

    9, 数据库设置, 需要提前创建 hive库和 Oozie库

     建库脚本: 

    create database hive default character set utf8;
    grant all on hive.* to 'hive'@'%' identified by 'hive';
    
    create database oozie default character set utf8;
    grant all on oozie.* to 'oozie'@'%' identified by 'oozie';

     最后等待安装结束 

    关于安装错误, 卸载的: http://blog.csdn.net/wulantian/article/details/42706777

  • 相关阅读:
    最简单的 Java内存模型 讲解
    Chrome快捷键吐血整理
    【并发编程】InheritableThreadLocal使用详解
    【并发编程】Object的wait、notify和notifyAll方法
    【并发编程】Thread类的详细介绍
    【软件工具】easyExcel简明使用指南
    【并发编程】实现多线程的几种方式
    【并发编程】Java并发编程传送门
    CODING 研发管理系统上线全球加速,助力企业跨区域协作
    上帝的归上帝,凯撒的归凯撒—— CODING 权限管理更新
  • 原文地址:https://www.cnblogs.com/wenbronk/p/7455397.html
Copyright © 2020-2023  润新知