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

posted @ 2017-09-04 22:45  bronk  阅读(570)  评论(0编辑  收藏  举报