HDP 企业级大数据平台

一 前言

阅读本文前需要掌握的知识:

  • Linux基本原理和命令
  • Hadoop生态系统(包括HDFS,Spark的原理和安装命令)

由于Hadoop生态系统组件众多,导致大数据平台多节点的部署,监控极其不方便,因此一些Hadoop厂商提供了企业发行版,例如CDH,HDP等。这些Hadoop企业发行版将Hadoop生态系统的开源组件整合到了一个平台之上,并做了一些定制,提供了安装,部署,监控等工具,大大方便了平台运维人员。
CDH是Cloudera公司向企业客户提供的基于Apache Hadoop生态系统构建的大数据分析平台。
HDP是Hortonworks公司基于Hadoop生态系统开源组件构建的大数据分析平台。
我们选用HDP搭建企业级大数据平台,下面会着重分析说明原因。

二 大数据平台说明

目前企业级Hadoop发行版,免费版本主要有Hadoop Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称“CDH”)和Hortonworks版本(Hortonworks Data Platform,简称“HDP”)。

2.1 CDH与HDP比较

 CDHHDP
相同点1.相对于Intel Hadoop 和IBM Hadoop的发行版而言,两者都是免费版。2.相对于Apache 开源社区版本,更易于维护,管理,且稳定性高。
不同点文档详细,但区分免费版和企业版,企业版只有试用期HDP版本是比较新的版本,目前最新版(HDP2.6.0)与apache基本同步,因为Hortonworks内部大部分员工都是apache代码贡献者。

2.2 HDP大数据平台说明

我们的大数据平台基于HDP2.6.0版本搭建,HDP 2.6.0 Hadoop生态系统主要组件版本如下:


 
HDP2.6.0主要版本说明.png

2.3 企业级大数据平台架构

根据我们目前的业务场景,我们主要选用Ambari(Hadoop生态系统管理监控),Hdfs(分布式文件系统),HBase(分布式列数据库),Yarn(资源调度管理),Kafka(分布式消息组件),Spark(分布式内存计算引擎),Zookeeper(分布式服务组件)等组件作为我们大数据平台的基础。下面主要简单介绍我们搭建的企业级大数据平台主要组件(详细内容请查看官方文档):

  • HDFS 事实上已经成为大数据存储层的标准,经过多年的发展,目前基本功能(如高可用,异构存储)已经非常稳定。
  • HBase 是基于Hdfs的分布式列数据库。可以作为存储层的辅助,我们的业务场景用到了。
  • Yarn是Hadoop生态系统的资源调度组件,我们使用Spark作为计算引擎,集群每隔节点上的资源如何合理分配?如果共享底层的存储数据?都离不开Yarn。
  • Spark 作为我们大数据平台的分布式计算引擎,其核心是RDD(弹性分布式数据集),RDD有两类操作Transformation和Action,基本可以满足我们常用的数据分析场景。
  • Ambari 是我们大数据平台的管理和监控组件,主要由两部分组成:Ambari Server 和 Ambari Agent组成。简单来说,用户通过 Ambari Server 通知 Ambari Agent 安装Hadoop生态系统的组件;Agent 会定时地发送集群各个机器每个组件模块的状态给 Ambari Server,最终这些状态信息会呈现在 Ambari 的 Web界面上,方便用户了解到集群的各种状态,并进行相应的维护。


     
    企业级大数据平台.png

三 大数据平台安装部署

3.1 集群规划

我们的集群初期规划为6个节点,1个Ambari节点(负责整个集群监控和管理),1个NameNode/Master节点(HDFS,Spark,HBase的主节点),1个SecondaryNameNode节点(HDFS的备份节点),3个DataNode/Work节点(HDFS,HBase的数据节点)

3.1.1 硬件规划

我们的物理机安装Centos-7-x86_64-Minimal(Centos 7.3 最小版)系统,由于使用Spark做分析引擎,对内存的要求比较高,具体规划如下:

主机名称操作系统内存硬盘
ambariCentos-7-x86_64-Minimal4G200G
bigdata1Centos-7-x86_64-Minimal16G500G
bigdata2Centos-7-x86_64Minimal16G500G
bigdata3Centos-7-x86_64-Minimal16G500G
bigdata4Centos-7-x86_64-Minimal16G500G
bigdata5Centos-7-x86_64-Minimal16G500G

物理机安装完Centos系统后,使用下面命令查看内存

## 查看系统内存
free -h

除过Ambari节点,集群其他各节点物理机Centos系统硬盘分区如下:

 /boot   1024M
 /        50G  ##根目录
 /home    20G  ##用户目录
 /usr     20G  ##安装软件
 /data    400G ##存放数据
 swap      8G

