大数据CDH_10_01

来源:互联网 发布:淘宝网哪里写招聘 编辑:程序博客网 时间:2024/06/17 13:46

CDH简介

1、Apache Hadoop 不足之处

  • 版本管理混乱
  • 部署过程繁琐、升级过程复杂
  • 兼容性差
  • 安全性低

2、Hadoop 发行版

  • Apache Hadoop (原生版)
  • Cloudera’s Distribution Including Apache Hadoop(CDH)国内用的比较多。
  • Hortonworks Data Platform (HDP)
  • MapR
  • EMR
  • …

     --无论用哪个版本,对于开发人员来说,书写后端代码并不影响。

3、CDH能解决哪些问题

  • 1000台服务器的集群,最少要花费多长时间来搭建好Hadoop集群,包括Hive、Hbase、Flume、Kafka、Spark等等
  • 只给你一天时间,完成以上工作?
  • 对于以上集群进行hadoop版本升级,你会选择什么升级方案,最少要花费多长时间?
  • 新版本的Hadoop,与Hive、Hbase、Flume、Kafka、Spark等等兼容?

4、CDH简介 

  • Cloudera's Distribution, including Apache Hadoop
  • 是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建
  • 提供了Hadoop的核心
    – 可扩展存储
    – 分布式计算
  • 基于Web的用户界面



5、CDH的优点  

  • 版本划分清晰
  • 版本更新速度快
  • 支持Kerberos安全认证
  • 文档清晰
  • 支持多种安装方式(Cloudera Manager方式)

6、CDH安装方式

  • Cloudera Manager
  • Yum
  • Rpm
  • Tarball

7、CDH下载地址

  • CDH5.4
     http://archive.cloudera.com/cdh5/
  •Cloudera Manager5.4.3:
     http://www.cloudera.com/downloads/manager/5-4-3.html

ClouderaManager简介

Cloudera Manager是一个管理CDH的端到端的应用。
作用:
--管理
--监控
--诊断
--集成


CDH架构


Server
管理控制台服务器和应用程序逻辑
负责软件安装、配置
启动和停止服务
管理服务运行的群集
Agent
安装在每台主机上
负责启动和停止进程,配置,监控主机
Management Service
由一组角色组成的服务,执行各种监视、报警和报告功能
Database
Cloudera Repository
Clients
Admin Console
API 

ClouderaManager部署

--系统环境准备
--ClouderaManager安装

这里我们需要安装三个节点。分别为node05、node06、node07。其中node05为Server节点和安装mysql
                 node06、node07安装agent。
下面的系统环境配置除了mysql安装在node05节点上,其他的所有配置都需要在节点上安装。
免登陆时需要两两设置。

一、系统环境准备

1、网络配置
vi /etc/sysconfig/network-scripts/ifcfg-eth0
vi /etc/sysconfig/network
vi /etc/hosts

2、SSH免密钥登录
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
ssh-copy-id hotname 
note:三个节点两两进行免秘钥。
3、防火墙关闭
service iptables stop
chkconfig iptables off

4、SELINUX关闭
setenforce 0
vi /etc/selinux/config (SELINUX=disabled)

5、安装JDK配置环境变量
export JAVA_HOME=/usr/local/jdk1.7
export PATH=.:$PATH:$JAVA_HOME/bin:$PATH

6、安装NTP
yum install ntp -y
设置开机启动 chkconfig ntpd on
设置时间同步
ntpdate 202.120.2.101

7、安装配置mysql
yum install mysql-server -y :此命令安装mysql。
chkconfig mysqld on :此服务设置开机启动。
service mysqld start :此命令开启mysql服务。
查看状态:service mysqld status
mysql进入后执行下面的命令:
use mysql;
select host,user from user;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hadoop' WITH GRANT OPTION; :此命令授权
flush privileges :刷新一下
删除多余会对权限造成影响的数据delete from user where host !='%';
刷新权限:flush privileges; 
select host,user from user;
quit 退出

重新登录:mysql -u root -p

密码:hadoop


8、下载第三方依赖包(node01、node02、node03)
yum install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb -y


二、ClouderaManager安装

1、安装Cloudera Manager Server、Agent(node01、node02、node03)
mkdir /opt/cloudera-manager
tar xvzf cloudera-manager-el6-cm5.4.3_x86_64.tar.gz -C /opt/cloudera-manager

2、创建用户cloudera-scm(node01、node02、node03)
useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

3、配置CM Agent (node01、node02、node03)
修改文件/opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini中server_host

在这里三个节点的server_host的值都是node01

