Hive仓库公安工作中应用研究

  论文编码:

 WZ2014200825

 本科毕业论文

 e Hive 仓库在公安工作中的应用研究

 论 文 作 者:

 关键

 专业 (方向):网络安全与执法(网络犯罪侦查)

 年

  级:

  2015 级

 区

  队:

 20152019

  学

  号:

 2015200672

 指 导 教 师:

  肖 萍 讲师

 完 成 日 期:

  2018 年 4 月 16 日

 中国刑事警察学院本科毕业论文

  I I

 中文摘要(摘要)

 随着互联网的发展,日志信息日趋增多,产生的 PB 甚至 TB 的日志信息已经难以用传统的数据处理方法进行处理。面对海量的数据,Hadoop 的分布式文件系统和 MapReduce 并行计算框架已成当今互联网产业之所需,其高扩展,高可靠,高效率,低成本的性质确立了其在数据处理方面的关键地位,其中 Hadoop 分布式文件系统的多个数据节点(NameNode)共同保存一组数据的特点也保证了数据不会因某个节点发生故障而丢失。Hive 执行 HiveQL语句,作用与数据库中 SQL 语句类似,具有插入,筛选,合并,查询,分析等功能,与复杂的 MapReduce 计算框架不同,Hive 数据仓库主要将重点放在了数据分析领域,这一特点也有助于公安机关利用 Hive 仓库,将海量数据简单化,保证侦查人员高效准确的得到自己想要的信息。面对日益增多的海量数据,基于 Hadoop 平台下的 Hive 仓库必将占据公安工作侦查分析数据方面的一席之地。

 本文主要分为四个部分对 Hive 仓库及其应用进行论述。第一部分对 Hive 仓库和Hadoop 技术的基本概念和主要特点进行概括。第二部分对 Hive 仓库的构建进行了研究,并考虑到构建后相关优化问题。第三部分主要介绍了 Hive 仓库在公安工作中的应用实例,阐述了相关实际案例并探讨 Hive 仓库在其他类型侦查中的应用。第四部分是 Hive 仓库在案件中的应用,通过结合视频监控日志信息,具体阐述了 Hive 数据仓库的应用方法。

 关键词 : Hive 仓库

  Hadoop 技术

  日志信息

 数据分析

 zTree 控件在涉案数据可视化中的应用

  II

 ABSTRACT

 With the popularity and development of the Internet and electronic technology, a tremendous change has taken place in the traditional form of evidence, which is in fact a qualitative move. As a critical evidence form in lawsuits, data involved in the case is inevitably greatly influenced by Internet technology. At present, a high level of visualization degree of case data cannot be fully realized so it is also not prepared to conform to the Interne era. zTree is a multifunctional “tree plug-in” based on jQuery, featuring on outstanding performance, flexible configuration and a combination of multiple functions.This paper is aimed to realize the visualization of data involved in a pyramid selling case based on the in-depth study of zTree, using zTree to design the atlas of group members and show the pattern of staff structure in this pyramid selling case. First, personal information is put into a database. Then a page is required to load node data asynchronously in order to finally demonstrate the hierarchical structure of pyramid sellers. This paper is divided into four parts to discuss zTree control and its application. In the first part, the article summarizes the basic concepts and main features of zTree. In the second part, the paper discusses the research results of zTree, which is mainly divided into five aspects: API document, data format, style file, DOM structure and data loading. The third part introduces the use method of zTree, elaborates the preparation work of zTree and the process of compiling the code, and explains the difficulty of application. The fourth part introduces the application in the case of zTree, by combining pyramid selling case, the article expounds the zTree involved in the application of data visualization methods, this article puts forward the idea of optimization experiment after experiment, and the outlook of involved data visualization.

 Key words:

  ZTree, Load Asynchronously, Pyramid Selling Case

 中国刑事警察学院本科毕业论文

  III

  目录

  引言 ............................................................ 1 1 简介 .......................................................... 2 1.1Hadoop 技术概述和特点 ...................................... 2 1.2Hive 仓库简介与特点 ........................................ 3 2 Hive 仓库的构建方法 ............................................ 4 2.1Hadoop 的构建 .............................................. 4 2.1.1Hadoop 的构建思路 ..................................... 7 2.1.2Hadoop 的系统框架 ..................................... 9 2.1.3Hadoop 的系统的搭建 ................................... 9 2.1.4Hadoop 系统核心文件的配置 ............................. 9 2.2Hive 的构建 ................................................ 9 2.3Hive 环境部署 .............................................. 9 2.4 数据 ETL 自动化

 ........................................... 9 2.5 数据处理实现 .............................. 错误! ! 未定义书签。

 3 Hive 仓库在公安工作中的应用实例实际案例解析

 ......................... 10 3.1 现有信息环境现状 .......................... 错误! ! 未定义书签。

 3.2 数据保护分析 .............................. 错误! ! 未定义书签。

 3.3 方案设计描述 .............................. 错误! ! 未定义书签。

 3.3.1 公安内网设计方案 ..................... 错误! ! 未定义书签。

 zTree 控件在涉案数据可视化中的应用

  IV 3.3.2 公安外网数据中心设计方案 ............. 错误! ! 未定义书签。

 4 应用关键问题研究

 ................................. 错误! ! 未定义书签。

 4.1 档案数量与类型庞大复杂 .................... 错误! ! 未定义书签。

 4.2 需求针对性服务共享困难 .................... 错误! ! 未定义书签。

 4.3 数据资源共享问题 .......................... 错误! ! 未定义书签。

 结语 ............................................ 错误! ! 未定义书签。

 参考文献 ........................................ 错误! ! 未定义书签。

 致谢 ............................................ 错误! ! 未定义书签。

 中国刑事警察学院本科毕业论文

 第 第 1 1 页

  引言

 随着互联网技术的发展,世界大部分地区经济飞速发展,电商平台的访问量日趋增加,TB 甚至 PB 级的日志信息使传统的日志存储方法不在可行,一种新型的数据存储(基于Hadoop 平台下的 Hive 数据仓库)逐渐取代了传统数据仓库,其 Hadoop 分布式处理系统、MapReduce 并行计算及简单的 HiveQL 语言使复杂的操作简单化,其高效、准确的特点也使得公安机关可以依据 Hive 数据仓库分析案件案情、固定犯罪证据,从而保证破案的效率。目前新型网络犯罪正逐步取代传统的犯罪,网络赌博与诈骗案件不胜枚举,数据证据链条与跨地域抓捕成为了公安工作的一大难点,保证涉案数据证据真实准确成了热点问题。Web访问日志中包含了大量的用户行为信息(基于 Hive 的日志仓库构建研究),如访问信息,浏览信息,购买信息,偏好等,通过对这些数据有效建模,可以得到有价值的信息,如用户属性,兴趣爱好,银行账户,交易流水,访问 IP 等,在由 MapReduce 任务对这些数据进行分类,可有效的精确到个体的将数据信息整合,用 HiveQL 查询语言来进行简单的查询便可很快理清犯罪嫌疑人间的人物关系或者违法企业的人员结构,具有较好的公安应用前景。

 zTree 控件在涉案数据可视化中的应用

  第 第 2 2 页

  1 简介

 p 1.1Hadoop 技术概念与特点

 Hadoop 系统来源于 Apache 的 Nutch 项目,是由HDFS(Hadoop Distributed File System)分布式系统和MapReduce并行计算框架合并命名而来。他是一个相对开源的平台,运行于普通服务器组成的集群中,并利用此集群来处理和存储数据。该集群存在一个控制节点NameNode和许多数据节点DataNode。NameNode节点主要管理和控制集群的正常工作,管理DataNode节点的数据存储和计算;DataNode节点主要负责数据的存储和计算,受NameNode节点管理和调动有关数据。MapReduce任务使分布在多个DataNode节点上的数据并行计算成为了可能,该框架有效调度和管理集群中的数据节点来完成并行化数据计算和程序的执行, JobTracker是其中的主控节点,负责数据的管理和调动数据,而计算任务是由其从节点TaskTracker来完成的。Hadoop分布式系统基础框架如图1所示

  Hadoop 是目前应用最为广泛的分布式系统,有着如下优点:

 1.良好的扩展性:海量数据通过同一服务器的不同集群来处理,控制节点 NameNode将大数据分发给集群中的数据节点 DataNode,以此来对数据存储是计算,由此用户便可通过增加服务器的数据节点来对整个集群进行扩展。

 2.高容错性:由于一份数据可以保存在多个数据节点中,所以即使 Hadoop 系统中的应用数据与其他数据 数据库 日志数据 数据集成 数据存储 数据计算 数据分析

 中国刑事警察学院本科毕业论文

 第 第 3 3 页

 某一个节点出现了故障,其也可保证数据的完整性与准确性,为用户提供可靠的数据。

 3.高效性。MapReduce 并行计算框架的存在保证了 Hadoop 系统中的数据可以在各个数据节点中并行计算,这种机制保证了系统处理数据的极高的效率。

 4.成本低。Hadoop 系统可部署在普通计算机集群上,不需要硬件很好的服务器,对硬件配置要求较低。与传统的数据仓库和数据集市不同,不需要昂贵的硬件和软件授权,项目的软硬件成本较低。

 e 1.2Hive 仓库简介

 Hive 是一个架构于 Hadoop 分布式系统上的开源的数据仓库,执行 HiveQL 语言,利用 HiveQL 语言来使 MapReduce 任务得以运行,具有类似 SQL 语言的功能。Hive 能够将结构化数据转化成二维的数据表,具有选择、插入、合并、子查询等功能,使用户可以分析查询结构化数据。

 e 1.3Hive 仓库特点

 1.数据集成。由于 Hive 仓库中各数据来源于不同渠道,而不同的数据有不同的存储和处理方式,所以在面对不同种类数据的时候,要先进行相应的数据格式转换与汇总,以便于数据的汇总分析查询。

 2.相对稳定。Hive 数据仓库的数据是一次写入多次读取,不支持修改,因此其中的数据具有相对稳定性。

 3.较高的灵活性。Hive 仓库支持自定义函数,用户可以根据自己的需求去定义函数。

 4.大数据处理。由于 Hive 仓库架构在 Hadoop 上,而 HDFS 分布式文件系统具有较高延迟,故 Hive 的延迟相对较高,适合高吞吐量,海量的数据批量分析、查询、处理等。

 e 1.4Hive 仓库体系结构

  Hive 仓库体系结构如图 2。

 zTree 控件在涉案数据可视化中的应用

  第 第 4 4 页

 由上图可知由上图可知,Hadoop 和 MapReduce 是 Hive 架构的根基。Hive 架构包括如下组件:CLI(命令行接口)、JDBC/ODBC、Thrift Server、WEB GUI(网络接口)、驱动(包含翻译、编辑器)。其中驱动中组件为服务端组件,用于服务用户,将用户写的 HiveQL语句编译执行,使得 MapReduce 复杂繁琐的操作得以简化,其任务得以运行。

 2 Hive 仓库的构建方法

 由于 Hive 是搭建在 Hadoop 平台上的一个数据仓库,故搭建 Hive 仓库之前要先用本机构建 Hadoop 平台,其后再构建 Hive 仓库。

 p 2.1Hadoop 平台的构建

  1.VMware 创建新虚拟机,通过 iso 文件安装 CENOS7 系统,选择 cenos64 位。然后官网下载 jdk 文件,因为我的主机是 64 位操作系统,所以对应下载 jdk-8u65-linux-x64.tar.gz 文件,由于是 tar 压缩文件,要将此文件上传到 linux 服务器/usr/local 目录下,进入目录(cd /usr/local)并解压,修改目录名称为 jdk1.8.0_65 jdk,设置好坏境变量,后加入 JAVA_HOME=/usr/local/jdk export JRE_HOME=/usr/local/jdk/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH 然后保存退出,测试显示成功。

 而后克隆两个虚拟机 H2、H3,将三台虚拟机的 IP 修改在同一网段 2. 下载 Hadoop 并设置 Hadoop 环境变量,而后修改四个配置文件 修改 core-site.xml,加上名称节点的 ip 地址和端口 <property>

 <name>fs.defaultFS</name>

 <value>hdfs://h1:9000</value>

 </property>

 <property>

 <name>hadoop.tmp.dir</name>

 <value>file:/usr/local/hadoop-2.7.1/tmp</value>

 </property>

 <property>

 <name>io.file.buffer.size</name>

 <value>131702</value>

 </property> 修改 hdfs-site.xml <property>

  <name>dfs.namenode.name.dir</name>

  <value>file:/usr/local/hadoop-2.7.1/dfs/name</value>

 中国刑事警察学院本科毕业论文

 第 第 5 5 页

 </property>

  <property>

  <name>dfs.datanode.data.dir</name>

  <value>file:/usr/local/hadoop-2.7.1/dfs/data</value>

  </property>

  <property>

  <name>dfs.replication</name>

  <value>2</value>

  </property>

  <property>

  <name>dfs.namenode.secondary.http-address</name>

  <value>h1:9001</value>

  </property>

  <property>

  <name>dfs.webhdfs.enabled</name>

  <value>true</value>

 </property> 修改 mapred-site.xml <configuration>

 <property>

  <name>mapreduce.framework.name</name>

  <value>yarn</value>

  </property>

  <property>

  <name>mapreduce.jobhistory.address</name>

  <value>h1:10020</value>

  </property>

  <property>

  <name>mapreduce.jobhistory.webapp.address</name>

  <value>h1:19888</value>

  </property> </configuration> 修改 yarn-site.xml <property>

  <name>yarn.nodemanager.aux-services</name>

  <value>mapreduce_shuffle</value> </property> <property>

  <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>

  <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property>

  <name>yarn.resourcemanager.address</name>

  <value>h1:8032</value>

 zTree 控件在涉案数据可视化中的应用

  第 第 6 6 页

 </property> <property>

  <name>yarn.resourcemanager.scheduler.address</name>

  <value> h1:8030</value> </property> <property>

  <name>yarn.resourcemanager.resource-tracker.address</name>

  <value> h1:8031</value> </property> <property>

  <name>yarn.resourcemanager.admin.address</name>

  <value> h1:8033</value> </property> <property>

  <name>yarn.resourcemanager.webapp.address</name>

  <value> h1:8088</value> </property> <property>

  <name>yarn.nodemanager.resource.memory-mb</name>

  <value>768</value> </property> 修改 hadoop-env.sh、yarn-env.sh 的 JAVA_HOME export

 JAVA_HOME=/usr/local/jdk

  (6)修改 slaves 文件,加上从服务器

 vi slaves

 h2

 h3 (7)将 H1 主机中文件夹" hadoop-2.7.1"读权限分配给 grip 用户

 chown -R grip:grip /usr/local/hadoop-2.7.1/

 (8)配置成功后,将 hadhoop 目录复制到各个从服务器上

  在 root 用户下进行以下操作:

  scp -r /usr/local/hadoop-2.7.1

 root@h2:/usr/local/

  scp -r /usr/local/hadoop-2.7.1

 root@h3:/usr/local/

  在 h2、h3 主机中将文件夹" hadoop-2.7.1"读权限分配给 grip 用户

  chown -R grip:grip /usr/local/hadoop-2.7.1/ 格式化 namenodeHDFS 文件系统

 (1)主服务器 H1 上执行进行初始化

  切换到普通用户 grid

  su

 grid

  cd /usr/local/hadoop-2.7.1

 ./bin/hdfs namenode -format

 (2)启动停止集群

 sbin 目录下执行 ./start-all.sh

  sbin 目录下执行 ./ stop-all.sh

 中国刑事警察学院本科毕业论文

 第 第 7 7 页

  (3)使用 jps 查看后台进程是否成功启动

  cd /usr/local/jdk

  ./bin/jps

 2.1.1e Hive 的构建

 下载解压 hive,要求与 Hadoop 版本兼容的版本 上传至/usr/local 目录内,解压,修改/etc/profile 文件,添加 hive 环境变量 export JAVA_HOME=/usr/local/jdk export HIVE_HOME=/usr/local/hive-2.1.1 export HADOOP_HOME=/usr/local/hadoop-2.7.1 export JRE_HOME=/usr/local/jdk/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$HIVE_HOME/lib:$HADOOP_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$PATH

 source /etc/profile 使环境变量生效 配置 Hive 配置文件重命名 在运行 Hive 之前需要使用以下命令修改配置文件: cd /usr/local/hive/conf cp hive-env.sh.template hive-env.sh cp hive-default.xml.template hive-site.xml cp hive-log4j2.properties.template hive-log4j2.properties cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties (1)修改 hive-env.sh{第一个环境配置文件} 因为 Hive 使用了 Hadoop, 需要在 hive-env.sh 文件中指定 Hadoop 安装路径:

 export JAVA_HOME=/usr/local/jdk

 ##Java 路径 export HADOOP_HOME=/opt/hadoop

  ##Hadoop 安装路径 export HIVE_HOME=/opt/hive

 ##Hive 安装路径 export HIVE_CONF_DIR=/opt/hive/conf

 ##Hive 配置文件路径 (2)创建 HDFS 目录 在 Hive 中创建表之前需要创建以下 HDFS 目录并给它们赋相应的权限。

 hdfs dfs -mkdir -p /usr/hive/warehouse hdfs dfs -mkdir -p /usr/hive/tmp hdfs dfs -mkdir -p /usr/hive/log hdfs dfs -chmod g+w /usr/hive/warehouse hdfs dfs -chmod g+w /usr/hive/tmp

 zTree 控件在涉案数据可视化中的应用

  第 第 8 8 页

 hdfs dfs -chmod g+w /usr/hive/log hdfs dfs -ls /usr/hive 命令确定查看 3 个目录是否成功建立 (3)修改 hive-site.xml{第二个配置文件} 将 hive-site.xml 文件中以下几个配置项的值设置成上一步中创建的几个路径。

 <property><name>hive.exec.scratchdir</name><value>/user/hive/tmp</value><description>HDFS root scratch dir f (4)Hive Metastore 默认情况下, Hive 的元数据保存在内嵌的 Derby 数据库里, 但一般情况下生产环境会使用 MySQL 来存放 Hive 元数据。

 创建数据库和用户 假定你已经安装好 MySQL。下面创建一个 hive 数据库用来存储 Hive 元数据,且数据库访问的用户名和密码都为 hive。

 mysql> CREATE DATABASE hive;

 mysql> USE hive;

 mysql> CREATE USER "hive"@"localhost" IDENTIFIED BY "hive"; mysql> GRANT ALL ON hive.* TO "hive"@"localhost" IDENTIFIED BY "hive";

 mysql> GRANT ALL ON hive.* TO "hive"@"%" IDENTIFIED BY "hive";

 mysql> FLUSH PRIVILEGES;

 mysql> quit; (5)修改 hive-site.xml{第二个配置文件}中的配置 MySQL 数据库连接信息。

 <property>

  <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>

  </property>

  <property>

  <name>javax.jdo.option.ConnectionDriverName</name>

  <value>com.mysql.jdbc.Driver</value>

  </property>

  <property>

  <name>javax.jdo.option.ConnectionUserName</name>

  <value>hive</value>

  </property>

  <property>

  <name>javax.jdo.option.ConnectionPassword</name>

  <value>hive</value>

  </property> (6)替换 hive-site.xml{第二个配置文件}中的临时目录信息。

 将 hive-site.xml 中的所有 ${system:java.io.tmpdir} 和 ${system:user.name} 分别替换成 /tmp 和 ${user.name} (7)修改 hive-log4j2.properties{第三个配置文件} #vi hive-log4j2.properties

 修改日志目录 property.hive.log.dir=/usr/local/hive-2.1.1/log/

 chgrp girp usr/local/hive-2.1.1/log/

  //修改目录权限

 中国刑事警察学院本科毕业论文

 第 第 9 9 页

 chown grip usr/local/hive-2.1.1/log/ 4、启动运行 Hive # start-dfs.sh//在命令行运行 hive 命令时必须保证 HDFS 已经启动 # schematool -initSchema -dbType mysql

 //运行 schematool 命令初始化

 2.1.2

 2.1.3

 2.1.4

 2.1.5

 2.2

  2.32.4

 zTree 控件在涉案数据可视化中的应用

  第 第 0 10 页

推荐访问:仓库 公安 研究