3.1.2 软件规划

主机名称安装HDP组件JPS启动进程
ambariJDK/PostgreSQL/AmbariAmbariServer
bigdata1JDK/Zookeeper/Hadoop/HBaseNamenode/QuoqumPeerMain/Hmaster/ History Server/Kafka
bigdata2JDK/Zookeeper/HadoopResourcemanager/SecondaryNameNode
bigdata3JDK/Zookeeper/Hadoop/HBaseQuoqumPeerMain/Nodemanager/Hregionserver
bigdata4JDK/Zookeeper/Hadoop/HBaseQuoqumPeerMain/Nodemanager/Hregionserver
bigdata5JDK/Zookeeper/Hadoop/HBaseQuoqumPeerMain/Nodemanager/Hregionserver

3.2 准备工作

  • HDP 2.6.0以上的版本,支持Ambari 2.5.x版本部署安装。
  • 在所有节点安装Oracle JDK 8。
## 注意去官方下载jdk需要header头
cd /usr/local
wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" 
http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz 
## 解压 jdk文件,修改文件名 tar zxf jdk-8u144-linux-x64.tar.gz mv jdk-8u144-linux-x64 java ## 配置java环境变量 vi /etc/profile 添加下面内容: export JAVA_HOME=/usr/local/java export CLASSPATH=.:$JAVA_HOME/lib PATH=$PATH:$JAVA_HOME/bin ## 环境变量生效 source /etc/profile 
  • 建议配置每个机器节点上的yum为阿里yum,以提高下载速度。由于centos 默认的yum镜像是国外的,速度慢,可以配置国内的阿里yum。
## 备份 默认yum镜像文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
##  下载阿里CentOS-Base.repo镜像文件 到/etc/yum.repos.d/
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
## 执行命令生成缓存
yum makecache

  • 所有节点配置主机名
## 打开hosts文件
vi /etc/hosts
192.168.0.100 ambari
192.168.0.101 bigdata1
192.168.0.102 bigdata2
192.168.0.103 bigdata3
192.168.0.104 bigdata4
192.168.0.105 bigdata5
## 注意不要移除hosts文件中这两行
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
## 检查主机名
hostname -f
## 设置主机名,例如设置192.168.0.100机器的主机名为ambari
hostname ambari
  • 配置集群各节点间的时间同步
## 每个机器安装时间同步工具,并启动ntp服务,Hbase之间数据同步需要配置时间同步
yum install -y ntp
systemctl enable ntpd
  • 配置各节点间SSH无密码访问
# 每个节点生成ssh的key,执行后会有多个输入提示,不用输入任何内容,全部直接回车即可
ssh-keygen
#拷贝到其他节点
ssh-copy-id -i /.ssh/id_rsa -p 22 root@ambari ssh-copy-id -i /.ssh/id_rsa -p 22 root@bigdata1 ssh-copy-id -i /.ssh/id_rsa -p 22 root@bigdata2 ssh-copy-id -i /.ssh/id_rsa -p 22 root@bigdata3 ssh-copy-id -i /.ssh/id_rsa -p 22 root@bigdata4 ssh-copy-id -i /.ssh/id_rsa -p 22 root@bigdata5 #验证是否设置成功 ssh bigdata1 
  • 暂时关闭各节点防火墙和SELinux
## 关闭防火墙
systemctl disable firewalld
service firewalld stop
## 关闭SELinux
setenforce 0
  • 设置每个节点的文件打开数
## 查看linux默认打开文件数
ulimit -Sn
ulimit -Hn
## 设置文件打开数为10000个
ulimit -n 10000 

3.3 安装部署

3.3.1 在Ambari节点安装Ambari
  • ambari节点配置ambari repo文件
## root用户登陆ambari节点,下载ambari repo文件 
wget -nv http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.5.1.0/ambari.repo -O /etc/yum.repos.d/ambari.repo
## 查看ambari节点的yum源,可以看到我们刚才配置的ambari源和最开始配置的aliyun 源
yum repolist
## 返回结果如下
repo id repo name status !ambari-2.5.1.0 ambari Version - ambari-2.5.1.0 12 !base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 9,363 !extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 450 !updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 2,146 repolist: 11,971 
  • 安装ambari-server
##  安装ambari-server
yum install ambari-server
  • 配置ambari server
    注意ambari依赖于数据库,默认内嵌PostgreSQL,我么选用默认内嵌的postgresql数据库
# 在ambari节点执行下面命令
ambari-server setup

