CDH 及6.3.2 搭建

CDH

1、 平台介绍

试想一下,1000台服务器的集群,最少要花费多长时间来搭建好Hadoop集群,包括Hive、Hbase、Flume、Kafka、Spark等等。光从部署 的角度来看就是一个非常耗费时间的举动。

只给你一天时间,完成以上工作?

对于以上集群进行hadoop版本升级,你会选择什么升级方案,最少要花费多长时间?

升级之后的新版本的Hadoop,与Hive、Hbase、Flume、Kafka、Spark等等兼容?

原生的apache存在着如下问题

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

所以我们一般会选择发行版,平台化操作。比较常见的如下

1. Cloudera’s Distribution Including Apache Hadoop(CDH) 
2. Hortonworks Data Platform (HDP) 

最为熟知的两个免费的基于Apache Hadoop社区版衍生出来的。

我们今天就给大家介绍CDH的使用。

CDH全称Cloudera’s Distribution, including Apache Hadoop,是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,提供了Hadoop的核心(可扩展存储,分布式计算),并且有非常友好的基于Web的用户界面。 整体版本划分清晰,版本更新速度快,支持Kerberos安全认证。

  • Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具,使得安装集群从几天的时间缩短在几个小 时内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率。
  • 一句话概括CDH就是集成多种技术的一个框架
1.2. CDH提供
  • 灵活性-存储任何类型的数据并使用各种不同的计算框架进行处理,包括批处理,交互式SQL,自由文本搜索,机器学习和统计计算。
  • 集成-在可与广泛的硬件和软件解决方案一起使用的完整Hadoop平台上快速启动并运行。
  • 安全性-处理和控制敏感数据。
  • 可扩展性-启用广泛的应用程序并进行扩展,并扩展它们以满足您的要求。
  • 高可用性-自信地执行关键任务业务任务。
  • 兼容性-利用您现有的IT基础架构和投资。

2、CDH结构图

在这里插入图片描述

3、 Cloudera Manager

Cloudra Manager简称CM,它是一个web操作平台,可以借助安装CDH然后安装多种Hadoop框架。

3.1. CloudraManager技术构成

  • Clients:客户端,通过web页面和ClouderaManager和服务器进行交互。
  • API:通过API和ClouderaManagement和服务器进行交互
  • Cloudera Repository:存储分发安装包
  • Management Server:进行监控和预警
  • Database:存储预警信息和配置信息。
  • Agent:分布在多台服务器,负责配置,启动和停止进程。监控主机。

在这里插入图片描述

3.2. CM 功能

  • cloudera manager有四大功能
    • 管理:对集群进行管理,如添加、删除节点等操作。
    • 监控:监控集群的健康情况,对设置的各种指标和系统运行情况进行全面监控。
    • 诊断:对集群出现的问题进行诊断,对出现的问题给出建议解决方案。
    • 集成:多组件进行整合。
主机host
机架rack
集群Cluser
服务service
服务实例service instance
角色role
角色实例role
角色 组role instance
主机模板host template parcel
静态服务池static service pool
动态服务池dynamic resource pool

5、CDH 6.3.2 安装部署

5.1. 环境准备

5.1.1. 虚拟机前置配置
##修改主机名

##关闭防火墙

##关闭SeLinux

##配置hosts文件

##安装JDK配置环境变量 【官方推荐 oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm】

##配置服务器时间同步

##配置服务器相互免秘钥

5.1.2. 虚拟机新增配置
##设置打开最大文件数
- [root@123 ~]# vim /etc/security/limits.conf
* soft nofile 32728
* hard nofile 1024999
* soft nproc 65535
* hard nproc unlimited
* soft memlock unlimited
* hard memlock unlimited

##设置swap空间
- [root@123 ~]# echo "vm.swappiess = 10" >> /etc/sysctl.conf
- [root@123 ~]# sysctl vm.swappiness=10

