版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南商务职业技术学院毕业设计
目录
1项目背景1
1.1项目的背景1
1.2项目的意义1
2大数据平台框架介绍1
2.1Hadoop框架2
2.1.1HDFS存储技术2
2.1.2MapReduce编程框架2
2.1.3Yarn资源调度器2
2.2Hive框架2
2.3Sqoop框架3
2.4Zookeeper框架3
2.5Hbase框架3
3系统框架设计3
3.1框架版本选型3
3.2系统技术架构4
3.3Hadoop分布式集群的网络和节点规划5
3.4Zookeeper集群部署规划5
3.5Hbase集群规划5
3.6离线数仓设计6
3.6.1数据仓库介绍6
3.6.2数据仓库分层6
3.6.3数据仓库设计6
3.7Web客户端设计9
4系统实现9
4.1Hadoop大数据集群部署9
4.1.1JDK配置9
4.1.2搭建Hadoop集群完全分布式10
4.1.3Hive安装配置18
4.1.4Zookeeper完全分布式集群搭建22
I
湖南商务职业技术学院毕业设计
4.1.5Hbase完全分布式24
4.1.6Sqoop安装配置26
4.2离线数仓的实现27
4.2.1Hive集成hbase27
4.2.2创建普通表29
4.2.3创建以省分区表30
4.2.4创建索引提高查询效率30
4.3Web客户端实现30
4.3.1开发环境准备30
4.3.2创建查询界面32
4.3.3创建查询处理后台34
4.3.4封装一个字段类,用于存储获取到的字段,并于后面调用
35
4.3.5创建查询类,连接hive并查询获取数据38
4.3.6创建列表界面42
5测试44
5.1启动Hadoop集群44
5.1.1验证(查看是否启动成功)44
5.1.2Web端访问45
5.2Zookeeper集群启动45
5.3启动Hbase集群45
5.4启动hive46
5.5数据传输46
5.6Hive分析疫情数据48
5.7Web客户端连接Hive51
6小结54
II
湖南商务职业技术学院毕业设计
基于hive的新冠疫情数据离线分析系统设计
1项目背景
1.1项目的背景
数据信息时代的到来为大数据技术的发展提供了极好的时机。技术的快速
发展也促进了互联网产业的繁荣与壮大。互联网企业要想生存下去,就必须利
用好技术跟上时代的脚步。随着大数据的出现,数据的变化越来越快、数据的
规模越来越大,采用大数据框架势在必行。
1.2项目的意义
2020年至2022年是新冠疫情最为煎熬的三年,在这三年里无数人失去了
生命,无数人为抗击疫情前赴后继,而在此期间产生了大量的疫情数据,我们
可以通过对这些数据的查询分析,更为直观的见证这场战争的惨烈与它的蔓延
趋势。
2大数据平台框架介绍
大数据生态:
图2-1大数据生态图
1
湖南商务职业技术学院毕业设计
2.1Hadoop框架
2.1.1HDFS存储技术
随着数据量的增加,海量的数据无法保存在单个独立的操作系统。此时就
将数据分配给其他系统的磁盘中,但面对的主要问题就是维护和管理。HDFS
(Hadoop分布式文件系统)即通过目录树确定文件的用于存储文件的文件系
统,它具有高吞吐量率(HighThroughputRate)、高容错
(HighFaultTolerance)、高扩展性(HighScalability)、高可靠性
(HighReliability)等特点。其存储方式为大容量数据提供了高容灾性,给大规
模数据集(LargeDataSet)的应用处理带来了很多方便。
2.1.2MapReduce编程框架
MapReduce一个采用Java开发的分布式离线计算编程架构。其核心作用
是将用户自定义编写的Map与Reduce两个阶段逻辑层面的代码与其框架默认
组件整合到一个分布式离线计算的程序中,并在Hadoop集群上运行。其中,
Map阶段主要负责将获取的数据进行拆分,Reduce阶段负责聚合处理来自
map端的结果。
2.1.3Yarn资源调度器
Yarn属于整个框架中最重要的部分,资源调度管理平台
(ResourceSchedulingManager)主要为应用程序提供所需的资源和资源的管
理。在整个框架中,Yarn相当于一个分布式操作系统平台,而MapReduce等
运算程序则相当于在操作系统上方运行的应用程序。
2.2Hive框架
Hive是Facebook的开源软件用来解决大量结构化日志的数据统计工具,
其是基于Hadoop的离线数仓开发框架。它可以将有规律的、符合二维表格存
储的数据文件映射为二维表,并提供支持类SQL语法进行数据查找。其本质是
将底层的MapReduce程序转换映射为HQL从而便于查询,而数据则通过
YARN存储在HDFS上以执行程序运行。
2
湖南商务职业技术学院毕业设计
2.3Sqoop框架
Sqoop是一款各数据库之间导入导出的传输工具。主要用于在数据仓库与
传统的数据库间进行数据的传递,既可以将存储在HDFS中的Hive表数据传输
到MySQL关系型数据库中,同时也支持相互传输。其原理是将导入或导出命令
转换为MapReduce程序,从而具有较高的并行性能和良好的容错能力。
2.4Zookeeper框架
为分布式应用提供协调服务,也是一个分布式小文件系统,并且被设计为
高可用性,主要作用于分布式数据管理:命名一致,状态一致,集群管控,配置
一致等。
Hadoop的不少组件都需要用到Zookeeper,运行于集群上管控hadoop操
作。
2.5Hbase框架
HBase是一个创建在hdfs上的NoSql数据库,它的行列式结构可快速存储
和访问海量数据。
3系统框架设计
3.1框架版本选型
本系统采用开源软件Apache框架且是当前大数据行业中较为成熟、稳定
的版本。能够提高开发效率、降低开发成本,便于初学者解决框架中遇到的问
题。版本选型如表3-1所示。
表3-1框架版本选择
框架(Apache)版本
Hadoop2.7.3
Hive2.3.4
Sqoop1.4.6
Zookeeper3.7.0
Hbase1.4.0
3
湖南商务职业技术学院毕业设计
3.2系统技术架构
离线数仓系统如图3-1所示,主要由数据获取、数据传输、数据仓库、
web前端四大功能模块组成。
1)数据获取:
数据源从国家疫情网站获取2020年1月23日至2022年12月17日的疫
情数据以天为单位存储为csv文件。
2)数据传输:
通过SecureFX将数据传输入Linux本地,或者将csv文件导入mysql,再
通过Sqoop框架迁移至HDFS。
3)数据仓库:
Hive可以直接创建数据库与数据表用于加载本地数据,并进行查询与分
析,为使对巨量数据拥有更为稳定的查询速度,我们可以将hive与hbase集
成,创建hive与hbase的关联表,该表的对外接口为hive但数据源却位于
hbase,它同时具有hive的类SQL语句,hbase所不具备的复杂数据分析能
力,hbase对海量数据更为强大的读写能力。
Hive与HBase集成后可以看作是低延时的数据仓库。可以利用HBase的快
速读写能力完成数据实时查询,也可以使用Hive查询HBase中的数据以完成复
杂的数据分析。
4)建立javaWeb项目:
创建查询客户端,通过用户输入的查询选项传入对应的sql语句,该sql语
句由hive处理将ETL操作加载至hbase,hbase再从hdfs查询数据,再将结果
反馈回前端呈现为表格数据。
图3-1系统架构图
4
湖南商务职业技术学院毕业设计
3.3Hadoop分布式集群的网络和节点规划
i网络规划
表3-2网络规划
主机名IP地址节点类型
bigdata6master
bigdata017slave1
bigdata028slave2
ii节点规划
表3-3节点规划
服务bigdatabigdate01bigdata02
NameNode√
SecondaryNameNode√
DataNode√√√
ResourceManager√
NodeManager√√√
JobHistoryServer√
3.4Zookeeper集群部署规划
表3-4zookeeper规划
bigdatabigdata01bigdata02
zookeeperzookeeperzookeeper
3.5Hbase集群规划
表3-5hbase规划
主机名IP地址职责
bigdata6HBase主节点
bigdata017HBase备用节点
5
湖南商务职业技术学院毕业设计
3.6离线数仓设计
3.6.1数据仓库介绍
数据仓库(DataWarehouse)是为企业的所有决策提供系统数据支持的重要集
合。数据仓库是一个集成的(Integrated)、稳定的(Stable)、面向主题的
(Subject-Oriented),能够根据时刻改变的数据集合。它有以下特性:面向主
题:数据仓库中的数据基于一个明确的主题,只存储与主题相关的数据,并排
除其他不相关的数据。集成的:从不同的数据源采集数据到同一个数据源。稳
定的:长期的历史数据的内容能够稳定的存放在数据仓库中并不会轻易变化,
数据存入数仓后一般之进行查询操作,并且没有频繁的删改操作。随时间变
化:某些关键的数据需要基于时间的变化才能为企业提供决策。
3.6.2数据仓库分层
本系统将数据仓库分为ODS、DWD、DWS、DWT、ADS五层。如图4-1
所示。
1)以便把复杂问题简单化,方便定位问题。
2)减少重复开发。
3)隔离原始数据。
各层的作用如下:
1)ODS层:原始数据层,负责存放原始数据,直接将数据存储,原封不动
即可。
2)DWD层:明细数据层,清理、脱敏ODS层数据,保存详细数据,与原
始数据层的粒度与结构相似。
3)DWM层:数据中间层,对数据做一些轻微的聚合操作。
4)DWS层:服务数据层,基于DWD的数据分表。
5)ADS层:数据应用层,为各种统计报表提供数据。
3.6.3数据仓库设计
i数据仓库-ODS
原始数据层(ODS)是数据仓库中保存数据起备份数据的部分,为的是优
化下层数据处理的难易程度。ODS层的数据粒度是最小的粒度。如各省份每个
城市的基础数据表共361张。
6
湖南商务职业技术学院毕业设计
搭建ODS层表时由于数据庞大且重要,所有建表需要考虑以下条件:
1)数据采用压缩,减少存储空间。通常采用LZO进行压缩因其压缩/解压
速度较快且支持切片。
2)保存数据原貌不做任何修改,起备份作用。
ii数据仓库-DWD层
明细数据层(DWD)
该层保持和ODS层一样的数据颗粒度;主要是对ODS数据层做一些数据
的清洗和规范化的操作,比如去除空数据、脏数据、离群值等。
为了提高数据明细层的易用性,该层通常会才采用一些维度退化方法,将
维度退化至事实表中,减少事实表和维表的关联。
例如:去除疫情数据中新增确诊、新增治愈、新增死亡,这些容易导致数
据失真的记录,形成一张更加高质量的表。
iii数据仓库-DWM层
该层是在DWD层的数据基础上,对数据做一些轻微的聚合操作,生成一
些列的中间结果表,提升公共指标的复用性,减少重复加工的工作。
1)创建分区表,防止对海量数据进行全表扫描。
2)创建外部表,提供数据的安全性与可靠性,防止误删等操作。
3)融合类型一致、字段一致的表。
例如,因为所有省份各城市的疫情数据表字段都一致,可将它们反复加载
进一张表中,最终字段表3-6所示:
表3-6普通表
字段名数据类型是否为主键是否可为空含义
shengfenstring否否省份
citystring否否城市
yiqingdatedate否否日期
leiji_quezhenint否否累计确诊
xinzeng_quezhenint否否新增确诊
leiji_zhiyuint否否累计治愈
xinzeng_zhiyuint否否新增治愈
leiji_siwangint否否累计死亡
7
湖南商务职业技术学院毕业设计
xinzeng_siwangint否否新增死亡
xinzeng_wuzhenzhuangint否否新增无症状
xinzeng_bentuquezhenint否否新增本土确诊
iv数据仓库-DWS层
该层是基于DWM上的基础数据,整合汇总成分析某一个主题域的数据服
务层,一般是宽表,用于提供后续的数据查询,OLAP分析,数据分发等。
一般来说,该层的数据表会相对较少;一张表会涵盖比较多的需求数据,
由于其字段较多,因此一般也会称该层的表为宽表。
例如:获取2020年每月确诊人数大于50的城市,将这些数据整合成月度
高风险城市表。
v数据仓库-ADS
数据应用层(ADS)作为数据仓库的最后一层,存储数据的粒度最高,该
层主要是提供给数据产品和数据分析使用的数据,一般会存放在ES、Redis、
PostgreSql等系统中供线上系统使用;也可能存放在hive或者Druid中,供数
据分析和数据挖掘使用,比如常用的数据报表就是存在这里的。
本系统的该层将所有城市表,省份表通过hive融合在一起并集成hbase作
为外部客户端的对接查询表,具体字段如下:
表3-7hive、hbase关联表
字段名数据类型是否为行键是否可为空含义
idint行键否序号
shengfenstring否否省份
citystring否否城市
yiqingdatedate否否日期
leiji_quezhenint否否累计确诊
xinzeng_quezhenint否否新增确诊
leiji_zhiyuint否否累计治愈
xinzeng_zhiyuint否否新增治愈
leiji_siwangint否否累计死亡
xinzeng_siwangint否否新增死亡
xinzeng_wuzhenzhuangint否否新增无症状
8
湖南商务职业技术学院毕业设计
xinzeng_bentuquezhenint否否新增本土确诊
3.7Web客户端设计
客户端具体设计思路:
1)创建查询界面,获取用户输入数据。
2)创建查询处理后台,将用户输入数据转为参数,为查询类调用。
3)创建查询类、封装类,查询类与hive连接发送sql语句,封装类暂存数
据。
4)创建列表界面,将用户需求数据以列表形式进行呈现。
设计流程如图3-2:
图3-2设计流程图
4系统实现
4.1Hadoop大数据集群部署
4.1.1JDK配置
1)将jdk-8u131-linux-x64.tar.gz,通过SecureFX传到Linux虚拟主机
2)解压安装jdk:
tar–zxvfjdk-8u131-linux-x64.tar.gz
mvjdk1.8.0_131/usr/local/bigdata/
如果系统默认安装了openjdk,使用whichjava查找Java安装目录,然
后卸载:rm–rf/bin/java(Java安装目录)
3)编辑~/.bashrc配置,把JDK加入系统环境变量
vi~/.bashrc
打开文件后,在文件末尾追加如下代码:
exportJAVA_HOME=/usr/local/bigdata/jdk1.8.0_131
exportJRE_HOME=${JAVA_HOME}/jre
exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
9
湖南商务职业技术学院毕业设计
exportJAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
exportPATH=$PATH:${JAVA_PATH}
按ESC,输入:wq保存退出
4)让~/.bashrc生效
source~/.bashrc
5)确认JDK安装成功
java–version
4.1.2搭建Hadoop集群完全分布式
i网络配置、修改主机名、配置网络映射
1)修改网络配置文件
三台都要修改
vi/etc/sysconfig/network-scripts/ifcfg-ens33
图4-1网络配置
2)主机名配置
直接删除以前的,添加当前节点主机名(三台都要修改)
vi/etc/hostname
3)配置网络映射
vi/etc/hosts
在文件最后添加ip地址主机名(每一台虚拟机上都要配置,如下三行都要
添加)
6bigdata
10
湖南商务职业技术学院毕业设计
7bigdata01
8bigdata02
4)重启网络服务:
servicenetworkrestart
ii设置SSH无密码登录节点
1)执行命令在本机生成公钥、私钥和验证文件
ssh-keygen-trsa
2)执行命令将登录信息复制到验证文件
ssh-copy-idbigdata#bigdata为主机名
ssh-copy-idbigdata01#bigdata01为主机名
ssh-copy-idbigdata02#bigdata02为主机名
iii安装Hadoop
1)解压
解压hadoop-2.7.3.tar.gz,重命名为hadoop
tar-zxvfhadoop-2.7.3.tar.gz
mkdir/usr/local/bigdata
mvhadoop-2.7.3hadoop
mvhadoop/usr/local/bigdata/hadoop
(配置文件时均在hadoop的主目录下操作)
进入Hadoop主目录:cd/usr/local/bigdata/hadoop
2)配置Hadoop的环境变量
设置HADOOP环境变量,执行如下命令在~/.bashrc中修改:
vim~/.bashrc
在文件最后面增加如下内容:
exportHADOOP_HOME=/usr/local/bigdata/Hadoop
exportHADOOP_INSTALL=$HADOOP_HOME
exportHADOOP_MAPRED_HOME=$HADOOP_HOME
exportHADOOP_COMMON_HOME=$HADOOP_HOME
exportHADOOP_HDFS_HOME=$HADOOP_HOME
exportYARN_HOME=$HADOOP_HOME
11
湖南商务职业技术学院毕业设计
exportHADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
exportPATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
保存后,执行如下命令使配置生效:
source~/.bashrc
iv配置分布式集群环境(6个配置文件)
对于Hadoop分布式集群模式的搭建,需要配置的文件有:
环境变量配置文件:hadoop-env.sh、yarn-env.sh、mapred-env.sh
全局核心配置文件:core-site.xml
HDFS配置文件:hdfs-site.xml
YARN配置文件:yarn-site.xml
MapReduce配置文件:mapred-site.xml、slaves
1、修改/etc/hadoop/hadoop-env.sh
定位25行,配置自己的jdk路径。
2、修改/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/bigdata/hadoop/data/tmp</value>
</property>
</configuration>
3、修改/etc/hadoop/hdfs-site.xml
<configuration>
<!--配置NameNode的http访问地址和端口号-->
<property>
<name>node.http-address</name>
<value>bigdata:50070</value>
</property>
<!--配置SecondaryNameNode的http访问地址和端口号-->
12
湖南商务职业技术学院毕业设计
<property>
<name>node.secondary.http-address</name>
<value>bigdata01:50090</value>
</property>
<!--hdfs副本数量-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<!--配置存放NameNode的目录-->
<name>.dir</name>
<value>file:/usr/local/bigdata/hadoop/tmp/dfs/name</value>
</property>
<property>
<!--配置存放DataNode存放的目录-->
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/bigdata/hadoop/tmp/dfs/data</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
4、修改/etc/hadoop/yarn-site.xml
<configuration>
<property>
<!--指定ResourceManager运行于哪个节点上-->
<name>yarn.resourcemanager.hostsname</name>
<value>bigdata</value>
</property>
<property>
<!--指定ResourceManager服务器的web地址与端口-->
13
湖南商务职业技术学院毕业设计
<name>yarn.resourcemanager.webapp.address</name>
<value>bigdata:8088</value>
</property>
<property>
<!--指定NodeManager启动时加载的server方式-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<!--指定使用的mapreduce_shuffle中的类-->
<name>yarn.nodemanager.aux-
services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<!--设置是否使用日志聚合功能-->
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<!--设置聚合日志于HDFS上最长储存时间-->
<name>yarn.log-aggregation.retain-seconds</name>
<value>106800</value>
</property>
<property>
<!--指定日志的聚合目录-->
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>/root/data/logs</value>
</property>
</configuration>
5、修改/etc/hadoop/mapred-site.xml
用已有mapred-site.xml.template复制出一个mapred-site.xml。
复制命令:
14
湖南商务职业技术学院毕业设计
cp/usr/local/bigdata/hadoop/etc/hadoop/mapred-site.xml.template
/usr/local/bigdata/hadoop/etc/hadoop/mapred-site.xml
文件里配置:
<configuration>
<property>
<!--指定MapReduce框架运行于YARN上面-->
<name></name>
<value>yarn</value>
</property>
<property>
<!--设置MapReduce历史服务器安装的位置与其端口号-->
<name>mapreduce.jobhistory.address</name>
<value>bigdata02:10020</value>
</property>
<property>
<!--设置历史服务器web页面地址与端口-->
<name>mapreduce.jobhistory.webapp.address</name>
<value>bigdata02:19888</value>
</property>
<property>
<!--设置存储日志文件的临时路径-->
<name>ermediate-done-dir</name>
<value>${hadoop.tmp.dir}/mr-history/tmp</value>
</property>
<property>
<!--设置存储运行日志的最终目录-->
<name>mapreduce.jobhistory.done-dir</name>
<value>${hadoop.tmp.dir}/mr-history/done</value>
</property>
</configuration>
6、修改/etc/hadoop/slaves
添加所有节点主机名bigdata、bigdata01、bigdata02。
15
湖南商务职业技术学院毕业设计
v分发Hadoop集群安装目录及文件
在主节点上安装和配置好hadoop系统,并且其他子节点完成ssh的安
装、免密登录等,就可以把在bigdata上配置好的Hadoop和linux环境配置文
件分派给其他节点。
拷贝主节点已安装的hadoop分别到bigdata01和bigdata02两台节点
scp-r/usr/local/bigdata/hadooproot@bigdata01:/usr/local/bigdata/
scp-r/usr/local/bigdata/hadooproot@bigdata02:/usr/local/bigdata/
拷贝linux环境配置文件到分别到bigdata01和bigdata02两台节点
scp-r~/.bashrcroot@bigdata01:~/
scp-r~/.bashrcroot@bigdata02:~/
拷贝主节点的jdk到bigdata01和bigdata02两台节点
scp-r/usr/local/bigdata/jdk1.8.0_131
root@bigdata01:/usr/local/bigdata/
scp-r/usr/local/bigdata/jdk1.8.0_131
root@bigdata02:/usr/local/bigdata/
vi格式化NameNode
在启动hadoop集群前,需要先格式化NameNode,在Master主机下执行
格式化命令:
hdfsnamenode-format
vii配置时间同步
Hadoop的主节点与各子节点的时间都得同步才行。下面通过配置时间同
步服务器(NTP)来进行时间同步。
我们主要以bigdata作为NTP服务器,子节点bigdata01和bigdata02每
10分钟与bigdata进行同步一次。
1)安装NTP服务器
查看是否安装NTP服务,如果出现ntp-x.x.x和ntpdate-x.x.x则不需要再安
装
rpm-qa|grepntp
安装命令:
yuminstall-yntp#使用yum在线安装
16
湖南商务职业技术学院毕业设计
修改配置文件ntp.conf
vi/etc/ntp.conf
①启用restrice,修改网段
删除restrice前的注释,修改为自己的网段
restrictmasknomodifynotrap
②注释掉四行server域名,再添加两行,如下所示:
#server0.iburst
#server1.iburst
#server2.iburst
#server3.iburst
server
fudgestratum10
③修改配置文件ntpd
vi/etc/sysconfig/ntpd
于第2行这里添加SYNC_HWCLOCK=yes
SYNC_HWCLOCK=yes
④启动NTP服务
servicentpdstart#启动NTP服务
chkconfigntpdon#开机自启动,永久启动
2)配置其他机器的时间同步
需要保证子节点里面也安装了NTP,然后开始配置子节点与主节点同步时
间。以下操作两个子节点上配置(分别配置一遍):
①在ntp.conf文件注释掉四行server域名配置,其后添加一行:server
bigdata
②修改配置文件ntpd,此操作和前面的NTP服务器中配置一样
③启动时间同步
启动NTP服务:
servicentpdstart&chkconfigntpdon
3)测试集群间的时间同步
通过命令查看集群简的时间是否同步
date'+%Y-%m-%d%H:%M:%S'
显示格式为“年-月-日时:分:秒”,若三台时间都显示的一样,即时间同步
完成。后面再重启虚拟机看看各节点有没有时间同步。
17
湖南商务职业技术学院毕业设计
4.1.3Hive安装配置
i软件准备
通过SecureFX传至虚拟机
MySQL-client-5.5.30-1.linux2.6.x86_64.rpm
MySQL-server-5.5.30-1.linux2.6.x86_64.rpm
apache-hive-2.3.4-bin.tar.gz
mysql-connector-java-5.1.48.jar
iimysql安装
安装mysql
rpm–ivhMySQL-client-5.5.30-1.linux2.6.x86_64.rpm
mysql配置
1)启动mysql服务:
servicemysqlstart
2)创建root用户密码:
用户名root,密码hive
/usr/bin/mysqladmin–urootpassword‘hive’
3)登录mysql:
mysql–uroot–p
4)创建数据库hive:
createdatabasehive
5)创建用户及授权:(给hive数据库授权)
createuser‘hive’@’%’identifiedby‘hive’;
grantallprivilegeson*.*to‘hive’@’%’withgrantoption;
6)授权生效:
flushprivileges;
7)设置mysql开机自启动
chkconfigmysqldon
18
湖南商务职业技术学院毕业设计
iiihive安装
解压:
tar–zxvfapache-hive-2.3.4-bin.tar.gz
重命名为hive:
mvapache-hive-2.3.4-binhive
mvhive/usr/local/bigdata/hive
cd/usr/local/bigdata/hive/conf
配置hive环境:
1)修改配置文件hive-env.sh:
将$hive/conf目录下的hive-env.sh.template更名为hive-env.sh
cphive-env.sh.templatehive-env.sh
vihive-env.sh
设置HADOOP_HOME为HADOOP的安装路径:
exportHADOOP_HOME=/usr/local/bigdata/hadoop
配置HIVE_CONF_DIR为hive安装目录:
exportHIVE_CONF_DIR=/usr/local/bigdata/hive/conf
2)修改配置文件hive-site.xml:
把hive/conf路径下的hive-default.xml.template复制两份,一份更名为
hive-site.xml,一份更名为hive-default.xml
cphive-default.xml.templatehive-site.xml
vihive-site.xml
打开hive-site.xml,添加:
若配置文件代码太多用简版site文件替换
<property>
<name>hive.exec.scratchdir</name>
<value>/tmp/hive</value>
</property>
<!--默认的存储位置-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
19
湖南商务职业技术学院毕业设计
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/usr/local/bigdata/hive/downloaded</value>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/usr/local/bigdata/hive/scratchdir</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://6:3306/hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
hive为用户名
hive为用户密码
3)配置perties:
cpperties.templateperties
20
湖南商务职业技术学院毕业设计
viperties
hive.log.dir=/usr/local/bigdata/hive/log/${}
hive.exec.local.scratchdir和hive.downloaded.resources.dir为本地
目录,需要手动创建/usr/local/bigdata/hive/downloaded和
/usr/local/bigdata/hive/scatchdir,日志文件也需要手动在本地创建
/usr/local/bigdata/hive/log
4)删除$HADOOP_HOME/share/hadoop/yarn/lib目录下的jline*.jar,将
$HIVE_HOME/lib/jline-2.12.jar复制到
$HADOOP_HOME/share/hadoop/yarn/lib目录下
($HADOOP_HOME相当于/usr/local/bigdata/Hadoop)
cd/usr/local/bigdata/hive/lib/
cpjline-2.12.jar
/usr/local/bigdata/hadoop/share/hadoop/yarn/lib/
5)将mysql-connector-java-5.1.48.jar复制到$HIVE_HOME/lib目录下
(/usr/local/bigdata/hive/lib)
cd~
cpmysql-connector-java-5.1.48.jar/usr/local/bigdata/hive/lib/
6)配置环境变量
vi~/.bashrc
在末尾增加两行:
exportHIVE_HOME=/usr/local/bigdata/hive
exportPATH=$PATH:$HIVE_HOME/bin
7)使环境变量生效:
source~/.bashrc
8)hive测试
启动hadoop:start-dfs.sh
start-yarn.sh
启动hive(hive安装目录下):
hi会出现提示mysql未初始化等错误信息导致无法启动,执行:
bin/schematool–initSchema–dbTypemysql
完成后再启动hive:
bin/hive
21
湖南商务职业技术学院毕业设计
4.1.4Zookeeper完全分布式集群搭建
i安装Zookeeper
通过SecureFX将apache-zookeeper-3.7.0-bin.tar.gz传至虚拟机。
解压
tar-zxvfapache-zookeeper-3.7.0-bin.tar.gz-C
/usr/local/bigdata/zk
配置zook.cfg文件
cd/usr/local/bigdata/zk/conf
mvzoo-sample.cfgzoo.cfg
修改zoo.cfg,添加如下配置:
dataDir=/usr/local/bigdata/zk/zkdata#修改数据存储路径配置
在最后添加加以下配置:
server.1=bigdata:2888:3888
server.2=bigdata01:2888:3888
server.3=bigdata02:2888:3888
配置服务器编号
cd/usr/local/bigdata/zk#进入Zookeeper家目录
mkdirzkdata#创建zkdata目录
vimzkdata/myid#创建并编辑一个myid的文件
在myid文件中添加与server对应的编号1,分别在bigdata01、bigdata02
上修改myid文件中内容为2、3。
修改环境变量:
vim~/.bashrc
在后面添加:
exportZK_HOME=/usr/local/bigdata/zk
exportPATH=$ZK_HOME/bin:$PATH
完成后执行:source~/.bashrc
配置文件分发
cd/usr/local/bigdata/
scp-rzkroot@bigdata01:/usr/local/bigdata/
scp-rzkroot@bigdata02:/usr/local/bigdata/
22
湖南商务职业技术学院毕业设计
scp-r~/.bashrcroot@bigdata01:~/
scp-r~/.bashrcroot@bigdata02:~/
注意在其他节点执行:source~/.bashrc
zookeeper群启脚本
cd/home/tan/#进入用户家目录
mkdirbin#新建一个bin目录
vim/bin/zk.sh#编写脚本
chmod+xzk.sh#赋予可执行权限
zk.sh脚本代码编写如下:
#!/bin/bash
case$1in
"start"){
foriinbigdatabigdata01bigdata02
do
echo"$i"
ssh$i"/usr/local/bigdata/zk/bin/zkServer.shstart"
done
};;
"stop"){
foriinbigdatabigdata01bigdata02
do
echo"$i"
ssh$i"/usr/local/bigdata/zk/bin/zkServer.shstop"
done
};;
"status"){
foriinbigdatabigdata01bigdata02
do
echo"$i"
ssh$i"/usr/local/bigdata/zk/bin/zkServer.shstatus"
done
};;
esac
23
湖南商务职业技术学院毕业设计
下次运行可直接在主节点输入:/home/tan/bin/zk.shstart或zk.shstop或
zk.shstatus
4.1.5Hbase完全分布式
i安装hbase
1)将hbase-1.4.0-bin.tar.gz,通过SecureFX传至虚拟机
2)解压
tar–zxvfhbase-1.4.0-bin.tar.gz
3)重命名为hbase
mvhbase-1.4.0-binhbase
mvhbase/usr/local/bigdata/hbase
4)添加全局环境变量
vim~/.bashrc
exportHBASE_HOME=/usr/local/bigdata/hbase
exportPATH=$HBASE_HOME/bin:$PATH
完成后执行:source~/.bashrc
ii配置hbase集群
配置hbase集群,要修改4个文件,copy
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年一级造价师之建设工程技术与计量(交通)题库含答案(a卷)
- 江苏省盐城市东台盐都2025届中考一模生物试题含解析
- 2024年09月内蒙古浦发银行呼和浩特分行社会招考(99)笔试历年参考题库附带答案详解
- 2024年09月全国2024年中银富登村镇银行校园招考笔试历年参考题库附带答案详解
- 农村群众文化建设工作培训
- 安徽省江淮十校2025届中考生物最后一模试卷含解析2
- 2024年09月2024渤海银行广州分行校园招聘笔试历年参考题库附带答案详解
- 2024年09月2024届中国民生银行金融租赁秋季校园招聘笔试历年参考题库附带答案详解
- 2024年09月2024中国银行小语种培养岗位校园招聘10人笔试历年参考题库附带答案详解
- 2024年08月苏州银行零售银行总部企划综合部招聘1人笔试历年参考题库附带答案详解
- 2025年四川长宁县城投公司招聘笔试参考题库含答案解析
- 2024年06月上海广发银行上海分行社会招考(622)笔试历年参考题库附带答案详解
- TSG 51-2023 起重机械安全技术规程 含2024年第1号修改单
- 计算机科学导论
- 浙江省杭州市钱塘区2023-2024学年四年级上学期英语期末试卷
- 《工程勘察设计收费标准》(2002年修订本)
- 2024年一级消防工程师《消防安全技术综合能力》考试真题及答案解析
- 2024-2025学年六上科学期末综合检测卷(含答案)
- 安徽省森林抚育技术导则
- 2023七年级英语下册 Unit 3 How do you get to school Section A 第1课时(1a-2e)教案 (新版)人教新目标版
- 泌尿科主任述职报告
评论
0/150
提交评论