1、南京第五十五所技术开发有限公司 1版本:先电 Cloud-BigData-v2.1发布日期:2017 年 02 月 21 日南京第五十五所技术开发有限公司先电大数据平台用户手册用户手册用户手册2版本修订说明修订版本 修订时间 修订说明XD-BigData-v1.3 2015 年 10 月 28 日 先电大数据平台用户册XD-BigData-v1.3.1 2016 年 1 月 19 日 增加 GRE、VLAN 网络的部署方法XD-BigData-v1.4 2016 年 4 月 12 日 为防止与 Java Web 中MapReduce 开发混淆。删除hadoop 案例开发XD-BigData-v
2、2.0 2016 年 11 月 1 日 更新基于 Ambari 版本 2.2.2.0二次开发的 hadoop 平台XD-BigData-v2.0.1 2016 年 12 月 30 日 更新镜像中与 perl 版本不兼容问题的解决办法;XD-BigData-v2.0.2 2017 年 01 月 10 日 升级系统版本为 centos7,升级 HDP 版本至 2.4。XD-BigData-v2.0.3 2017 年 02 月 13 日 更新软件包 logoXD-BigData-v2.0.5 2017 年 02 月 21 日 更新软件包 logo,修改文档“8.2.2 基于项目的协同过滤”表格参数X
3、D-BigData-v2.1 2017 年 04 月 21 日 更新用户手册南京第五十五所技术开发有限公司第 3 页 共 80 页目 录1 概述 .51.1 大数据简介 .51.2 先电大数据平台简介 .52 基本环境配置 .62.1 配置主机名 .72.2 修改 hosts 文件 .72.3 修改 yum 源 .72.4 配置 ntp .82.5 配置 SSH.92.6 禁用 Transparent Huge Pages .92.7 安装配置 JDK.103 配置 ambari-server.113.1 安装 MariaDB 数据库 .113.2 安装配置 ambari-server.124
4、 配置 ambari-agent .145 部署管理 Hadoop 集群 .145.1 部署 Hadoop 集群 .145.2 HDFS 运维管理 .215.3 MapReduce.316 部署 Hive 数据仓库 .336.1 部署 Hive .336.1 Hive 用户指南 .357 部署 Hbase 分布式列数据库 .457.1 部署 HBase .457.2 测试验证 .477.3 HBase 用户指南 .47南京第五十五所技术开发有限公司第 4 页 共 80 页8 部署 Mahout 数据挖据工具 .538.1 部署 Mahout.538.2 测试验证 .549 部署 Pig 数据分
5、析平台 .559.1 部署 Pig.559.2 Pig 简介 .559.3 运行案例 .56南京第五十五所技术开发有限公司第 5 页 共 80 页1 概述1.1 大数据简介“大数据”是一个体量特别大,数据类别特别庞杂的数据集合,并且这样的数据集无法用传统数据库工具或常规软件工具抓取、管理和处理其内容。大数据技术是指从各种各样类型的庞杂数据中,快速的获取有价值的信息的能力。适用于大数据的技术包括大规模并行处理数据库,数据挖掘电网,分布式文件系统,分布式数据库,云计算平台和可扩展的存储系统。Apache 的 Hadoop 项目是可靠的、可扩展的、开源的、分布式计算软件。Apache 的Hadoop
6、 软件库是允许通过相对简单的程序模型构建计算集群为庞大的数据集进行分布式计算的框架。Hadoop 的设计思想可以将计算模式从单节点服务器扩展为数以千计的计算集群,每一个单独的服务器都提供自主的本地计算及存储能力。对于高可用指标而言,Hadoop 软件库自身可以通过检测和故障调试从应用层来实现高可用而不需要关心硬件底层的高可用性。所以提供一个计算集群上层的高可用服务对于集群故障修复而言就显得至关重要。1.2 先电大数据平台简介先电大数据平台是基于 Ambari 进行二次开发的 Hadoop 分布式集群配置管理工具,该平台通过安装向导来进行集群的搭建,简化了集群供应。同时,他还有一个监控组件,叫做
7、 Ambari-Metrics,可以提前配置好关键的运维指标( metrics) ,然后收集集群的中服务、主机等运行状态等信息,通过 WEB 的方式显示出来。我们可以直接查看 Hadoop Core(HDFS 和 MapReduce)及相关项目(如 HBase、Hive 和 HCatalog)是否健康。它的用户界面非常直观,用户可以轻松有效地查看信息并控制集群。先电大数据平台支持作业与任务执行的可视化与分析,能够更好地查看依赖和性能。通过一个完整的 RESTful API 把监控信息暴露出来,集成了现有的运维工具。平台使用Ganglia 收集度量指标,用 Nagios 支持系统报警。南京第五十
8、五所技术开发有限公司第 6 页 共 80 页图 1.1 Ambari 结构图其中 Ambari 是一个分布式架构的软件,主要由两部分组成:Ambari Server 和 Ambari Agent,如图 1-1 所示。Ambari Server 会读取 Stack 和 Service 的配置文件。当用 Ambari 创建集群的时候,Ambari Server 传送 Stack 和 Service 的配置文件以及 Service 生命周期的控制脚本到 Ambari Agent。Agent 拿到配置文件后,会下载安装公共源里软件包(Redhat ,就是使用 yum 服务) 。安装完成后,Ambari
9、 Server 会通知 Agent 去启动 Service。之后 Ambari Server 会定期发送命令到 Agent 检查 Service 的状态,Agent 上报给 Server,并呈现在 Ambari 的 GUI 上,方便用户了解到集群的各种状态,并进行相应的维护。图 1-1 Ambari 架构图2 基本环境配置以两台节点为例来组件 Hadoop 分布式集群,这里采用的系统版本为 Centos7,如下表所示:主机名 内存 硬盘 IP 地址 角色master 8192MB 100G 192.168.200.131 Ambari-Serverslaver1 4096MB 100G 192
10、.168.200.133 Ambari-Agent南京第五十五所技术开发有限公司第 7 页 共 80 页2.1 配置主机名# master# hostnamectl set-hostname master# hostnamemaster# slaver1# hostnamectl set-hostname slaver1# hostnameslaver12.2 修改 hosts 文件# master & slaver1# vi /etc/hosts192.168.200.131 master192.168.200.133 slaver12.3 修改 yum 源# master将 XianDia
11、n-BigData-v2.0.2-BASE.iso 挂在到/mnt 目录下,将其中的 ambari 解压到/opt目录下,并在 master 节点配置 ftp 服务。 注意:因为安装大数据相关软件包时,可能会用到相关依赖软件包,所以需要配置 Centos7 Yum源,这里可以采用 IAAS 中的 Centos7 Yum 源。# master & slaver1# cd /etc/yum.repos.d/# rm -vf *配置 Yum 源# vi ambari.repo 南京第五十五所技术开发有限公司第 8 页 共 80 页centos7baseurl=ftp:/192.168.2.10/ce
12、ntos7/( 注:具体的 yum 源根据真实环境配置,本次为实验室测试环境 )gpgcheck=0enabled=1name=centosambariname=ambaribaseurl=ftp:/10.0.3.61/ambari( 注:具体的 yum 源根据真实环境配置,本次为实验室测试环境 )enabled=1gpgcheck=0# master# yum -y install httpd将/mnt/文件夹中 HDP-2.4-BASE 和 HDP-UTILS-1.1.0.20 两个文件夹拷贝到/var/www/html/目录下。启动 httpd 服务。# systemctl enable
13、 httpd.service# systemctl status httpd.service2.4 配置 ntp# master# yum -y install ntp# vi /etc/ntp.conf注释或者删除以下四行server 0.centos.pool.ntp.org iburstserver 1.centos.pool.ntp.org iburstserver 2.centos.pool.ntp.org iburst南京第五十五所技术开发有限公司第 9 页 共 80 页server 3.centos.pool.ntp.org iburst添加以下两行server 127.127.
14、1.0 fudge 127.127.1.0 stratum 10#systemctl enable ntpd#systemctl start ntpd# slaver1# yum -y install ntpdate# ntpdate master# systemctl enable ntpdate2.5配置 SSH# master & slaver1检查 2 个节点是否可以通过无密钥相互访问,如果未配置,则进行 SSH 无密码公钥认证配置。如下:# yum install openssh-clients# ssh-keygen# ssh-copy-id master.hadoop# ssh-
15、copy-id slaver1.hadoopssh 登录远程主机查看是否成功# ssh master.hadoop# exit# ssh slaver1.hadoop# exit2.6 禁用 Transparent Huge Pages操作系统后台有一个叫做 khugepaged 的进程,它会一直扫描所有进程占用的内存,在可能的情况下会把 4kpage 交换为 Huge Pages,在这个过程中,对于操作的内存的各种分配活动都需要各种内存锁,直接影响程序的内存访问性能,并且,这个过程对于应用是透明南京第五十五所技术开发有限公司第 10 页 共 80 页的,在应用层面不可控制,对于专门为 4k
16、page 优化的程序来说,可能会造成随机的性能下降现象。# master & slaver1# cat /sys/kernel/mm/transparent_hugepage/enabledalways madvise never# echo never /sys/kernel/mm/transparent_hugepage/enabled# echo never /sys/kernel/mm/transparent_hugepage/defrag# cat /sys/kernel/mm/transparent_hugepage/enabledalways madvise never重启后失效
17、,需要再次执行2.7 安装配置 JDK# master # mkdir /usr/jdk64/ # mount -o loop XianDian-BigData-v2.0.2-BASE.iso /mnt/# cd /mnt/# tar -zxvf jdk-8u77-linux-x64.tar.gz -C /usr/jdk64/# vi /etc/profileexport JAVA_HOME=/usr/jdk64/jdk1.8.0_77export PATH=$JAVA_HOME/bin:$PATH# source /etc/profile#java versionjava version “1.8.0_77“Java(TM) SE Runtime Environment (build 1.8.0_77-b03)Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)# slaver1#mkdir /usr/jdk64/#scp 172.24.14.106:/mnt/jdk-8u77-linux-x64.tar.gz .# tar -zxvf jdk-8u77-linux-x64.tar.gz -C /usr/jdk64/