4、配置CM Server数据库(server节点 node01)
拷贝文件mysql-connector-java-5.1.26-bin.jar到目录 /usr/share/java/
注意jar包名称要修改为mysql-connector-java.jar
登录mysql然后执行下面的命令:
use mysql;
grant all on *.* to 'temp'@'%' identified by 'temp' with grant option;
cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema/
./scm_prepare_database.sh mysql temp -h node01 -utemp -ptemp --scm-host node01 scm scm scm
格式:数据库类型、数据库、数据库服务器、用户名、密码、cm server服务器


5、创建Parcel目录
Server节点(node01)
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
Agent节点(node01、node02、node03)
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

6、制作CDH本地源(server节点)
下载好文件CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel以及manifest.json,将这两个文件放到server节点的/opt/cloudera/parcel-repo下。
打开manifest.json文件,里面是json格式的配置,找到与下载版本相对应的hash码,新建文件,文件名与你的parel包名一致,并加上.sha后缀,将hash码复制到文件中保存。

7、启动CM Server、Agent
cd /opt/cloudera-manager/cm-5.4.3/etc/init.d/
./cloudera-scm-server start (node01上执行)注:当/opt/cloudera-manager/cm-5.4.3/log/cloudera-scm-server中的日志全部输出完后server才算真正的启动。

Sever首次启动会自动创建表以及数据,不要立即关闭或重启,否则需要删除所有表及数据重新安装
./cloudera-scm-agent start


访问:http://ManagerHost:7180,
用户名、密码:admin

若可以访问,则CM安装成功。



在这里我们选择 免费的版本>>点击继续>>为CDH群集安装指定的主机(两个页签分别为新主机、当前管理的主机(安装的节点))>>继续>>群集安装选择CDH版本(选择我们自己本地安装的CDH版本;其余的两个版本是外网版本)

安装完CDH后部署CDH

1)启动CM Server、Agent

2)选择节点 (node05::7180登录)

3)选择本地的Parcel

4)服务器检查

5)选择服务 (hadoop组件(hive、Hbase、hdfs等))

6)服务配置

7)数据库配置

8)集群配置

9) 安装完成

CDH图像化界面的安装步骤

step1:


step2:


step3:


step4:


step5:


step6:


step7:


step8:


step9:


step10:


ClouderaManager使用


功能:
1、管理监控集群主机。
2、统一管理配置。
3、管理维护Hadoop平台系统。

名词解释:

主机  - host
机架  - rack
集群  -  Cluster
服务  - service  (hive、hdfs、zookeeper等)
服务实例  - service instance
角色  - role   (nameNode、dataNode等)
角色实例  - role instance
角色组  - role group
主机模板  - host template
parcel   (安装包)
静态服务池  - static service pool
动态资源池  - dynamic resource pool
1、集群管理
    添加、删除集群
    启动、停止、重启集群
    重命名集群
    全体集群配置
    移动主机
2、主机管理
    查看主机详细
    主机检查
    集群添加主机
    分配机架
    主机模板
    维护模式
    删除主机
3、服务管理
    添加服务
    对比不同集群上的服务配置
    启动、停止、重启服务
    滚动重启
    终止客户端正在执行的命令
    删除服务
    重命名服务
    配置最大进程数
    rlimit_fds

4、角色管理
    角色实例
    添加角色实例
    启动、停止、重启角色实例
    解除授权
    重新授权
    删除角色实例
    角色组
    创建角色组
    管理角色组
5、资源管理
    动态资源池
    静态服务池
6、用户管理
7、安全管理

注意:到目前为止三台节点上的角色以及软件的安装情况

 node01:HDFS、YARN、Zookeeper、Hive、oozie   nameNode、dataNode
 node02:HDFS、YARN、Zookeeper         dataNode
 node03:HDFS、YARN、Zookeeper         dataNode

Hue

--Hue是一个开源的Apache Hadoop UI系统。
--通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据。
--例如操作HDFS上的数据、运行Hive脚本、管理Oozie任务等等。

--是基于Python Web框架Django实现的。
--支持任何版本Hadoop

基于文件浏览器(File Browser)访问HDFS
基于web编辑器来开发和运行Hive查询
支持基于Solr进行搜索的应用,并提供可视化的数据视图,报表生成
通过web调试和开发impala交互式查询
spark调试和开发
Pig开发和调试
oozie任务的开发,监控,和工作流协调调度
Hbase数据查询和修改,数据展示
Hive的元数据(metastore)查询
MapReduce任务进度查看,日志追踪
创建和提交MapReduce,Streaming,Java job任务
Sqoop2的开发和调试
Zookeeper的浏览和编辑
数据库(MySQL,PostGres,SQlite,Oracle)的查询和展示