下面是配置执行流程,按照提示操作
(1) 提示是否自定义设置。输入:y
Customize user account for ambari-server daemon [y/n] (n)? y
(2)ambari-server 账号。输入:root Enter user account for ambari-server daemon (root):root Adjusting ambari-server permissions and ownership... (3)设置JDK。输入:3 Checking JDK... Do you want to change Oracle JDK [y/n] (n)? y [] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8 [] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7 [] Custom JDK ============================================================================== Enter choice (1): 3 (4)如果上面选择3自定义JDK,则需要设置JAVA_HOME。输入:/usr/local/java WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts. WARNING: JCE Policy files are required for configuring Kerberos security. If you plan to use Kerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files are valid on all hosts. Path to JAVA_HOME:/usr/local/java Validating JDK on Ambari Server...done. Completing setup... (5)数据库配置。选择:y Configuring database... Enter advanced database configuration [y/n] (n)? y (6)选择数据库类型。输入:1 Configuring database... ============================================================================== Choose one of the following options: [1] - PostgreSQL (Embedded) [2] - Oracle [3] - MySQL [4] - PostgreSQL [5] - Microsoft SQL Server (Tech Preview) [6] - SQL Anywhere ============================================================================== Enter choice (1): 1 (7)设置数据库的具体配置信息,根据实际情况输入,如果和括号内相同,则可以直接回车。 Hostname (localhost): ambari Port (): Database name (ambari): Username (ambari): Enter Database Password (bigdata): 
  • 启动Amabri
## 启动ambari服务
ambari-server start
## 成功启动后在浏览器输入Ambari地址:http://{ambari节点IP地址}:8080/
3.3.2 安装HDP

之前我们大数据测试平台的安装都是用命令行,单独安装Hadoop生态系统的组件,现在我们利用Ambari 图形界面安装,都是一路Next操作,由于安装时未截图,我去网上找了一些安装界面,做个注释说明

  • 浏览器打开网站 http://{ambari节点IP地址}:8080/,登录Ambari,默认管理员账户登录, 账户:admin 密码:admin
 
ambari登陆界面.png
  • 安装向导界面
 
ambari安装向导界面.png
  • 设置集群名称
 
设置集群名称.png
  • 配置HDP 公共源(选择HDP2.6)
选择RedHat7,HDP 2.6.0 yum地址如下
HDP-2.6: http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.0.3 HDP-UTILS-1.1.0.21:http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7 
  • 设置集群hosts列表,配置ambari节点私钥文件
## Target Host配置集群各节点
192.168.0.101 bigdata1 192.168.0.102 bigdata2 192.168.0.103 bigdata3 192.168.0.104 bigdata4 192.168.0.105 bigdata5 # Host Registraion information 填写ambari节点私钥,SSH user Account账户设置为root 
  • Host确认(确认前面配置集群中hosts列表 中的机器是否都可用,如果集群中机器Success后进行下一步操作)
  • 选择要安装的服务
    注意我们主要安装HDFS,HBase ,ZooKeeper,Spark2,Kafka。在HDP2.6.0版本默认需要安装YARN+MAPREDUCE2,Tez,Hive,SmartSense等组件(下图是网上找的图,只是个参考)
 
服务安装1.png
 
服务安装2.png
  • 安装服务的Master配置
 
各服务Master配置.png
  • 安装服务的Slaves和Clients配置
## 配置HDFS的DataNode ,YARN的NodeManager 以及HBase的Hregionserver的节点为
bigdata3,bigdata4,bigdata5
  • 安装服务的配置文件属性设置(根据提示设置安装服务的必须属性,注意HDFS的NameNode和DataNode节点目录不能设置为home/目录)
  • 显示配置信息
 
配置信息1.png

 
配置信息2.png

 
配置信息3.png
  • 开始安装部署服务(安装各个服务,并且完成安装后会启动相关服务,安装过程比较长,如果中途出现错误,请根据具体提示或者log进行操作)
  • 安装完成后,Ambari面板如下:


     
    ambari面板.png

四 总结

  • ambari机器需要外网IP地址
  • 如果需要搭建内网hdp yum 源,需要去官网下载hdp 和ambari [1]
  • HDP下安装的 Spark的在Yarn-cluster模式下,个人觉得应该在bigdata3,bigdata4,bigdata5 安装spark slaves服务,但是和我们单独安装spark模式不同,这里master和slave节点上的服务相同(都是Spark History Server),后面继续学习。
  • Ambari infra和Ambari Metrics的作用需要深入了解。
  • 注意HDP2.6.0下的HBase版本比开源社区的版本底很多,开发时尽量用HDP提供的Hbase客户端版本。

参考文章

[1] 官方Ambari安装HDP文档



作者:IIGEOywq
链接:https://www.jianshu.com/p/079a0c98e0bc
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

转载于:https://www.cnblogs.com/xibuhaohao/p/11392541.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值