##关闭大页面压缩
- [root@123 ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
- [root@123 ~]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
- [root@123 ~]# echo never > /etc/rc.local

##yum安装依赖包
- [root@123 ~]# wget http://www.percona.com/redir/downloads/Percona-XtraDB-Cluster/5.5.37-25.10/RPM/rhel6/x86_64/Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm
- [root@123 ~]# rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm

##yum安装依赖包
- [root@123 ~]# yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb postgresql* portmap mod_ssl openssl-devel python-psycopg2 MySQL-python python-devel telnet pcre-devel gcc gcc-c++
5.1.3. Mysql数据库
  • 安装Mysql数据库
  • 修改密码难度
    • set global validate_password_policy=0;
    • set global validate_password_length=1;
  • 拷贝Mysql数据库驱动
    • [root@123 ~]# mkdir -p /usr/share/java
    • [root@123 ~]# mv mysql-connector-java-5.1.32-bin.jar /usr/share/java/mysql-connector-java.jar
5.1.4. 上传安装包
  • 在这里插入图片描述

  • 在这里插入图片描述

5.1.5. 安装Httpd
[root@node01 ~]# yum -y install httpd
[root@node01 ~]# systemctl start httpd.service
[root@node01 ~]# systemctl enable httpd.service
[root@node01 ~]# systemctl status httpd.service

网站访问:http://192.168.88.101/

在这里插入图片描述

5.1.6. 制作本地Yum源
  • 拷贝安装包至指定路径下

    • [root@node01 ~]# mkdir -p /var/www/html/{cm6.3.1,cdh6.3.2}
      [root@node01 ~]# mv CDH/* /var/www/html/cdh6.3.2/
      [root@node01 ~]# mv ClouderaManager/* /var/www/html/cm6.3.1/
      [root@node01 ~]# rm -rf C* P*
      [root@node01 ~]# ll /var/www/html/*
      
  • 制作本地Yum文件

    • [root@node01 ~]# yum install -y createrepo
      [root@node01 ~]# cd /var/www/html/cm6.3.1/
      [root@node01 cm6.3.1]# createrepo .
      [root@node01 ~]# cd /var/www/html/cdh6.3.2/
      [root@node01 cdh6.3.2]# createrepo .
      
    • http://192.168.88.101/cdh6.3.2/

    • http://192.168.88.101/cm6.3.1/

  • 创建Repo[cloudera-manager ]文件,并拷贝至其他节点

    • [root@node01 ~]# vim /etc/yum.repos.d/cloudera-manager.repo

    • [cloudera-manager]
      name = Cloudera Manager, Version cm6.3.1
      baseurl = http://node01/cm6.3.1
      gpgcheck = 0
      
    • [root@node01 ~]# scp /etc/yum.repos.d/cloudera-manager.repo root@node02:/etc/yum.repos.d/
      [root@node01 ~]# scp /etc/yum.repos.d/cloudera-manager.repo root@node03:/etc/yum.repos.d/
      [root@node01 ~]# yum repolist
      // 123台都要安装
      [root@123 ~]# yum clean all
      [root@123 ~]# yum makecache
      
  • 如果感觉不稳可以拍摄快照 cdh-pre

5.2. CM安装部署

系统架构node01node02node03
Cloudera Manager Server*
Clodudera Manager Agent***
5.2.1. 安装CM Server
[root@node01 ~]# yum install cloudera-manager-daemons cloudera-manager-server cloudera-manager-server-db-2
5.2.2. 安装CM Agent
[root@123 ~]# yum install cloudera-manager-daemons cloudera-manager-agent
5.2.3. 初始化数据库
  • 连接参数 #格式:数据库类型、数据库、数据库服务器、用户名、密码、cm server服务器

  • [root@node01 ~]# /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm -h192.168.88.101 -P3306 -uroot -p123456 --scm-host 192.168.88.101 scm root 123456
    
5.2.4. 配置CM Agent
[root@123 ~]# vim /etc/cloudera-scm-agent/config.ini-- 修改18行 server_host=node01
5.2.5. 启动Cloudera Manager
  • #Sever首次启动会自动创建表以及数据,不要立即关闭或重启,否则需要删除所有表及数据重新安装
[root@node01 ~]# systemctl start cloudera-scm-server[root@node01 ~]# systemctl enable cloudera-scm-server[root@123 ~]# systemctl start cloudera-scm-agent[root@123 ~]# systemctl enable cloudera-scm-agent
5.2.6. 访问Cloudera Manager
  • http://192.168.88.101:7180/
    • 用户名 admin
    • 密码 admin

在这里插入图片描述

5.3. 集群搭建

5.3.1. 创建集群
  • 首页欢迎

在这里插入图片描述

  • 设置集群名称

在这里插入图片描述

  • 选择集群主机

在这里插入图片描述

  • 选择CDH and软件

在这里插入图片描述

  • 设置 Parcel存储库

在这里插入图片描述

  • Install Parcels

在这里插入图片描述

  • Inspect Cluster

在这里插入图片描述

5.3.2. 创建服务
  • select Services

在这里插入图片描述

  • 数据库设置: 配置和测试数据库连接

    • 服务名数据库名用户名
      Cloudera Manager Serverscmscm
      Activity Monitoramonamon
      Reports Managerrmanrman
      Huehuehue
      Hive Metastore Servermetastoremetastore
      Sentry Serversentrysentry
      Cloudera Navigator Audit Servernavnav
      Cloudera Navigator Metadata Servernavmsnavms
      Oozieoozieoozie
    • #创建数据库和用户
      CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
      CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
      CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
      CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
      CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
      CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
      CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
      set global validate_password_length=6;
      set global validate_password_policy=0;
      
      GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY '123456';
      GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY '123456';
      GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY '123456';
      GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY '123456';
      GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY '123456';
      GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY '123456';
      GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY '123456';
      
      GRANT ALL ON hive.* TO 'hive'@'localhost' IDENTIFIED BY '123456';
      GRANT ALL ON amon.* TO 'amon'@'localhost' IDENTIFIED BY '123456';
      GRANT ALL ON rman.* TO 'rman'@'localhost' IDENTIFIED BY '123456';
      GRANT ALL ON nav.* TO 'nav'@'localhost' IDENTIFIED BY '123456';
      GRANT ALL ON navms.* TO 'navms'@'localhost' IDENTIFIED BY '123456';
      GRANT ALL ON oozie.* TO 'oozie'@'localhost' IDENTIFIED BY '123456';
      GRANT ALL ON hue.* TO 'hue'@'localhost' IDENTIFIED BY '123456';
      
      GRANT ALL ON hive.* TO 'hive'@'node01' IDENTIFIED BY '123456';
      GRANT ALL ON amon.* TO 'amon'@'node01' IDENTIFIED BY '123456';
      GRANT ALL ON rman.* TO 'rman'@'node01' IDENTIFIED BY '123456';
      GRANT ALL ON nav.* TO 'nav'@'node01' IDENTIFIED BY '123456';
      GRANT ALL ON navms.* TO 'navms'@'node01' IDENTIFIED BY '123456';
      GRANT ALL ON oozie.* TO 'oozie'@'node01' IDENTIFIED BY '123456';
      GRANT ALL ON hue.* TO 'hue'@'node01' IDENTIFIED BY '123456';
      #刷新源
      FLUSH PRIVILEGES;
      #退出	
      quit
      #重启mysql服务
      [root@node01 ~]# systemctl restart mysqld.service
      

在这里插入图片描述

  • 审核更改

在这里插入图片描述

  • 首次运行 命令

在这里插入图片描述

  • 命令完成

在这里插入图片描述

  • 汇总完成

在这里插入图片描述

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值