· rtf filefinalstr = word; // ......

88
文文文文 文文文文文文 https://www.wenkuxiazai.com/ 本本本本本本本本本本本 本本本 本本 ,,: http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html 文文文文文文文文文文文文文文 本本 Hadoop 本本本本本本本本本本本本本本本本本 TP311 10422 本本 本本本本本 本本 Hadoop 本本本本本本本本本本本本本本本 本本 and implementation of the platform of operation and maintenance log collection and analysis based on Hadoop 本本本本 本本本本 本本本本 本本本本

Upload: truongdien

Post on 11-Jul-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

文库下载 免费文档下载https://www.wenkuxiazai.com/

  本文档下载自文库下载网,内容可能不完整,您可以点击以下网址继续阅读或下载:http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html

日志采集分析平台的设计与实现基于 Hadoop 的运维日志采集分析平台的设计与实现

分类号: TP311 单位代码:10422

密 级: 学 号:

硕士学位论文 论文题目:基于 Hadoop 的运维日志采集分析平台的设计与

实现and implementation of the platform of operation and maintenance log collection and analysis based on Hadoop

作 者 姓 名

学 院 名 称

专 业 名 称

指 导 教 师

合 作 导 师

文库下载 免费文档下载https://www.wenkuxiazai.com/

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

原 创 性 声 明

本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人承担。

论文作者签名: 日 期:

关于学位论文使用授权的声明

本人同意学校保留或向国家有关部门或机构送交论文的印刷件和电子版,允许论文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存论文和汇编本学位论文。

(保密论文在解密后应遵守此规定)

文库下载 免费文档下载https://www.wenkuxiazai.com/

论文作者签名: 导师签名: 日 期:

目 录

摘 要 ...................................................................................................................http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html............. I ABSTRACT ................................................................................................................. II

第 1 章 绪 论 .............................................................................................................. 1

.1 研究背景及意义 ........................................................................................ 1

.2 国内外相关研究 ........................................................................................ 2

.3 论文主要工作 ............................................................................................ 3

.4 论文结构 .................................................................................................... 3

第 2 章 系 统 架 构 设 计 .................................................................................................. 5

.1 平 台 整 体 架 构 .....................................................................................http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html....... 5

.2 数据加载子系统 ........................................................................................ 6

文库下载 免费文档下载https://www.wenkuxiazai.com/

.3 运维日志关联分析子系统 ........................................................................ 7

.4 本章小结 .................................................................................................... 9

第 3 章 系统详细设计 ................................................................................................ 10

.1 数据存储方案设计 .................................................................................. 10

.1.1

.1.2

.2.1

.2.2

.3.1

.3.2

.3.3

.3.4

.3.5 数据类型 .................................................................................. 10 数据访问接口 .......................................................................... 11 数 据 接 入 模 块 设 计 .................................................................. 13 数 据 落 地 模 块 设 计 ..http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html.................

............................................... 15 数 据 预 处 理 模 块 设 计

文库下载 免费文档下载https://www.wenkuxiazai.com/

.............................................................. 16 特 征 训 练 模 块 设 计

.................................................................. 16 流 日 志 分 类 模 块 设 计

.............................................................. 17 离 线 日 志 分 类 模 块 设 计

.......................................................... 18 频 繁 项 集 挖 掘 模 块 设 计

.......................................................... 19 3.2 数 据 加 载 子 系 统 设 计

.............................................................................. 12 3.3 运维日志关联分析子系统设计 .............................................................. 16

.4 本章小结 .................................................................................................. 19

第 4 章 系统实现与测试 ............................................................................................ 21

.1 数 据 加 载 子 系 统 ...................................................................http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html................... 21

.1.1

数据接入模块 .......................................................................... 21

.1.2

.2.1

.2.2

.2.3

.2.4

.2.5 数据落地模块 ......................................................................... 26 数据预处理模

文库下载 免费文档下载https://www.wenkuxiazai.com/

块 ..................................................................... 27 特 征 训 练 模 块 ......................................................................... 30 流 日 志 分 类 模 块 ..................................................................... 32 离 线 日 志 分 类 模 块 ................................................................. 33 频 繁 项 集 挖 掘 模 块 ................................................................. 35 4.2 运 维 日 志 关 联 分 析 子 系 统 ...................................................................... 27

.3 本章小结 .................................................................................................. 37

第 5 章 搭 建 Hadoop 平 台 ....................http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html..................................................................... 38

.1 集群规划 .................................................................................................. 38

.2 部署前准备 .............................................................................................. 39

.2.1

.2.2

.2.3

.2.4

.2.5

.2.6

.2.7

文库下载 免费文档下载https://www.wenkuxiazai.com/

.2.8

.2.9

.2.10 修改主机名 ............................................................................. 39 配置并同步hosts 文 件 ........................................................... 39 安 装 并 配 置clush .................................................................... 39 配 置 免 登 陆 ............................................................................. 41 关 闭 iptables 及selinux .......................................................... 41 删 除 旧 版 本 的 rpm 包 ............................................................. 42 安 装 配 置 HTTPD 服 务 ...http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html................

....................................... 42 发 布 HTTPD 内 容

.................................................................. 43 分 发 yum 配 置 文 件

................................................................ 46 安 装 MySQL JDBC 驱 动

........................................................ 46

.3安装CM-Server ....................................................................................... 47

.4 分发 CDH 包 ........................................................................................... 48

.5安装CDH服务 ....................................................................................... 51

.5.1

.5.2

.5.3

.5.4 安 装 ZOOKEEPER ................................................................. 51 安 装HDFS .............................................................................. 52 安 装

文库下载 免费文档下载https://www.wenkuxiazai.com/

YARN ............................................................................. 54 安装 HIhttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlVE ............................................................................... 55

.6 本章小结 .................................................................................................. 57

第 6 章 结 论 ............................................................................................................... 58

参 考 文 献 ..................................................................................................................... 59

致 谢 ......................................................................................................................... 61

Abstract ............................................................................................................. I ABSTRACT .................................................................................................................. II1 Introduction .............................http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html...................................................................... 1

.1 Research Background and Significance ..................................................... 1

.2 Related research at home and abroad ......................................................... 2

.3 The main work of the paper ........................................................................ 3

.4 Paper structure ............................................................................................ 32 System architecture design ............................................................................ 5

.1 Platform integrated architecture ................................................................. 5

文库下载 免费文档下载https://www.wenkuxiazai.com/

.2 Data loading subsystem .............................................................................. 6

.3 Operation and maintenance log correlation analysis subsystemhttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html ................ 7

.4 Summary ..................................................................................................... 93 System detailed design .............................................................................. 10

.1 Data storage scheme design ...................................................................... 10

.1.1

.1.2 Data type ................................................................................... 10 ADO .......................................................................................... 11

.2 Data loading subsystem design ................................................................. 12

.2.1

.2.2 Data access module design ........................................................ 13 Data landing module design ...................................................... 15

.3 Design of subsystem of ohttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlperation and maintenance log correlation..................................................................................................................... 16

.3.1

.3.2

文库下载 免费文档下载https://www.wenkuxiazai.com/

.3.3

.3.4

.3.5of data preprocessing module ....................................... 16 Feature training module .......................................................... 16 Stream log classification module .............................................. 17 Offline log classification module .............................................. 18 Frequent item set mining module .............................................. 19

.4 Summary .................................................................................................. 194 System implementation and testing .......................................................... 21

.1 Data loading subsystem design http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html................................................................ 21

.1.1

.1.2 Data access module design ....................................................... 21 Data landing module design ..................................................... 26

.2 Log correlation analysis subsystem ......................................................... 27

.2.1

.2.2

.2.3

.2.4

文库下载 免费文档下载https://www.wenkuxiazai.com/

.2.5 Design of data preprocessing module ....................................... 27 Feature training module ............................................................ 30 Stream log classification module .............................................. 32 Offline log classification module .............................................. 33 Frequent item set mining module ............................................. 34

.3 Summary .......................................................................http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html........................... 365 Build Hadoop Platform ............................................................................... 37

.1 Cluster planning ....................................................................................... 37

.2 Pre deployment preparation ..................................................................... 38

.2.1

.2.2

.2.3

.2.4

.2.5

.2.6

.2.7

.2.8

.2.9

文库下载 免费文档下载https://www.wenkuxiazai.com/

.2.10 hostname ................................................................................... 38 Configure and sync hosts files .................................................. 38 Install and configure clush ........................................................ 38 Configuration free login ........................................................... 40 Close iptables and selinux ..........................................http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html.............. 40 Delete the old version of the RPM package ............................. 41 Installation and configuration of HTTPD services……………41 Publish HTTPD content ............................................................ 42 Distribute Yum configuration file ............................................. 45 Install MySQL JDBC Driver ................................................... 45

.3 Install CM-Server ..................................................................................... 46

.4 Distribution CDH package ....................................................................... 47

.5 Install CDH services ................................................................................ 50

.5.1

.5.2

.5.3ZOOKEEPER ................................................................ 50 Install HDFS ...................................................http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html.......................... 51 Install YARN ............................................................................. 53

.5.4 Install HIVE .............................................................................. 54

.6 Summary ................................................................................................... 566 Conclusion ................................................................................................... 57................................................................................................................... 58

文库下载 免费文档下载https://www.wenkuxiazai.com/

………………………………………………………………………………..60

摘要

随着云计算和大数据技术的发展,政府和企业搭建了越来越多的数据中心来运行各种各样的业务系统。业务系统规模迅速增加,节点数达到几万台甚至更多,运维日志规模随之急剧增加,缺乏有效的分析框架。各业务系统硬件由多厂家提供,软件由多家厂商开发,日志格式及日志形式多种多样,缺乏统一的接入机制。报警日志大量重复,同一故障引发系统间日志重复出现,缺乏数据合并机制。对系统产生的运维日志数据缺乏关联分析和深度利用,运维的 智 能 化 程 度 低 。 一 直 以 来 日 志 分 析 都 是 反 映 应 用 系 统 的 运 行 状 况 和用 http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html 户行为的重要途径,尤其是目前互联网技术的发展,针对日志的分析处理增加了很多的创新方向。针对各运维系统间数据独立存储,缺乏关联分析的不足之处,迫切需要对运维日志进行统一的组织管理,对日志、系统指标进行关联分析和融合,挖掘关联规则[1],构建关联规则知识库。对系统运行状态和故障进行提前预测,及时发现系统故障。

本文主要的工作内容是,研究多源异构日志接入和大数据计算框架技术,构建海量运维日志采集分析平台,支持多种格式、各种形态运维日志的分布式统一采集存储能力,并支持海量日志的离线分析和在线实时处理。本文的成果是搭建完成了一个基于 Hadoop 的分布式日志采集分析平台,设计了一套支持多种格式、多种来源分布式日志采集存储方案,提供了支持运维大数据分析的基础支撑框架,提供了统一接口,支持运维分析业务;提供异构日志的统一接入框架,并支持接入过程的实时处理。完成了对于运维日志关联分析系统的设计与实现。 关键词:日志采集;关联分析;Hadoop;Spark;Kafka

文库下载 免费文档下载https://www.wenkuxiazai.com/

the development of cloud computing and big data technology, Government and enterprises build more and more data centers to run a variety of business system. Business system is rapidly increasing, the number of nodes reaches tens of thousands or even more, and the operation and maintenance log size increases rapidly, and the lack of effective analysis framework. The hardware of each business system is provided by many manufacturers, the software is devhttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmleloped by several manufacturers, the log format and the various forms of the log, the lack of a unified access mechanism. A large number of repeated alarm logs, the same failure caused by repeated logs between the system appears, the lack of data consolidation mechanism. The system generated by the operation and maintenance of the data is not related to the analysis and depth of the use of the data, operation and maintenance of low intelligence.the log analysis is an important way to reflect the application of the operational status of the system and user behavior, especially the development of Internet technology, according to the analysis log increases the innovation direction of many. According to the operation and maintenance of the system of independent data storage, lack of correlation analysis of the shortcomings, there is an urgent need of unified organization and management on the operation and maintenanhttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlce of the log, to log and system evaluation indexes by correlation analysis and fusion, mining association rules [1], to construct an association rules knowledge base. Predict the system operation status and fault in advance, and find the system fault in time.collection of log files need to support distributed cluster, and log data from multiple cluster machines. At the same time, log data acquisition needs to be processed by the log file in real-time. When the log size is large, it is needed to store and process the data in a distributed platform. Hadoop[2] a development and operation for processing large-scale data distributed platform. It is a Java open source software framework, using a lot of ordinary computer can be composed of clusters of massive amounts of data in distributed computing. The Hadoop framework has two core designs: HDFS and MapReduce[3]. HDFS

文库下载 免费文档下载https://www.wenkuxiazai.com/

provides massive data storage, MapReduce provides thttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlhe calculation of the data. Spark[4] is a new distributed IIcomputing framework. It has the advantages of Hadoop MapReduce, but unlike MapReduce is it can be saved the intermediate output of the job in memory, thus avoiding the read and write delay caused by HDFS and therefore spark than Hadoop MapReduce have better iterative data processing performance, can be better applicable to data mining and machine learning, iterative algorithm implementation.main work of this dissertation is to study the multi-source heterogeneous logs access and data calculation framework technology, building massive maintenance log collection analysis platform, support a variety of formats, various forms of operation and maintenance log distributed unified acquisition and storage capacity, and to support massive logs offline analysis and online real-time processing. Goal is to build a based on Hadoop distributed log collecthttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlion analysis platform, design a variety of formats, multiple sources log distributed acquisition and storage solutions, provides support for the operation and maintenance of large data analysis based framework, provides a unified interface; operation and maintenance support business analysis; provide unified access framework of heterogeneous logs, and supports real-time processing in an access process. The design and implementation of the system for the operation and maintenance log correlation analysis is completed. Key

words:Log collection; Correlation analysis; Hadoop; Spark; Kafka III

山东大学硕士学位论文

第 1 章 绪 论

.1 研究背景及意义

随着云计算和大数据技术的发展,政府和企业搭建了越来越多的数据中心来运行各种各样的

文库下载 免费文档下载https://www.wenkuxiazai.com/

业务系统。伴随着业务系统规模迅速增加,集群节点数达到几百上千台甚至更多,运维日志规模随之急剧增加。一直以来日志分析都是反映应用系统的运行状况和用户行为的重要途径,尤其是目前互联网技术的发展,针对日志的分析处理增加了很多创新方向,比如个性化推荐,用户行为分析等等。针对各运维系统间数据独立存储,缺乏关联分析的不足之处,迫切需要对运维日志进行统一的组织管理,以备后期进行数据挖掘和关联分析,构筑智能运维系统。

对 于 日 志 文 件 的 采 集 需 要 支 持 分 布 式 的 集 群 , 从 多 个 集 群 机 器 http://

www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html 进行日志采集。同时日志采集需要对日志文件进行类似流处理的增量实时采集。当日志规模很大时,需要分布式平台对数据进行存储和处理。Hadoop[2]是一个开发和运行处理大规模数据的分布式平台,它是一个用 Java语言的实现开源软件框架,利用大量普通计算机组成可以对海量数据进行分布式计算的集群。Hadoop框架有两个最核心设计:HDFS 和 MapReduce[3]。HDFS

提供海量数据的存储,MapReduce提供对数据的计算。Spark[4]是一个新的分布式内存计算框架,它拥有 Hadoop MapReduce 所具有的优点,但与 MapReduce 不同的是它可以将 Job 的中间输出结果保存在内存中,从而避免了读写 HDFS 所带来的延迟,因此 Spark

比Hadoop MapReduce 有更好的迭代式数据处理性能,能更好地适用于数据挖掘与机器学习等需要迭代的算法实现。

业务数据来源和数据存储介质各有不同,具体包括 Oracle 数据库、MySQL 数据库、文本文件、网络数据等。如何将这些多源异构的分布式日志数据收集在一起,并提供高效的离线和在线海量数据处理能力,是目前研究一个的热点问题。

山东大学硕士学位论文

.2 国内外相关研究

文库下载 免费文档下载https://www.wenkuxiazai.com/

在云计算和大数据时代,各大公司的集群规模和数据量爆发式增长,而与此同时,集群出现的各类故障和异常也与日俱增,给运维带来巨大的挑战。百度已经建立起了六大数据仓库之一的运维数据仓库,囊括了服务器、网络、系统、程序、变更等各个方面的实时及历史状态数据,每天更新数据量接近 100TB,基于对这些数据的分析和挖掘,百度开展了多个项目和应用。

而国外大公司已经开源了很多强大的日志收集系统,Flume[5]是提供的日志收集系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种 Storage。Flume 是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。提供对数据进行简单处理,并写到各种数据接 受 方 ( 可 定 制 ) 的 能 力 Flume 提 供 了 从 console ( 控 制 台 ) 、RPC(Thrihttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlft-

RPC)、text(文件)、tail(UNIX tail)、syslog(syslog 日志系统,支持 TCP 和 UDP

等 2种模式),exec(命令执行)等数据源上收集数据的能力。是 Facebook开源的日志采集系统,它为日志的分布式收集,统一处理提供一个可扩展的,高容错的简单方案。[6]是 Linkedin 于 2010年 12月份开源的消息系统,它主要用于处理活跃的流式数据。活跃的流式数据在 web 网站应用中非常常见,这些数据包括网站的 pv、用户访问了什么内容,搜索了什么内容等。 这些数据通常以日志的形式记录下来,然后每隔一段时间进行一次统计处理。

传统的日志分析系统提供了一种离线处理日志信息的可扩展方案,但若要进行实时处理,通常会有较大延迟。而现有的消(队列)系统能够很好的处理实时或者近似实时的应用,但未处理的数据通常不会写到磁盘上,这对于 Hadoop之类(一小时或者一天只处理一部分数据)的离线应用而言,可能存在问题。Kafka正是为了解决以上问题而设计的,它能够很好地离线和在线应用。是 Hadoop框架下的一个可以用于海量数据处理的并行编程模式。最初是由谷歌提出的一

文库下载 免费文档下载https://www.wenkuxiazai.com/

种支持大数据处理的计算框架,能够在普通的

山东大学硕士学位论文

计算机上实现并行化处理。Apache Spark 是一种内存数据处理框架,目前已经升级成为Apache 的顶级项目,它将数据尽可能放到内存中以提高迭代应用和交互式应用的计算效率。Spark 目前已经拥有一个庞大的用户和贡献者社区。它更加符合下一代低延迟、实时处理、迭代计算的大数据应用的要求。

.3 论文主要工作

目前公司保障处已存在多套业务系统,其业务数据来源和数据存储介质各有不同,具体包括Oracle 数据库、MySQL 数据库、文本文件等。为了提高数据利用价值,增强运维手段,亟需 将 现 有 业 务 数 据 存 储 到 Hadoop , 进 行 集 中 管 理 , 并 能 支 持MapReduce、Spark、Hive、SparkSQL等多种计算引擎及接口。

本 论 文 的 主 要 工 作 是 研 究 Cloudera CDH

对 http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlHadoop

平台的封装,能够利用 CDH 搭建灵活易扩展的 Hadoop 集群,并介绍其搭建过程。

研究多源异构日志加载技术,支持多种格式、各种形态日志数据的分布式统一加载,设计并实现了支持海量日志采集的数据加载系统,提供关系型数据库数据、文本文件、监测日志数据、统计数据与告警数据等多类型数据的加载服务,为用户提供多种数据接入方式,可以按照业务数据的自定义格式进行自定义加载。

研究分布式计算框架和存储技术,为上层运维分析业务提供基础分布式计算和存储能力,提供标准化接口,支持运维分析业务的持续构建。提供统一的数据存储和数据管理接口,对运维日志进行离线聚类和在线实时分类处理的能力。

文库下载 免费文档下载https://www.wenkuxiazai.com/

研究日志关联分析技术,针对运维日志设计并实现用于系统日志与告警日志关联关系挖掘的日志关联分析系统,利用 Spark 内存计算框架实现运维日志的离线和在线日志关联分析功能。

.4 论文结构

第 1 章绪论,主要介绍运维日志采集分析平台的研究背景、国内外研究现状以及本文的主要工作。

山东大学硕士学位论文

第 2 章主要系统的介绍了运维日志采集分析平台总体架构设计,以及每个模块的概要设计。

第 3 章重点介绍了平台对于数据存储方案、数据加载子系统以及运维日志关联分析子系统的详细设计。

第 4 章主要介绍了对数据加载子系统以及运维日志关联分析子系统的实现与测试。

第 5 章主要介绍了基于 Cloudera CDH 的 Hadoop 平台的搭建过程及其组件的安装步骤。

第 6 章是对论文研究内容及结果的整体总结和结论。

山东大学硕士学位论文

第 2 章 系统架构设计

文库下载 免费文档下载https://www.wenkuxiazai.com/

.1 平台整体架构

该系统将平台架构进行分解,形成分布式数据接入层、分布式存储服务层、分布式计算框架层和数据分析层。每一层次具有该层的 API 接口,供其他层次或其他外部系统调用,以满足自定义开发需求,平台架构层次如图 2-1 所示:

图 2-1 平台系统架构图

论 文 的 工 作 主 要 在 分 http://www.wenkuxiazai.com/doc/

b221583bf90f76c660371ab9.html布式数据接入层和数据分析层展开,如图 2-1 所示,针对如关系型数据、文本文件、脚本采集数据及自定义业务生成数据等多源异构数据的接入问题,我们在设计了数据加载子系统,该系统设计了多种数据接入方案来满足不同业务的需求。

针对运维日志关联分析问题,我们在数据分析层设计了运维日志关联分析子系统,该系统可以利用分布式计算框架层的多种计算框架,对运维日志提供离线和在线日志关联分析能力。

同时论文的一个亮点是,在分布式存储服务层,平台提供了统一的数据访问方式,即HCatalog 分布式数据管理工具,该方式能够屏蔽底层的数据存储格式,提供统一的数据和模式访问接口。

[此处图片未下载成功]

下面对数据加载子系统和运维日志关联分析子

山东大学硕士学位论文

文库下载 免费文档下载https://www.wenkuxiazai.com/

系统进行简要的介绍。

.2 数据加载子系统

数据加载子系统提供关系型数据库数据、文本文件、监测日志数据、统计数据与告警数据等多类型数据的加载服务。提供了多种数据接入方式,可以按照业务数据的自定义格式进行自定义加载。系统以 Kafka 集群作为数据的中间存储平台,根据业务需求将数据加载子系统分为数据接入模块和数据落地模块两部分。具体架构如图 2-2 所示:

[此处图片未下载成功]

图 2-2 数据加载子系统模块设计

数据接入模块负责从多源异构数据源采集数据,发送到 Kafka 集群进行缓存;数据落地模块定时执行从 Kafka 集群到HDFS 的数据落地任务,将数据源数据及时有效的存储到分布式文件系统中。

数据加载过程需要注意一下几个问题:

. 数据序列化

加载系统中数据最终是以字节流的形式交换的,因此需要使用序列化方法对数据进行编码。是一个二进制的数据序列化系统,经常被应用于数据交换场景。其最大

山东大学硕士学位论文

的特点就是使用模式(Schema)来实现数据结构定义,模式使用 JSON 对象来表示,可以动态生成 。 在 其它一些数 据序列化系 统 中 ,比如 Thrift, 使 用前需要生成静态代 码 。

文库下载 免费文档下载https://www.wenkuxiazai.com/

http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlSchema 的生成要依赖与表的元数据。

. 增量加载

由于 Kafka消费者读取偏移量只存在于消费者进程中,导入任务结束后,读取偏移量会丢失,因此需要将本次导入的结束点持久化存储。可以使用 HDFS 或者 Zookeeper。

. 异常处理

导入过程可能会产生HDFS 不可用、导入任务进程被杀死等问题,需要导入工具支持异常处理,并且保证数据加载不重复。Kafka支持读取历史数据,导入任务失败后直接从上一正常点开始重新处理。

.3 运维日志关联分析子系统

集群系统的系统日志不仅数量巨大,而且不同方式采集到的日志其格式也有所不同,如操作系统系统目录下记录系统状态或者时间的系统日志(如硬盘管理产生的硬盘读写事件、网络管理器产生的网络情况、内存管理工具产生的内存访问情况等)。由于格式不一,在对系统日志进行具体分析之前,必须对其日志进行识别和转换,以格式化为一个统一的结构,如此才方便对其进行处理。另外集群系统中同一状态往往被不同的组件记录到日志中,因此造成日志记录信息冗余较大,所以在对日志进行分析前也需要对日志记录中的重复记录进行过滤操作。

集群系统的系统日志,虽然数量巨大,但代表的时间类型并不复杂,如何把由同一输出语句输出的日志划为同一类是一个关键问题。将海量日志数据聚类之后,提取其特征,形成特征库,新产生的日志便依据该特征库进行类别标记。

文库下载 免费文档下载https://www.wenkuxiazai.com/

日志关联分析通过对系统日志时间、系统状态和故障分布的研究等来发现故障规律和故障的时间和空间特征等。日志的关联分析主要分析系统故障的分布、故障的相关性等指标。

根据日志关联分析系统的功能需求,将日志关联分析系统分为五个模块:数据预处理模块、特征训练模块、流日志分类模块、离线日志分类模块、频繁项集挖掘模块,系统架构如图2-3 所示:

山东大学硕士学位论文

图 2-3 运维日志关联分析系统模块设计

各模块具体功能如下:

. 数据预处理模块

该模块的主要功能是提取日志 message 字段数据,然后对其进行分词、过滤干扰词、http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html 去除 重 复 行等操作,经过此处理后,日志获得统一的结构,并对冗余日志进行了去重。

. 特征训练模块

该模块的主要功能是根据预处理后的 message 数据,训练出日志类别及特征,放入特征标签库,标签库里的特征作为后面日志分类的一个特征知识库。

. 流日志分类模块

该模块的主要功能是作为守护程序,从 Kafka 中读取实时流日志数据,然后流日志数据与

文库下载 免费文档下载https://www.wenkuxiazai.com/

特征标签库里的特征进行匹配分类,实现日志数据接入过程中的在线实时处理。

. 离线日志分类模块

该模块的主要功能是读取落地到HDFS 的日志数据,然后流日志数据与特征标签库里的特征进行匹配分类。此模块实现的功能是对流日志分类模块未匹配上日志数据进行二次匹配,以达到使所有接入日志数据都能分类,获得相应标签的目的。

[此处图片未下载成功]

山东大学硕士学位论文

. 频繁项集挖掘模块

该模块的主要功能是合并已分类的 Syslog 日志与告警日志数据,然后按时间排序生成日志事务,基于特定的数据挖掘算法对日志事务进行关联规则分析。以期待挖掘出 Syslog 日志与告警日志之间的一些联系。

.4 本章小结

本章主要介绍了,基于 Hadoop 的运维日志采集分析平台系统的架构设计,该系统将平台架构进行分解,形成了数据接入层、分布式存储服务层、分布式计算框架层和数据分析层等四大部分。同时本章对平台每一层的具体功能和涉及到的技术进行了一个简单的介绍。本文工作的重点会放在数据接入层和数据分析层,针对多源异构海量运维日志的采集接入问题,我们在数据接入层设计和实现数据加载子系统;针对运维日志关联分析问题,我们在数据分析层设计和实现了运维日志关联分析子系统。

文库下载 免费文档下载https://www.wenkuxiazai.com/

山东大学硕士学位论文

第 3 章 系统详细设计

.1 数据存储方案设计

数据平台以数据库和数据表的方式管理结构化数据。在实施中,建议将数据库作为命名空间,划分不同的业务数据,同一类型的数据作为一张数据表进行存储,数据表可以按照时间等http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html 不 同 类 型字段进行分区。

对于已存储的数据,可以以分区、表或数据库粒度进行数据的删除,在实施中,可以按照时间字段以天、周或月粒度建立分区,以支持数据生命周期管理。

通过这种方式存储的数据,可以通用 MapReduce、Spark、SparkSQL、Hive、Impala

等多种计算引擎及接口。

数据平台提供统一的数据访问方式,即HCatalog 表数据管理层,该方式能够屏蔽底层的数据 存 储 格 式 , 提供 统一 的 数 据 和 模 式 访 问 接 口 (即 关 系 数 据 模 型 )。 以HCatInputFormat 、 HCatOutputFormat 分别对 应 表 中 数 据 的输入 和输出 , 以HCatRecord描述一条记录,以 HCatSchema描述记录与字段类型的对应关系。支持的数据类型、数据存储及序列化类型如下。

.1.1 数据类型

对于结构化数据,使用 HCatRecord 类型代表结构化数据中的一行。由于结构化数据每行数据具有相同的模式(Schema),称之为 HCatSchema。HCatSchema 用来描述构成

文库下载 免费文档下载https://www.wenkuxiazai.com/

一行数据的多个字段的数据类型。大数据分析平台一般使用以下数据类型描述各个字段。

表 3-1 数据类型描述

[此处图片未下载成功]

山东大学硕士学位论文

.1.2 数据访问接口

接入该系统的数据最终被存储到 Hadoop 集群上的 Hive 表中。最终需要对这些数据进行分析并将分析得到的结果再次存入该系统中。为了适应各种计算引擎和接口的分析处理,需要提供存储数据的访问接口。

目前以该种方式采集的数据有多种访问接口,包括Hive/Impala JDBC

[此处图片未下载成功]

和 Spark SQL 进 行 数 据条件 查询操作 , HCatalog 进 行元数 据 和无条件 查询操作 ,Hive、HCatalog、Impala命令行界面使用命令行对数据操作。

表 3-2 数据访问接口

[此处图片未下载成功]

山 东 大 学 硕 士 学 位 论 文 ://www.wenkuxiazai.com/doc/

文库下载 免费文档下载https://www.wenkuxiazai.com/

b221583bf90f76c660371ab9.htmlpar.2 数据加载子系统设计

数据加载系统提供关系型数据库数据、文本文件、监测日志数据、统计数据与告警数据等多类型数据的加载服务。日志采集分析平台为用户提供了多种数据接入方式,可以按照业务数据的自定义格式进行自定义加载。同时,系统支持数据加载的自定义分发机制、节点负载均衡、TCP 可靠通信等机制来保证数据的并发加载效率和可靠性。系统提供针对结构化数据、非结构化数据以及文件数据的加载功能。

数据加载系统主要实现了结构化数据存储及海量非关系型结构化日志存储管理平台,这类数据的特点是结构化,每条记录的长度短,但是记录条目非常大,可达几百亿甚至千亿条,但是数据操作模式比较简单,主要是追加操作,同时对于数据一致性要求比较低,实现最终一致性即可。

加载系统可以分为数据接入模块、数据落地模块。

在加载过程中,接入模块采集各种不同数据源的数据,并根据应用指定的表名和数据,自动进行数据格式化等处理操作,并将处理后的数据发送到 Kafka 中进行数据缓存。数据落地模块定时执行数据落地任务,获取 Kafka 中缓存的数据,并将获取的数据进行组织,压缩后进行存储。

数据加载系统支持横向扩展,其加载性能能够随加载服务节点的扩展而得到近线性提升。同时,加载系统支持负载均衡功能,加载过程中充分利用集群资源,

[此处图片未下载成功]

山东大学硕士学位论文

最大化集群加载性能。

文库下载 免费文档下载https://www.wenkuxiazai.com/

.2.1 数据接入模块设计

由于外部有多种数据源,所以系统接入的物理架构也不尽相同,下面根据不同的数据源描绘了不同的物理架构。

) 数据库接入方式

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

[ 此 处 图 片 未 下 载 http://www.wenkuxiazai.com/doc/

b221583bf90f76c660371ab9.html 成功]

文库下载 免费文档下载https://www.wenkuxiazai.com/

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

图 3-1

[此处图片未下载成功]

数据库接入方式

如果数据源为关系型数据库,包括Oracle、Mysql,使用

[此处图片未下载成功]

RDBMS 导入工具进行数据导入,如图 3-1

[此处图片未下载成功]

所示。在数据转移集群上安装 RDBMS 导入工具,并设置定时任务将数据批量导入到

文库下载 免费文档下载https://www.wenkuxiazai.com/

Hadoop 集群中。

本文所用的 RDBMS 导入工具为开源工具 Sqoop,Sqoop 是一个用来将 Hadoop 和关系型数据库中的数据相互转移的工具,专为大数据的批量传输而设

[此处图片未下载成功]

计,能够分割数据集并创建 Hadoop 任务来处理每个区块。而且 Sqoop还支持数据的增量导入,可以指定一个递增的列,或者指定一个时间戳。

[此处图片未下载成功]

2) 文本文件接入

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

图 3-2 文本文件接入方式

当需要采集的数据为 CSV 文件时,数据产生节点将生成的 CSV 文件推送到采集业务节点指定的目录中。在采集业务中,Flume监控一个指定的文件目录,如果有新文件放入该目录,它就会实时采集文件中的数据并推送到 Kafka 集群。

山东大学硕士学位论文

文库下载 免费文档下载https://www.wenkuxiazai.com/

数据最终被存储到Hadoop 集群中。集群中的消息都是以主题的形式存储的,而 Flume 采集的文件数据是没有主题的,同时文件目录中可能会放入好几种主题的文件。为了解决这个问题,论文自定义了一个 Flume拦截 器 , 此 拦 截 器 的 功 能 http://www.wenkuxiazai.com/doc/

b221583bf90f76c660371ab9.html 可以将文件名与 Kafka 主题一一对应。具体思路是,将文件名字改为“hive-数据库名-表名”的形式,文件的名字即为数据存入 Kafka时的主题。

通过自定义的拦截器将文件名字添加到 event 的 header 中去,即给采集到的数据加上了主题。定义文件名为“hive-数据库名-表名”的形式还有一个好处,就是可以通过 hive 表的元数据来获取文件数据的 Schema信息,在对数据进行 Avro序列化的时候需要数据的Schema信息。

) 采集脚本实时采集接入

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

文库下载 免费文档下载https://www.wenkuxiazai.com/

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

图 3-3 采集脚本实时采集接入方式

用户可以自定义数据生成脚本(基于 Linux),通过 Flume调用该脚本产生要采集的数据,并将该数据推动到 Kafka 集群中,最终被存储到 Hadoop 集群。 Flume提供采集自定义脚本生成数据的能力,不过需要进行一些相关参数的配置。此方式同样可以使用自定义的Flume拦截器对数据进行预处理。

) 用户自定义生成数据业务接入

用户可以在自己的业务逻辑业务中调用加载接口,直接将数据推送到 Kafka 集群中。然后,数据再被存储到Hadoop 集群。

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

文库下载 免费文档下载https://www.wenkuxiazai.com/

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

[ 此 处 图 片 未 下 http://www.wenkuxiazai.com/doc/

b221583bf90f76c660371ab9.html 载成功]

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

[此处图片未下载成功]

山东大学硕士学位论文

图 3-4 自定义业务系统接入流程提供了数据生产者接口,自定义业务系统可以调用其生产者接口,直接在客户端生产数据,发送到 Kafka 集群中。生产者定义如下所示:<String, String> producer = new KafkaProducer<>(props);(int i = 0; i < 100; i ).send(new ProducerRecord<String, String>("my-topic",

文库下载 免费文档下载https://www.wenkuxiazai.com/

Integer.toString(i),Integer.toString(i)));

.2.2 数据落地模块设计

上面几种数据接入方式中,会将数据缓存到 Kafka 集群中(数据库接入方式除外),接下来需要通过数据落地模块获取 Kafka 集群中缓存的数据并存储到Hadoop 平台中。

数据落地模块最重要的是实现数据落地过程的自动化,不需要任何自定义设置或者在 Kafka

topic 和 Hadoop 数据集之间作映射。LinkedIn 专门为此开发了一个名为 Camus 的系统。Camus 是一个从 Kafka到HDFS 的数据管道,它实际上是一个 MapReduce 作业。的 MapReduce 作业从 Kafka 的 Zookeeper获取可用的 topics,partitions 和 offset等元数据信息。根据安装阶段的数据建立 Kafka请求,拉取数据。每个 task都会生成 4 个文件:Avro data files,Count statistics files,Updated offset files,

山东大学硕士学位论文://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlparError files ,当一个 task 完成时,其拉取的数据都被提交到输出目录,每个 partition都有 offset,这些 offset信息存储在 HDFS 中。像一个已经开发好的系统组件,我们可以直接拿过来,稍作配置用来实现数据落地模块的功能, 关键在于要实现两个类,Decoder 和 Writer,使其满足我们的系统需求。在实际使用Camus 的时候,我们需要关注以下三件事情:

(1)确定 MessageDecoder

(2)确定 RecordWriterProvider

文库下载 免费文档下载https://www.wenkuxiazai.com/

(3)确定 Kafka话题

.3 运维日志关联分析子系统设计

.3.1 数据预处理模块设计

此模块是特征训练过程的入口,获取用来生成日志特征的训练数据,程序流程图如图 3-6 所示:

[此处图片未下载成功]

图 3-6 数据预处理模块流程设计

(1) 首先以时间作为参数,调用 Spark 读 Hive 表的接口,获得指定区间内的训练日志数据;

(2) 提取日志 message 字段的数据,对数据进行分词,过滤掉一些干扰词,比如“a,the,and”等,这里的分词使用的是 lucene 标准分词器;

(3) 需要对数据进一步清洗,删除字母末尾的数字、特殊符号等;

(4) 最后按条对数据去重后存入表中。此时得到的数据可视为临时特征数据,这些数据需要经过聚类操作得到最终的特征数据。

.3.2 特征训练模块设计

此模块通过对预处理后的日志数据根据相似性,进行聚类合并,最终获得少量有代表性的日

文库下载 免费文档下载https://www.wenkuxiazai.com/

志特征,存入特征标签库。程序流程图如图 3-7 所示:

山东大学硕士学位论文

图 3-7 特征训练模块流程设计

(1) 调用 Spark 读 Hive 表的接口,获得预处理后的日志数据;

(2) 将预处理后的每条数据加一个临时标签,定义为临时特征。

( 3 ) 为 进 一 步 减 少 日 志 类 别 数 量 , 我 们 将 相 似 的 临 时 特 征 字 符 串进 http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html 行聚类 合并。聚类方法如下:

首先计算两个字符串的最长公共子序列,如果最长公共子序列的长度占这两个字符串各自长度的比值,都不低于一个人工经验确定的阈值,则认为这两个临

[此处图片未下载成功]

时特征相似。

然后构建所有临时特征的相似性邻接矩阵,相似矩阵值为 1,不相似值为 0。根据邻接矩阵构建图,每个临时特征为一个点,两个临时类别相似则两个点之间有一条无向边。如图 3-8

所示:

图 3-8 日志聚类算法

文库下载 免费文档下载https://www.wenkuxiazai.com/

最后根据图结构对日志进行聚类,聚类规则为:若 a、b 相似,a、c 相似,则日志 a、b、c

合并为同一类日志。最后求同一类日志的最长公共子序列作为此类日志的特征。

(4) 得到最终特征并赋予每条特征唯一的类别标签,存入特征标签库,为接下来的日志分类模块提供类别特征模板。

.3.3 流日志分类模块设计

此模块实时的获取日志数据流,并将数据流与训练得到的特征库里的特征进行匹配分类,程序流程图如图 3-9 所示:

[此处图片未下载成功]

山东大学硕士学位论文

图 3-9 流日志分类模块

(1) 调用 Spark Streaming 读 Kafka消息队列的接口,实时获取 Kafka 内指定 Topic 的数据;

(2) 参考数据预处理模块,对每条数据进行分词,并去除干扰词;

(3) 将预处理后的日志数据与特征库里的特征字符串进行最长公共子序列相似度计算,若相似度大于一个阈值,给数据标记上相应的数据类别。若数据与特征库里的全都不相似,或者与多余一个特征相似,视为新数据,打上不匹配标记,这些数据需要重新训练和离线分类。

文库下载 免费文档下载https://www.wenkuxiazai.com/

(4) 将匹配和未匹配上的流日志数据,分别存入对应的 Hive 表中。

.3.4 离线日志分类模块设计

对于流日志分类模块未匹配上任何已有特征的数据,我们视为新数据,它们与已有特征标签库里的特征都不相似,所以需要对这些数据重新训练出新的特征及标签,然后根据新特征及标 签 对 这 些 数 据 进 行 离 线 http://www.wenkuxiazai.com/doc/

b221583bf90f76c660371ab9.html 日志分类。程序流程图如图 3-10 所示:

[此处图片未下载成功]

图 3-10 离线日志分类模块

(1) 调用 Spark 读 Hive 表的接口,获取流日志分类模块未匹配成功的日志数据;

(2) 参考数据预处理模块,对每天数据进行分词,并去除干扰词;

(3) 将预处理后的日志数据与特征库里的特征字符串进行最长公共子序列相似度计算,若相似度大于一个阈值,给数据标记上相应的数据类别。若数据与特征库里的全都不相似,或者与多余一个特征相似,视为新数据,打上不匹配标记,这些数据需要重新训练和离线分类。

(4) 将匹配和未匹配上的流日志数据,分别存入对应的 Hive 表中。

[此处图片未下载成功]

山东大学硕士学位论文

文库下载 免费文档下载https://www.wenkuxiazai.com/

.3.5 频繁项集挖掘模块设计

本模块是日志关联分析子系统的核心模块,将打上标签的运维系统日志与本身带标签的告警日志进行合并,挖掘他们之间的频繁项集,进而能够分析系统日志与告警之间的关联关系。程序流程图如图 3-11 所示:

[此处图片未下载成功]

[此处图片未下载成功]

图 3-11 频繁项集挖掘模块设计

(1) 调用 Spark 读 Hive 表接口,分别读取 Hive 表中指定时间段内的已经打好类别标签的系统日志和本身自带类别标签的告警日志;

(2) 将两种日志按时间排序,然后根据指定时间窗口大小和步长大小生成事务。如图 3-

12 所示:

图 3-12事务生成策略

(3) 调用 Spark MLlib 机器学习库里的 FPGrowth算法实现接口,对事务数据进行频繁项集挖掘,并打印展示所得到频繁项集。同时打印每条告警数据一段时间范围内的 syslog

数据,供用户查看。

.4 本章小结

文库下载 免费文档下载https://www.wenkuxiazai.com/

本章是论文工作的重点章节,针对数据结构和格式的多样性,为数据平台设计了基于HCatalog 表数据管理层的统一的数据存储和访问方式,该方

山 东 大 学 硕 士 http://www.wenkuxiazai.com/doc/

b221583bf90f76c660371ab9.html 学位论文

式能够屏蔽底层的数据存储格式,提供统一的数据和模式访问接口。针对多源异构运维日志的数据接入问题,设计了数据加载子系统,提供关系型数据库数据、配置数据、监测日志数据、统计数据与告警数据等多类型数据的加载服务,为用户提供多种数据接入方式,可以按照业务数据的自定义格式进行自定义加载。针对运维日志关联分析问题,设计了运维日志关联分析子系统,提供了对运维日志的离线和在线日志关联分析能力。

山东大学硕士学位论文

第 4 章 系统实现与测试

.1 数据加载子系统

数据加载系统设计了几种数据接入方式,本章重点介绍了自定义的代码实现部分。

.1.1 数据接入模块

、主要代码实现

针对文本文件接入方式,系统自定义了一个 Flume 的 CSV拦截器,拦截器解析流数据,将与 Kafka 主题和数据 Schema 相关的特制文件名,写入到 Event 的 Header 中,具体代码如下所示:

文库下载 免费文档下载https://www.wenkuxiazai.com/

Event apply(Event input)

topicName = getTopicName(input.getHeaders().get(BASENAME_Hif (topicName == null) Map<String, String> header = Maps.newHashMapWithExpectedSize(1); header.put(Interceptors.TOPIC,

topicName); // 序列化对象 byte[] body = ZERO_BYTES; try Topic topic = Topics.getTopic(topicName); String[] fields = new String(input.getBody()).split(separator, topic.getSchema().getFields().size()); Object[] record = AvroUtil.apphttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html

ly(AvroUtil.convert(topic.getSchema(),String str;// 临时存储 input转换成的 string str = new String(input.getBody()); topicName = str.split("@@")[0]; String body = str.split("@@")[1]; input.setBody(body.getBytes()); EADER_KEY)); fields),

山东大学硕士学位论文

topic.getRules()); body = AvroUtil.serialize(topic.getSchema(), record); logger.error("", e); catch (Exception e) return EventBuilder.withBody(body, header);

¶ÔÊý¾Ý½øÐÐAvroÐòÁл¯£º

static byte[] serialize(Schema schema, Object[] fields) throws IOException

<GenericRecord> writer = new GenericDatumWriter<GenericRecord>(schema);

out = new ByteArrayOutputStream();

encoder = EncoderFactory.get().binaryEncoder(out, null);

record = new GenericData.Record(schema);

(int i = 0; i < fields.length; i)

://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlarrecord.put(i, fields[i]);

文库下载 免费文档下载https://www.wenkuxiazai.com/

.write(record, encoder);

.flush();

.close();

out.toByteArray();

½«Kafka Topic ÓëHive±íÃû×Ö½áºÏ£¬Í¨¹ýHive±íÃû×Ö»ñÈ¡ÏàÓ¦Topic£º public Topic getTopic(String

topicName)throws TopicErrorException, TopicNotFoundException

<String, String> names = TopicUtils.getDbAndTableName(topicName); try

table = getTable(names.first, names.second, thriftUris); return TopicUtils.createTopic(names.first,

names.second, table.getCols(), table.getPartCols(), table.getParameters());

catch (NoSuchObjectException e)

new TopicNotFoundException();

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

catch (Exception e)

new TopicErrorException(e);

¡¢¹¦ÄܲâÊÔ

±¾²âÊÔËùÓÃÊý¾ÝÊÇÔÚ¼¯Èº½ÚµãÉÏͨ¹ý×Ô¶¨Òå½Å±¾Éú³ÉµÄÓ²ÅÌSmartÐÅÏ¢

£¬Í¨¹ý¸ÃÊý¾Ý¿ÉÒÔÁ˽âÓ²Å̵ĸ÷ÊôÐÔÐÅÏ¢¼°Ó²Å̵ĹÊÕÏ×´¿ö¡£

±¾ÎIJÉÓÃÊý¾Ý½ÓÈë·½°¸Îª²É¼¯½Å±¾ÊµÊ±²É¼¯½ÓÈ룬¾ßÌå¹ý³ÌÈçÏÂËùʾ£º

£¨1£©´´½¨hive±í

×îÖÕÎÒÃÇÒª½«smartÊý¾Ý½ÓÈëµ½http://www.wenkuxiazai.com/doc/

b221583bf90f76c660371ab9.htmlhive±íÖУ¬ËùÒÔÎÒÃÇÊ×ÏÈÒª´´½¨Ò»¸öÂú×ãsmartÊý¾Ý½á¹¹µÄhive±í¡£

table smart_data(serial_number String ,update_time string,smart_health_status string ,current_drive_temperature

int,drive_trip_temperature int,elements_in_grown_defect_list int,manufactured_time string ,cycle_count

文库下载 免费文档下载https://www.wenkuxiazai.com/

int ,start_stop_cycles int ,load_unload_count int ,load_unload_cycles int ,blocks_sent_to_initiator

bigint ,blocks_received_from_initiator bigint ,blocks_read_from_cache

bigint ,num_commands_size_not_larger_than_segment_size

bigint ,num_commands_size_larger_than_segment_size bigint ,num_hours_powered_up

string ,num_minutes_next_test int ,read_corrected_ecc_fast bigint ,read_corrected_ecc_delayed

bigint ,read_corrected_re bigint ,read_total_errors_corrected bigint ,read_correction_algo_invocations

bigint ,read_gigabytes_processed bigint ,read_total_uncorrected_errors string ,write_corrected_ecc_fast

bigint ,write_corrected_ecc_delayed bigint

,writhttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmle_corrected_re

bigint ,write_total_errors_corrected bigint ,write_correction_algo_invocations bigint ,write_gigabytes_processed

bigint ,write_total_uncorrected_errors string ,verify_corrected_ecc_fast bigint ,verify_corrected_ecc_delayed

bigint ,verify_corrected_re bigint ,verify_total_errors_corrected bigint ,verify_correction_algo_invocations

bigint ,verify_gigabytes_processed bigint ,verify_total_uncorrected_errors bigint ,non_medium_error_count

bigint);

£¨2£©´´½¨topic

²É¼¯µ½µÄÊý¾ÝÒªÉú³ÉÒ»ÌõÌõµÄeventÊý¾Ý´«¸økafkaÏûϢϵͳ±£´æ£¬kafkaÐèÒªÊÂÏÈ´´½¨Ò»¸ötopicÀ

´Éú²úºÍÏû·ÑÖ¸¶¨Êý¾Ý¡£ÎªÏµÍ³Õý³£ÔËÐУ¬ÎÒÃÇͳһ¶¨ÒåtopicµÄÃû×ֽṹΪ¡°hive-Êý¾Ý¿âÃû-±íÃû¡±

¡£ÐèÒªÔÚkafka¼¯Èº½ÚµãÉÏ´´½¨

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

£¬Ê¾ÀýÈçÏ£º

/kafka-topics --create --zookeeper localhost:2181/kafka --topic hive-xdf-smart_data --partitions 1

-replication-factor 1

×¢Ò⣺´Ë´¦µÄÊý¾Ý¿âÃû¡¢±íÃû£¬±ØÐëΪÉÏÒ»²½´´½¨µÄhive±í£¬ÒòΪFlume»áͨ¹ý´ËtopicÃûÀ

´»ñÈ¡hive±íµÄÔªÊý¾ÝÐÅÏ¢£¬´Ó¶øÉú³É¶ÔÓ¦eventÊý¾Ý¡£

£¨3£©ÅäÖÃFlume agentÆô¶¯²ÎÊý

Éú³É²ÎÊýÎļþsmart_test.conf£¬ÎļþÄÚÈÝÈçÏÂhttp://www.wenkuxiazai.com/doc/

b221583bf90f76c660371ab9.html£º a3.channels = c3 a3.sources = r3 a3.sinks = k3 a3.sources.r3.type = exec

a3.sources.r3.channels = c3 http://www.wenkuxiazai.command = tail -F /home/xdf/exec.txt

a3.sources.r3.fileHeader = false a3.sources.r3.basenameHeader = false a3.sources.r3.interceptors = i3

a3.sources.r3.interceptors.i3.type =iie.flume.interceptor.CSVInterceptor$Builder

a3.sources.r3.interceptors.i3.separator = ; a3.sources.r3.decodeErrorPolicy=IGNORE a3.channels.c3.type =

memory a3.channels.c3.capacity = 10000 a3.channels.c3.transactionCapacity = 1000 a3.sinks.k3.channel = c3 #

a3.sinks.k3.type = logger #a3.sinks.k3.batchSize = 10 a3.sinks.k3.type = org.apache.flume.sink.kafka.KafkaSink

文库下载 免费文档下载https://www.wenkuxiazai.com/

.sinks.k3.brokerList = localhost:9092

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

´Ë´¦Êý¾ÝÔ´sourcesµÄÀàÐÍΪexec¡£¾ßÌåÃüÁîΪ£º

://www.wenkuxiazai.command = tail -F /home/xdf/exec.txt

ÎÒÃǶ¨Ê±ÔÚÿ¸ö½ÚµãÔËÐÐÒ»¸ö½Å±¾Éú³ÉÒ»ÌõsmartÊý¾Ý£¬½«Êý¾ÝдÈë

/home/xdf/exec.txtÎļþ¡£flumeÓÃÉÏÃæÄǸöÃüÁîÒ»Ö±¼à¿ØÎļþ/hohttp://www.wenkuxiazai.com/doc/

b221583bf90f76c660371ab9.htmlme/xdf/exec.txt£¬ÈçÓÐÐÂÊý¾ÝдÈ룬Ôò²É¼¯´«Êäµ½kafkaÀï¡£

£¨4£©¿ªÆôFlume Agent

Ö´ÐÐÃüÁ cd /usr/local/apache-flume-1.6.0-bin

./bin/flume-ng agent --conf conf --conf-file smart_test.conf --name a3 -Dflume.root.logger=INFO

£¨5£©Éú³ÉSmartÊý¾Ý

ÔÚÿ¸öÊý¾Ý½ÚµãÉÏÔËÐÐcreateEvent.py½Å±¾£¬Éú³ÉÒ»Ìõ½á¹¹»¯ºÃµÄsmartÊý¾Ý¡£

½Å±¾ÓÐÁ½¸ö²ÎÊýsmart_data.log£¬hive-xdf-smart_data£¬Ç°ÕßΪsmartÃüÁîÊä³öµÄÔʼÐÅÏ

¢Îļþ£¬ºóÕßÊÇtopicÃû×Ö£¬¼´ÉÏÒ»²½Éú³ÉµÄtopicÃû¡£ python createEvent.py smart_data.log hive-xdf-

smart_data >

/home/xdf/exec.txt

´Ë½Å±¾»á½âÎösmartÔʼÐÅÏ¢£¬Éú³ÉÒ»Ìõ´øtopic×ֶεĽṹ»¯smartÊý¾ÝдÈëµ½/home/xdf/

exec.txtÎļþÖУ¬Êý¾Ý¸ñʽÈçÏ£º

xdf-smart_data@@EB00PC208HFC;2015-06-23 18:56:09;OK;28;65;0;week 08 of year

2012;50000;21;200000;69;-1;-1;-1;-1;-1;-1;-1;0;0;0;0;0;0;300744.962;0;0;0;0;0;0;10841.446;0;-1;-1;-1;-1;-1;-1;-1

Ó÷ûºÅ¡°@@¡±½«topic¸úsmartÊý¾Ý·Ö¿ª£¬smartÊý¾ÝÿÁмäÓöººÅ¸ô¿ª¡£

£¨5£©²âÊÔʱ²é¿´KafkaÊý¾Ý

文库下载 免费文档下载https://www.wenkuxiazai.com/

²é¿´Êý¾ÝÊÇ·ñ³É¹¦Éú³Éµ½kafkaÖУ¬¿ÉÔÚkafka½ÚµãÉÏ£¬Í¨¹ýÏÂÃæÃüÁî²é¿´£º kafka-console-consumer --

zookeeper localhost:2181/kafka --topic

hive-xdf-smarthttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html_data --from-beginning

µ÷ÓÃKafkaÏû·ÑÕßÃüÁîÐУ¬½á¹ûÈçͼ4-1Ëùʾ

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

ͼ4-1 KafkaÏû·ÑÕßÊä³ö

Èçͼ4-1Ëùʾ£¬±íÃ÷Êý¾Ý½ÓÈëÄ£¿é¹¦ÄÜʵÏÖ£¬Êý¾ÝÒѳɹ¦½ÓÈëµ½Kafka¼¯Èº¡£

.1.2 Êý¾ÝÂäµØÄ£¿é

Êý¾ÝÂäµØÄ£¿é£¬±¾ÎÄʹÓÃLinkedin Camus×÷ΪKafkaµ½HDFSµÄ¹ÜµÀ£¬½«Êý¾Ý¶¨Ê±ÅúÁ¿µÄ

´ÓKafkaµ¼Èëµ½HDFS´æ´¢ÆðÀ´¡£ÎªÍê³É

´ËÏÄÜ£¬ÎÒÃÇÐèÒª¶¨Òå×Ô¼ºµÄMessageDecoderºÍRecordWriter¡£MessageDecoderÊǶÔKafkaµÄÏûÏ

¢½øÐнâÎöµÄ½âÎöÆ÷£¬±ÈÈçCamus×Ô

´øÁ˼¸¸öDecoder£ºKafkaAvroMessageDecoder£¬JsonStringMessageDecoderµÈ¡£Ïà±ÈMessageDecoderÔÚCa

musµÄÊäÈë¶Ë·¢»Ó×÷Ó㬠RecordWriterÔòÔÚÊä³ö¶Ë·¢»Ó×÷Óã¬È·¶¨CamusÈçºÎ°ÑÊý¾ÝÐ

´µ½HDFSÖС£CamusĬÈÏÊÇÖ§³ÖAvro¸ñʽ£¬×Ô´øÁËAvroRecordWriterProvider¡£

¡¢Ö÷Òª´úÂëʵÏÖ

±¾ÎÄÔÚϵͳÖÐʵÏÖÁËÒ»¸ö¼òµ¥µÄ×Ö·û´®½âÎöÆ÷£¬»ù±¾±£³ÖÏûÏ¢ÔÎÄ£¬´æ´¢µ½HDFS£¬´úÂëÈçÏ£º

class StringMessageDecoder extends MessageDecoder<byte[], String>

void init(Properties props, String topicName)

.props = props;

.topicName = topicName;

CamusWrapper<String> decode(byte[] payload)

timestamp = 0;

文库下载 免费文档下载https://www.wenkuxiazai.com/

payloadString;http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html

= new

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

String(payload);

= System.currentTimeMillis();

new CamusWrapper<String>(payloadString, timestamp);

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

¸ÃÀà¼Ì³ÐÓÚcom.linkedin.camus.coders.MessageDecoder£¬ÊäÈëµÄÀàÐÍΪbyte[]

£¬½âÎöºóµÄÀàÐÍΪString¡£ÖصãÊÇʵÏÖdecode·½·¨£¬·µ»ØÒ»¸öCamusWrapper¶ÔÏ󣬸öÔÏó°üº¬Á˽âÎöºó

µÄÊý¾Ý¡£

¡¢¹¦ÄܲâÊÔ

½«Êý¾Ý½ÓÈëÄ£¿éµ¼ÈëKafkaµÄsmartÊý¾ÝÂäµØµ½Hive±íÖУ¬

´ò¿ªcamus.propertiesÅäÖÃÎļþ£¬ÐÞ¸ÄÒÔÏÂÁ½¸ö²ÎÊý£º

.whitelist.topics=hive-xdf-smart_data ----smartÊý¾Ý¶ÔÓ¦topic kafka.brokers=m105:9092,m103:9092

----kafka broker lists

ÐÞ¸ÄÍêÅäÖÃÎļþºó£¬¶¨Ê±ÔËÐÐcamus.sh½Å±¾£¬¾Í»á½«ÐÂÉú³ÉµÄsmartÊý¾Ý½ÓÈëµ½topicËù¶ÔÓ¦µÄh

ive±íÖÐÁË¡£

.sh½Å±¾ÄÚÈÝÈçÏ£º #!/bin/bash

jar camus-example-0.1.0-cdh-SNAPSHOT-shaded.jar com.linkedin.camus.etl.kafka.CamusJob -P

camus.properties

²âÊÔ½á¹ûÏÔʾKafkaÖеÄÊý¾Ý£¬³É¹¦µÄ¶¨Ê±ÂäµØµ½Ö¸¶¨Hive±íÖУ¬±¾Ä£¿é¹¦ÄÜʵÏÖ¡£

.2ÔËάÈÕÖ¾¹ØÁª·ÖÎö×Óϵͳ

文库下载 免费文档下载https://www.wenkuxiazai.com/

.2.1 Êý¾ÝÔ¤´¦ÀíÄ£¿é

´ËÄ£¿éÊÇÌØÕ÷ѵÁ·¹ý³ÌµÄÈëhttp://www.wenkuxiazai.com/doc/

b221583bf90f76c660371ab9.html¿Ú£¬ÌṩҪÀ

´Éú³ÉÌØÕ÷µÄÊý¾Ý£¬Ö÷Òª²Ù×÷ÊÇÏȸù¾Ýʱ¼ä¶ÁÈ¡Ò»¸öÇø¼äÄÚµÄÈÕÖ¾£»È»ºóÌáÈ¡ÈÕÖ¾message×Ö¶

εÄÊý¾Ý£¬¶ÔÊý¾Ý½øÐзִʣ¬¹ýÂ˵ôһЩ¸ÉÈÅ´Ê£¬±ÈÈç¡°a,the,and¡±µÈ£¬ÕâÀïµÄ·Ö

´ÊʹÓõÄÊÇlucene±ê×¼·Ö´ÊÆ÷£»È»ºóÐèÒª¶ÔÊý¾Ý½øÒ»²½ÇåÏ

´£¬É¾³ý×ÖĸĩβµÄÊý×Ö¡¢ÌØÊâ·ûºÅµÈ£»×îºó°´Ìõ¶ÔÊý¾ÝÈ¥Öغó´æÈë±íÖС£

´ËʱµÃµ½µÄÊý¾Ý¿ÉÊÓΪÁÙʱÌØÕ÷Êý¾Ý£¬ÕâЩÊý¾ÝÐèÒª¾¹ý¾ÛÀà²Ù×÷µÃµ½×îÖÕµÄÌØÕ÷Êý¾Ý¡£

¡¢Ö÷Òª´úÂëʵÏÖ

µ÷ÓÃlucene·Ö´ÊÆ÷¶ÔÔʼ×Ö·û´®½øÐзִʲÙ×÷£¬¹ýÂËÈ¥³ý¸ÉÈŴʺ󷵻طִʽá¹û£º

static List<String> luceneSplitLine(String originalLine)

IOException //µ÷ÓÃlucene·Ö´ÊÆ÷

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

´Ê¼¯ºÏ

();

<String> sw = new LinkedList<String>(); sw.add(""); CharArraySet stopWords = new

CharArraySet(sw, true);//¶¨ÒåÍ£Óà // ¼ÓÈëϵͳĬÈÏÍ£ÓÃ´Ê Iterator<Object> iter =

StandardAnalyzer.STOP_WORDS_SET.iteratowhile (iter.hasNext()) // ÓÃLucene±ê×¼·Ö´ÊÆ÷¶Ô×Ö·û

´®½øÐзִÊ,²¢È¥³ýĬÈÏÍ£Óôʼ°±êstopWords.add(iter.next()); µã·ûºÅ£¬Í¬Ê±È¥³ý×Ô¶¨Òå¸ÉÈÅ´Ê

analyzer = new StandardAnalyzer(stopWords); TokenStream ts = analyzer.tokenStream("field",

originalLhttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmline); CharTermAttribute ch =

ts.addAttribute(CharTermAttribute.class); ts.reset(); List<String> splitLine = new ArrayList<String>

文库下载 免费文档下载https://www.wenkuxiazai.com/

(); final String regHexadecimal = "^[0-9a-fA-Fx]*$";// 16½øÖÆ final String regNumber =

"^[0-9.,]*$";// 10½øÖÆ final String regNotation = "[\.]";// СÊýµã final String

regStoreMemory = "(?!^[kmgb]*$)^([0-9kmgb.])*$";// ´æ´¢´óС£¬²»È¥³ýmb£¬gb

String regIP = "^([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2//ÖðÌõ±ãÀûÊý¾Ý¼¯£¬¶ÔÊý¾Ý½øÐзÖ

´Ê¹ýÂ˲Ù×÷ while (ts.incrementToken()) String word = ch.toString(); boolean isNumber =

word.matches(regNumber); boolean isIP = word.matches(regIP); boolean isHexadecimal =

word.matches(regHexadecimal); boolean isStoreMemory = word.matches(regStoreMemory); if ((!isNumber)

&& (!isIP) && (!isHexadecimal) && (!isStore[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|

25[0-5])\.([01]?\d\d?|2[0-4]\d|25http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html[0-5])

$";

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

))

finalStr = word; // È¥³ý×Ö·û´®Ä©Î²µÄÊý×Ö

temp = finalStr.substring(finalStr.length() - 1); // ÅжÏ×Ö·û´®×îºóһλÊÇ·ñÊÇÊý×Ö»òµãºÅ boolean

tailIsNumber = temp.matches(regNumber)

|| temp.matches(regNotation);

str = ""; if (tailIsNumber)

(int i = finalStr.length() - 1; i > 0; i--)

.add(str);

// Èô×Ö·û´®Ä©Î²²»ÊÇÊý¾Ý£¬Ö±½Ó±£´æ splitLine.add(finalStr);

tempStr = finalStr.substring(i);

isNumber2 = tempStr.matches(regNumber)

文库下载 免费文档下载https://www.wenkuxiazai.com/

|| tempStr.matches(regNotation);

= finalStr.substring(0, i 1); if (!isNumber2)

;

else

.end(); ts.close(); //·µ»Ø·Ö´Ê½á¹û return splitLine;

¡¢¹¦ÄܲâÊÔ

ÊäÈëÊý¾ÝΪsyslogÈÕÖ¾Êý¾Ý£¬ÔÚUnixÀà²Ù×÷ϵͳÉÏ£¬syslogÔÚϵͳÈÕÖ¾¹ã·ºÓ¦Óᣳ£¼ûµÄÓ¦Óó¡¾°Ê

ÇÍøÂç¹ÜÀí¹¤¾ß¡¢°²È«¹ÜÀíϵͳ¡¢ÈÕÖ¾Éó¼Æϵͳ¡£ Íê

ɽ¶«´óѧ˶http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlʿѧλÂÛÎÄ

ÕûµÄsyslogÈÕÖ¾Öаüº¬²úÉúÈÕÖ¾µÄ³ÌÐòÄ£¿é£¨Facility£©¡¢ÑÏÖØÐÔ£¨Severity»ò

Level£©¡¢Ê±¼ä¡¢Ö÷»úÃû»òIP¡¢½ø³ÌÃû¡¢½ø³ÌIDºÍÕýÎÄ¡£ÔÚUnixÀà²Ù×÷ϵͳÉÏ£¬Äܹ»°

´FacilityºÍSeverityµÄ×éºÏÀ´¾ö¶¨Ê²Ã´ÑùµÄÈÕÖ¾ÏûÏ¢ÊÇ·ñÐèÒª¼Ç¼£¬¼Ç¼µ½Ê²Ã´µØ·½£¬ÊÇ·ñÐèÒª·

¢Ë͵½Ò»¸ö½ÓÊÕsyslogµÄ·þÎñÆ÷µÈ¡£±í4-1ΪsyslogÈÕÖ¾µÄ½á¹¹¡£

±í4-1ΪsyslogÈÕÖ¾µÄ½á¹¹

ÊäÈëÊý¾Ý£¬ÔʼsyslogÈÕÖ¾Êý¾ÝÑùÀý£º

_DFA 3 192.168.16.8 2014-12-13 20:00:05 cjgl.x[22697] ¿ªÊ¼±éÀú /var/log/asmis/os ϵÄËùÓÐÎļþ

_DFA 3 192.168.16.8 2014-12-13 20:00:05 cjgl.x[22697] ¿ªÊ¼±éÀú /var/log/asmis/os ϵÄËùÓÐÎļþ

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

Êä³ö½á¹ûÈçͼ 4-2Ëùʾ£º

文库下载 免费文档下载https://www.wenkuxiazai.com/

ͼ4-2 Êý¾ÝÔ¤´¦Àí½á¹û

½áÂÛ£º´ÓÊä³ö½á¹û¿ÉÒÔ¿´µ½£¬³ÌÐòÍê³ÉÁËÌáÈ¡syslogÈÕÖ¾message×ֶεÄÊý

¾Ý£¬²¢½øÐзִʡ¢¹ýÂ˸ÉÈÅ´Ê¡¢È¥ÖزÙ×÷£¬µÃµ½Í³Ò»Óÿոñ·Ö¸îµÄ·Ö´ÊÊý¾ÝµÄ¹¦ÄÜ¡£

.2.2 ÌØÕ÷ѵÁ·Ä£¿é

±¾Ä£¿éµÄÄ¿µÄÊǽ«Ô¤´¦ÀíºóµÄÿÌõÊý¾Ý¼ÓÉÏÒ»¸öÁÙʱ

±êÇ©£¬¶¨ÒåΪÁÙʱÌØÕ÷¡£Îª½øÒ»²½¼õÉÙÈÕÖ¾Àà±ðÊýÁ¿£¬ÎÒÃǽ«ÁÙʱÌØÕ÷ͨ¹ýÏàËÆÐÔ¼ÆË㣬¾

ÛÀà³É¸üÉÙµÄÌØÕ÷£¬²¢¸³ÓèÿÌõÌØÕ÷ΨһµÄÀà±ð±êÇ©£¬´æÈëÌØÕ÷±êÇ©¿â£¬Îª½ÓÏÂÀ

´µÄÈÕÖ¾·ÖÀàÄ£¿éÌṩÀà±ðÌØÕ÷Ä£°å¡£

ÕâÀïÎÒÃÇÓõÄÏàËÆÐÔ¼ÆËã·½·¨Îª×¹«¹²×ÓÐòÁÐÏàËÆ¡£¼

´¼ÆËãÁ½¸öÁÙʱÌØÕ÷µÄ×¹«¹²×ÓÐòÁУ¬Èç¹û×¹«¹²×ÓÐòÁеij¤¶È·Ö±ðÕ¼ÕâÁ½¸öÁÙʱÌØÕ÷¸÷×Ô

³¤¶È

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

µÄ±ÈÖµ£¬¶¼²»µÍÓÚÒ»¸öÈ˹¤¾-

ÑéÈ·¶¨µÄãÐÖµ£¬ÔòÈÏΪÕâÁ½¸öÁÙʱÀà±ðÏàËÆ¡£×îºóÎÒÃÇÈ¡ËùÓÐÏàËÆÁÙʱÌØÕ÷ΪһÀ࣬²

¢È¡ËüÃǵÄ×¹«¹²×ÓÐòÁÐΪ×îÖÕhttp://www.wenkuxiazai.com/doc/

b221583bf90f76c660371ab9.htmlÀà±ðÌØÕ÷¡£ 1¡¢ Ö÷Òª´úÂëʵÏÖ

¼ÆËã×¹«¹²×ÓÐòÁг¤¶È£º

[][] c = new int[message1.length][message2.length];// c[][]´æ´¢x¡¢yLCS³¤¶È for (int p = 1; p <

message1.length; p )

»ñµÃÊý¾Ý¼Ç¼ÏàËÆÐÔµÄÁÚ½Ó¾ØÕ󣬶ÔÏàËÆÐÔÁÚ½Ó¾ØÕó½øÐÐÉî¶ÈÓÅÏȱéÀú£¬

Ò»¸öÁªÍ¨×ÓͼÄڼǼ¾ÛΪһÀ࣬²¢ÌáÈ¡Æä×¹«¹²×ÓÐòÁÐΪÀà±ðÌØÕ÷¡£

<String> vertexList = lcsArr.collect();

[][] matrix = new String[rowCount][rowCount]; for (int i = 0; i < vertexList.size(); i )

[] temp = vertexList.get(i).split(";");

[Integer.parseInt(temp[0])][Integer.parseInt(temp[1])] = temp[2]; for (int q = 1; q < message2.length; q )

文库下载 免费文档下载https://www.wenkuxiazai.com/

(message1[p].equals(message2[q]))

[p][q] = c[p - 1][q - 1] 1; c[p][q] = c[p - 1][q]; c[p][q] = c[p][q - 1];

else if (c[p - 1][q] >= c[p][q - 1]) else

//Éî¶ÈÓÅÏȱéÀú

(rowCount, rowIds, matrix);

¡¢¹¦ÄܲâÊÔ

ÊäÈë6Ìõ¾¹ýÊý¾ÝÔ¤´¦ÀíÄ£¿éµÃµ½µÄsyslog·Ö´ÊÊý¾Ý£¬ÈçÏÂËùʾ£º ¿ª ʼ ±é Àú

vahttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlr log asmis os Ï µÄ Ëù ÓÐ ÎÄ ¼þ ¿ª ʼ

±é Àú var log asmis mwp Ï µÄ Ëù ÓÐ ÎÄ ¼þ

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

¿ª ʼ ±é Àú var log asmis outer Ï µÄ Ëù ÓÐ ÎÄ ¼þ smartd device dev sdb sat opened smartd device dev sdc sat

opened kernel copyright intel corporation kernel selinux initializing

Êä³ö4ÌõÀà±ðÌØÕ÷£¬Èçͼ4-3Ëùʾ£º

ͼ4-3 ÌØÕ÷ѵÁ·½á¹û

½áÂÛ£ºÊä³ö½á¹ûÏÔʾ£¬³ÌÐòʵÏÖÁËÌØÕ÷ѵÁ·¹¦ÄÜ£¬³É¹¦µÃµ½ÁËÈÕÖ¾¾ÛÀàºóµÄÌØÕ÷Êý¾Ý¡£

.2.3 Á÷ÈÕÖ¾·ÖÀàÄ£¿é

´ËÄ£¿éµÄ¹¦ÄÜÊÇ»ùÓÚSpark Streamingʵʱ¼ÆËã¿ò¼Ü±àдÔÚÏß

´¦Àí³ÌÐò£¬ÊµÊ±¶ÁÈ¡Êý¾Ý½ÓÈëϵͳ½ÓÈëµ½KafkaÏûÏ¢¶ÓÁÐÀïµÄÈÕÖ¾£¬Éú³ÉÊý¾ÝÁ÷£¬²

¢½«Êý¾ÝÁ÷ÓëѵÁ·µÃµ½µÄÌØÕ÷¿âÀïµÄÌØÕ÷½øÐÐÆ¥Å䣬ÈôÏàËƶÈ

´óÓÚÒ»¸öãÐÖµ£¬¸øÊý¾Ý±ê¼ÇÉÏÏàÓ¦µÄÊý¾ÝÀà±ð¡£ÈôÊý¾ÝÓëÌØÕ÷¿âÀïµÄÈ«¶¼²»ÏàËÆ£¬»òÕßÓë¶àÓà

Ò»¸öÌØÕ÷ÏàËÆ£¬ÊÓΪÐÂÊý¾Ý£¬´òÉϲ»Æ¥Åä±ê¼Ç£¬ÕâЩÊý¾ÝÐèÒªÖØÐÂѵÁ·¡¢·ÖÀà¡£ 1¡¢ Ö÷Òª

´úÂëʵÏÖ

文库下载 免费文档下载https://www.wenkuxiazai.com/

´´½¨Spark Streaming³ÌÐòÈë¿Ú£º SparkConf conf = new SparkConf();

conf.setAppName("StreamingLogMatcher");

.set("spark.streaming.receiver.writeAheadLog.enable", "true"); JavaSparkContext jsc =

new JavaSparkContext(conf); JavaStreamingContext Duration(5000));

µ÷ÓÃKafka½Ó¿Ú£¬¶ÁÈ¡KafkaÄÚµÄÈÕÖ¾Á÷Êý¾Ý£º

<String, Strinhttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlg> kafkaParams = new

HashMap<String, String>(); kafkaParams.put("zookeeper.connect", ZK_QUORUM);

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

kafkaParams.put("group.id", GROUP_ID);

= new JavaStreamingContext(jsc, new

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

.put("zookeeper.connection.timeout.ms", "10000");

kafkaParams.put("KafkaTopicSchema", schema);

.put("auto.offset.reset", "smallest");// topicÊý¾Ý¿ÉÒÔÖظ

´¶ÁÈ¡ JavaPairInputDStream<String, String[]> eachStream = KafkaUtils .createStream(jssc, String.class,

String[].class, StringDecoder.class, AvroSDecoder.class, kafkaParams, topicMap,

StorageLevel.MEMORY_AND_DISK_SER());

¡¢ ¹¦ÄܲâÊÔ

ÊäÈë4ÌõÈÕÖ¾Á÷Êý¾Ý£¬½«ÆäÓëÌØÕ÷¿âÀïµÄ½øÐÐÆ¥Å䣺 503_DFA 3

2014-12-21 00:25:34 BJLTSH-503-DFA-CL-SEV13

.x[23479]: ¿ªÊ¼±éÀú /var/log/asmis/outer ϵÄËùÓÐÎļþ 503_DFA 3

2014-12-21 00:25:35 http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlBJLTSH-503-DFA-CL-

SEV13

.x[23479]: ¿ªÊ¼±éÀú /var/log/asmis/mwp ϵÄËùÓÐÎļþ 503_DFA 3

2014-12-21 00:25:45 BJLTSH-503-DFA-CL-SEV13ip 2014-12-21 00:25:41 BJLTSH-503-DFA-CL-SEV13

[1612]: Connection from UDP: [ip]:55419 503_DFA 3

文库下载 免费文档下载https://www.wenkuxiazai.com/

[1612]: Connection from UDP: [ip]:62959

Êä³ö½á¹ûÈçͼ4-4Ëùʾ£º

ͼ4-4Á÷ÈÕÖ¾·ÖÀà½á¹û

½áÂÛ£ºÇ°Á½ÌõÊý¾ÝÆ¥Åä³É¹¦£¬

´òÉÏÁËÀà±ð±êÇ©L_1£¬ºóÁ½ÌõÊý¾ÝΪÐÂÊý¾Ý£¬ÏÖÓеÄÌØÕ÷±êÇ©¿âÀïµÄÌØÕ÷£¬Ã»ÓÐÓë֮ƥÅäµ

ÄÏ¹Ê´òÉÏNotagµÄ±êÇ©¡£

.2.4 ÀëÏßÈÕÖ¾·ÖÀàÄ£¿é

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

ÀëÏßÈÕÖ¾·ÖÀàÄ£¿éÖ÷Òª¹¦ÄÜÊÇ£ºÕë¶ÔÒÑÂäµØµ½hive±íÖеÄSyslogÈÕÖ¾£¬»ù

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

ÓÚÄÚ´æ¼ÆËã¿ò¼ÜSpark½øÐÐÀëÏß·ÖÀà²Ù×÷¡£ÆäÖ÷ÒªÓ¦ÓÃÊÇ£¬¶ÔÓÚÁ÷ÈÕÖ¾·ÖÀàÄ£¿éÎ

´Æ¥ÅäÉÏÈκÎÒÑÓÐÌØÕ÷µÄÊý¾Ý£¬ÎÒÃÇÊÓΪÐÂÊý¾Ý£¬ËüÃÇÓëÒÑÓÐÌØÕ÷±êÇ©¿âÀïµÄÌØÕ÷¶¼²»ÏàË

Æ£¬ËùÒÔÐèÒª¶ÔÕâЩÊý¾ÝÖØÐÂѵÁ·³öеÄÌØÕ÷¼°±êÇ©£¬È»ºó¸ù¾ÝÐÂÌØÕ÷¼°±êÇ©¶ÔÕâЩÊý

¾Ý½øÐÐÀëÏßÈÕÖ¾·ÖÀà¡£

¡¢Ö÷Òª´úÂëʵÏÖ

´´½¨³ÌÐòÈë¿Ú¶ÔÏó£º

sparkConf = new SparkConf().setAppName("AddLabel"); JavaSparkContext jsc = new

JavaSparkContext(sparkConf); µ÷ÓÃnewAPIHadoopRDD½Ó¿Ú¶ÁÈ¡Ö¸¶¨Hive±íÖеÄÊý¾Ý£º Configuration

inputConf = new Configuhttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlration(); Job job =

Job.getInstance(inputConf);

.setInput(job.getConfiguration(), dbName, sourceTable, trainPartition);

文库下载 免费文档下载https://www.wenkuxiazai.com/

<WritableComparable, SerializableWritable> sourceRDD =

jsc .newAPIHadoopRDD(job.getConfiguration(),SerHCatInputFormat.class,

WritableComparable.class,SerializableWritable.class);

¡¢¹¦ÄܲâÊÔ

ÊäÈëÊý¾Ý£¬Á÷ÈÕ־ƥÅäÄ£¿éδƥÅäµÄÈÕÖ¾Êý¾Ý£º Notag 503_DFA Notag 503_DFA

3

2014-12-21 00:25:45 BJLTSH-503-DFA-CL-SEVip 2014-12-21 00:25:41 BJLTSH-503-DFA-CL-SEV

snmpd[1612]: Connection from UDP: [ip]:55419 13 snmpd[1612]: Connection from UDP:

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

[ip]:62959

Êä³ö½á¹ûÈçͼ4-5Ëùʾ£º

ͼ4-5 ÀëÏßÈÕÖ¾·ÖÀà½á¹û

½áÂÛ£ºÎ´Æ¥ÅäµÄÈÕÖ¾Êý¾ÝÔÚÐÂÌØÕ÷±êÇ©¿âµÄ»ù´¡ÉÏ£¬ÖØÐÂÆ¥Åä³É¹¦£¬Íê³ÉÀëÏß·ÖÀ๦ÄÜ¡£

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

.2.5 Ƶ·±ÏÍÚ¾òÄ£¿é

Ñ¡È¡Ò»¶Îʱ¼äÄڵĸ澯ÈÕÖ¾ºÍ³É¹¦·ÖÀàµÄsyslogÈÕÖ¾Êý¾Ý£¬°´Ê±¼äÅÅÐòºóÖ¸¶¨´°¿Ú

´óС£¬Éú³ÉÊÂÎñ¡£È»ºó»ùÓÚSpark

MLlib»úÆ÷ѧϰ¿âÀïµÄ¹ØÁª·ÖÎöAPI£¬¶ÔÊÂÎñ½øÐÐƵ·±ÏÍÚ¾ò£¬µÃµ½Æµ·±Ïî½øÐÐչʾ¡£²¢ÇÒ

´òӡÿÌõ¸æ¾¯Êý¾ÝÒ»¶Îʱ¼ä·¶Î§ÄÚµÄshttp://www.wenkuxiazai.com/doc/

b221583bf90f76c660371ab9.htmlyslogÊý¾Ý£¬¹©Óû§²é¿´¡£

文库下载 免费文档下载https://www.wenkuxiazai.com/

¡¢Ö÷Òª´úÂëʵÏÖ

conf = new SparkConf().setAppName("LogMergeAndMining"); SparkContext sc = new

SparkContext(conf);

sqlContext = new org.apache.spark.sql.hive.HiveContext(sc); //±éÀúÿ¸ö½ÚµãµÄÊý¾Ý£¬½øÐд¦Àí for (int k

= 0; k < ips.size(); k ) 2...)

ip = ips.get(k);

// »ñÈ¡¶ÔÓ¦ipµÄ¸æ¾¯ÈÕÖ¾Êý¾Ý£¨time,label£©¼üÖµ¶Ô

<String, String> alarm_log_map = getAlarmLogList(sqlContext,

// »ñÈ¡¶ÔÓ¦ipµÄÈÕÖ¾Êý¾ÝºÍ¸æ¾¯Êý¾ÝµÄºÏ²¢Êý¾Ý

<List<String>> logMergeList = getMergeLogList(sqlContext,

,

,

,

,

,alarmPartition,

, alarmTable, ip, alarmPartition);

;// Èç¹û´Ë—l¼þÏ›]Óи澯Êý¾Ý£¬Ìøß^ß@Ò»´ÎÑ»· if (alarm_log_map.isEmpty())

_log_map);

(logMergeList.size() == 0)

// ÿ¸ô10·ÖÖÓ£¬È¡30·ÖÖÓÄڵijöÏÖµÄÈÕÖ¾Àà±ð×÷Ϊһ¸öÊÂÎñ(Àà1,Àà

;// Èç¹ûºÏ²¢Êýhttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html¾ÝΪ¿Õ£¬Ìø¹ýÕâÒ»´ÎÑ»·

<List<String>> transactions = getTransactions(logMergeList, if (transactions.size() == 0)

;// Èç¹ûÉú³ÉÊÂÎñÊý¾ÝΪ¿Õ£¬Ìø¹ýÕâÒ»´ÎÑ»·

, stepSize);

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

// ´´½¨FPTree£¬½øÐÐƵ·±ÏÍÚ¾ò

文库下载 免费文档下载https://www.wenkuxiazai.com/

(transactions, fptreePath, minSupport, ip, sqlContext,

, alarm_log_map, logTable, alarmPartition, stepSize,timeScope, timeScale); alarm_label_map.clear();

// ºÏ²¢ËùÓÐipÉÏÉú³ÉµÄƵ·±Ï£¬Ð´µ½Ò»¸öhdfsÎļþ mergeAllFPTree(fptree_map, fptreePath, timeScope);

¡¢¹¦ÄܲâÊÔ

ÊäÈëÊý¾Ý£¬·ÖºÃÀàµÄsyslogÈÕÖ¾ºÍ¸æ¾¯ÈÕÖ¾Êý¾Ý£¬¾ßÌåÊý¾ÝÄÚÈÝ

´Óhive±íÖлñÈ¡¡£¸æ¾¯ÈÕ־ʵÀýÈçÏ£º Êä³ö½á¹ûÈçͼ4-

6Ëùʾ£¬Ã¿¸öip¶ÔÓ¦Éú³ÉÒ»¸öÎļþ£¬ÎļþÄÚÈÝÈçÏ£º

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

ͼ4-6 Ƶ·±ÏÍÚ¾ò½á¹û

½áÂÛ£ºÊä³ö½á¹ûÏÔʾ£¬³ÌÐò³É¹¦¹¹½¨µÄƵ·±ÏÊ÷£¬²¢Êä³öÁËÓë¸æ¾¯ÈÕÖ¾Ïà¹ØµÄһЩƵ·±Ïî¡£

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

.3±¾ÕÂС½á

Õë¶ÔÊý¾Ý¼ÓÔØ×ÓϵͳºÍÔËάÈÕÖ¾¹ØÁª·ÖÎö×ÓϵͳµÄÉè¼Æ£¬±¾Õ¶ÔϵͳµÄ¾ßÌåʵÏÖ½øÐÐÁ˽éÉÜ

£¬²¢¸½ÉÏÁËÿ¸öÄ£¿éһЩÖ÷ÒªµÄ´úÂëµÄʵÏÖ£»Í¬Ê±£¬¶Ôÿ¸öÄ£

¿éµÄ¹¦ÄܽøÐÐÁ˾ßÌå°¸Àý²âÊÔ£¬²âÊÔ½á¹ûÂú×ãÉè¼ÆÒªÇó¡£

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

µÚ5ÕÂhttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html ´î½¨Hadoopƽ̨

ÎÒÃÇÑ¡ÔñCloudera MangagerÀ´¹ÜÀíHadoop¼¯Èº£¬Cloudera

Manager¿ÉÒÔ¶Ô¼¯Èº½øÐнڵ㰲װ¡¢·þÎñÅäÖõȣ¬ÌṩWeb

文库下载 免费文档下载https://www.wenkuxiazai.com/

´°¿Ú½çÃæÌá¸ßÁËHadoopÅäÖÿɼû¶È£¬½µµÍÁ˼¯ÈºÉèÖõĸ

´ÔӶȡ£Í¬Ê±Ëüͨ¹ýͳ¼ÆͼÏÔʾ¼¯ÈºÖÐ×ÊÔ´µÄʹÓÃÇé¿ö£¬Ê¹ÏµÍ³¹ÜÀíÕßÄܹ»ºÏÀíµÄ·ÖÅäϵͳ×ÊÔ´¡£

.1¼¯Èº¹æ»®

ÏÂÃæÌṩ¸÷×é¼þÔÚ¼¯ÈºÖв¿ÊðµÄ½ÇÉ«·ÖÅäÇé¿ö£¬Õë¶Ôÿ¸ö·þÎñ£¨ÈçHDFS£©£¬¾ßÌå½ÇÉ«£¨ÈçNameN

ode¡¢SecondaryNameNode£©Ó뼯Ⱥ½ÚµãµÄÓ³Éä¹Øϵ¡£

±í4-1½ÇÉ«·ÖÅä

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

.2²¿ÊðÇ°×¼±¸

.2.1 ÐÞ¸ÄÖ÷»úÃû

°´ÕÕͳһÃüÃû¹æÔòÐ޸ļ¯Èº¸÷¸öÖ÷»úµÄÖ÷»úÃû¡£

. ÔÚ/etc/sysconfig/networkÐÞ¸ÄHOSTNAME²¢±£´æ£¬ÒÔÓÀ¾ÃÐÞ¸ÄÖ÷»úÃû¡£ÎÄ

¼þÄÚÈÝÈçÏÂËùʾ£»

=yes HOSTNAME=vmx185

. ÖØÆônetwork·þÎñʹÐÞ¸ÄÉúЧ¡£

network restart

×¢£ºÊ¹ÓÃhostname²é¿´Ö÷»úÃû£¬·µ»ØµÄÒÀÈ»ÊǾɵģ¬ÐèÒªÖØеǽ¡£ 5.2.2 ÅäÖò

¢Í¬²½hostsÎļþ

¼¯ÈºÖи÷¸öÖ÷»úÖ®¼äͨÐÅʹÓÃͳһµÄÖ÷»úÃûÅäÖ㬼´Ã¿¸öÖ÷»úÉϵÄ/etc/hostsÎļþµÄÄÚÈÝÏàͬ¡£

文库下载 免费文档下载https://www.wenkuxiazai.com/

. ¼¯ÈºÖÐͨÓõÄhostsÎļþÐèÒª°üº¬ËùÓÐÖ÷»úµÄipºÍ¶ÔÓ¦µÄÖ÷»úÃû£» ʾÀý£º

.0.0.1

.localdomain

.localdomain4

::1 localhost localhost.localdomain localhost6

localhost6http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html.localdomain6

.168.8.185 vmx185 192.168.8.186 vmx186 192.168.8.187 vmx187

. ½«hostsÎļþÊðµ½¼¯ÈºÖгý¹ÜÀí½ÚµãÍâµÄËùÓнڵãµÄ/etc/ÏÂÃæ¡£

×¢£º¸Ã²Ù×÷»á¸²¸ÇÔÓеÄ/etc/hostsÎļþ¡£ 5.2.3 °²×°²¢ÅäÖÃclush 1. °²×°clush

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

¿ÉÒÔÔÚ¼¯ÈºÉϲ¢ÐÐÖ´ÐÐshellÃüÁî²

¢ÊÕ¼¯ÃüÁîÊä³ö¡£Ê¹ÓÃclushÇ°ÐèÒªÅäÖõ±Ç°½Úµãµ½ËùÓнڵãµÄÃâµÇ½¡£

×¢£ºÔÚÈÕ³£¹¤×÷ËùʹÓõĽڵãÉϽøÐа²×°£¨¼´£¬Ç°ÃæÅäÖÃÃâµÇ½ʱʹÓõÄÖ÷½Úµã£©

ÏÂÔصØÖ·£º

://www.wenkuxiazai.com/index.php3/stat/4/idpl/19566669/dir/redhat_el_6/com/clustershell-1.6-

1.el6.noarch.rpm.html

¨Civh clustershell-1.6-1.el6.noarch.rpm

. ÅäÖÃÖ÷»úÐÅÏ¢

²Î¿¼ÈçϸñʽÅäÖýڵã×éºÏ£¨/etc/clustershell/groups£©¡£

文库下载 免费文档下载https://www.wenkuxiazai.com/

ͼ5-1 ÅäÖýڵã×éºÏÐÅÏ¢

. ²Î¿¼Ê¾Àý 1) Îļþ¿½±´

´Ó±¾µØ¿½±´µ½Ô¶³Ì½Úµã

¿½±´±¾µØµÄ/tmp/local_fileµ½all×éÖеÄËùÓнڵãµÄ/tmp/

-g all --copy /tmp/local_file --dest /tmp/

´ÓÔ¶³Ì½Úµã¿½±´µ½±¾µØ

½«Ô¶³Ì½ÚµãµÄ/tmp/local_file»ã¼¯µ½µ±Ç°½ÚµãµÄ/tmp/hellos/Ŀ¼ÖС£

-g all --rcopy /tmp/local_file --dest /tmp/hellos/

) Ãühttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlÁîÖ´ÐÐ

²é¿´·þÎñ״̬

-g all ¡°service network status¡±

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

.2.4 ÅäÖÃÃâµÇ½

. ÔÚÐèÒªÃâµÇ½µÄÖ÷½ÚµãÖ´ÐÐÈçÏÂÃüÁÒÔÉú³Éid_rsa.pubÎļþ£»

keygen -t rsa

文库下载 免费文档下载https://www.wenkuxiazai.com/

. ÅäÖÃssh_toolsϵÄhosts.sh£»

="host1 host2 host3"

. Ö´ÐÐssh_toolsϵÄssh_config.sh¡£

×¢£ºÖ´ÐÐÆÚ¼äÐèÒª¶à´ÎÊäÈë¶ÔÓ¦Ö÷»úµÄÃÜÂë

./ssh_config.sh hosts.sh

.2.5 ¹Ø±Õiptables¼°selinux

. ¹Ø±Õµ±Ç°ÔËÐеÄiptables·þÎñ£»

ÔÚËùÓнڵãÉÏÖ´ÐÐÈçÏÂÃüÁî

iptables stop 2. ²»ÔÊÐí¿ª»úÔËÐзÀ»ðǽ£»

ÔÚËùÓнڵãÉÏÖ´ÐÐÈçÏÂÃüÁî

iptables off

. ´ò¿ª/etc/selinux/config²¢ÐÞ¸ÄselinuxΪdisabled£»

. ±¸·Ý¼¯ÈºÖÐÆäËû½ÚµãµÄ/etc/selinux/configÎļþ(ÕâÀïµÄcluster.shÖв»°üº¬µ±Ç°½Úµã)£»

ÔÚËùÓнڵãÉÏÖ´ÐÐÈçÏÂÃüÁî(ÐëÈ·±£Ö»Ö´ÐÐÒ»´Î£¬·ñÔò±¸·Ý»áÒòΪ±»¸²¸Ç¶ø¶ªÊ§)

/etc/selinux/config /etc/selinux/config.bak 5. ¹Ø±Õ¼¯ÈºÖеÄËùÓнڵãµÄselinux

½«¹ÜÀí½ÚµãÉϵÄÐ޸ĺõÄ/etc/selinux/configÎļþ¿½±´µ½ÆäËûËùÓнڵ㣨²»°üº¬¹ÜÀí½Úµã£©

ÃüÁîʾÀýÈçÏÂ

¨Cg slaves --copy /etc/selinux/config --dhttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlest

/etc/selinux/

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

文库下载 免费文档下载https://www.wenkuxiazai.com/

. ÖØÐÂÆô¶¯¼¯ÈºÖеÄËùÓÐÖ÷»ú¡£

Ê×ÏÈÔÚ³ý¹ÜÀí½ÚµãÖ®ÍâµÄËùÓнڵãÉÏÖ´ÐÐÈçÏÂÃüÁî

È»ºóÔÙ¹ÜÀí½ÚµãÉÏÖ´ÐÐÈçÏÂÃüÁî

.2.6 ɾ³ý¾É°æ±¾µÄrpm°ü

ÐèÔÚËùÓнڵãÉÏÖ´ÐÐÈçÏÂÃüÁî¡£ 1. ɾ³ýCDHÏà¹Ø°ü

Èç¹ûÔÀ´µÄcdh°æ±¾ÎªCDH4£¬ÔòÖ´ÐÐÈçÏÂÃüÁî¡£

remove 'cloudera-manager-*' hadoop hue-common bigtop-*

Èç¹ûÔÀ´µÄcdh°æ±¾ÎªCDH3£¬ÔòÖ´ÐÐÈçÏÂÃüÁî¡£

remove 'cloudera-manager-*' hadoop-0.20 hue-common hadoop-pig oozie-client hive hadoop-hbase hadoop-

zookeeper bigtop-utils

. È·ÈÏÈ«²¿É¾³ý

ÔÚÿ̨½ÚµãÉÏÔËÐÐÈçÏÂÃüÁî²é¿´ÊÇ·ñÒѾɾ³ýÁËCDHÏà¹ØµÄ°ü¡£

list installed | grep cdh

Èç¹ûÒÀÈ»Óоɰ汾µÄCDH°ü£¬ÔòʹÓÃyumɾ³ý¡£

remove ¨Cy PACKAGA_NAME

文库下载 免费文档下载https://www.wenkuxiazai.com/

.2.7 °²×°ÅäÖÃHTTPD·þÎñ

. Ñ¡Ôñ·þÎñ½Úµã£¬Èçhost1

. ×¼±¸²Ù×÷ϵͳ°²×°¾µÏñ£¨Ðë°üº¬PackagesÎļþ¼Ð£©£¬²¢¹ÒÔص½ÏàӦĿ¼

-t iso9660 -o loop /mnt/sdc1/software/iso/rhel.6.2.iso /mnt/rheliso

×¢£ºÎª·ÀÖ¹ÖØÆôϵͳʱ¹ÒÔØʧЧ£¬ÔÚÎļþ/etc/fstabĩβÌí¼Ó£º

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

/homhttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmle/rhel.6.2.iso /mnt/rheliso iso9660

loop,ro 0 0 3. ÅäÖñ¾µØÁÙʱyumÔ´£¬ÓÃÓÚÔÚ±¾µØ°²×°httpd·þÎñ

ÔÚ/etc/yum.repos.d/Ŀ¼Ï´´½¨Îļþtmp.repo£¨ÄÚÈÝÈçÏ£©¡£

[tmp] name=tmp

=file:///mnt/rheliso enabled=1 gpgcheck=0 4. °²×°²¢Æô¶¯httpd·þÎñ

ʹÓÃÉÏÒ»²½´´½¨µÄ±¾µØÔ´½øÐа²×°£¨°²×°Ê±Èô³ö´í¿ÉÄÜÊÇ/etc/yum.repos.d/

·¾¶Ïº¬ÓÐÎÞЧµÄÅäÖÃÎļþ£¬ÎÊÌâÏêÇé¼ûÎĵµiHadoopFAQ.docx£©

install httpd service httpd restart chkconfig httpd on

.2.8 ·¢²¼HTTPDÄÚÈÝ

¸Ã²½Öè¼ÙÉèÔÚPackagesÎļþ¼ÐÏÂÒѾ´æÔÚrepodataÎļþ¼Ð¡£ ×¢£ºPackagesΪϵͳ·

¢Ðаæ¹âÅÌÖеÄÈí¼þ°üÎļþ¼Ð

. ´´½¨µ½PackagesµÄÁ¬½Ó£¨Ç뽫PATHÌ滻ΪÕæʵµÄ·¾¶£©

-s /mnt/rheliso /var/www/html/iso

. ´´½¨Ô´Â·¾¶/var/www/html/cm²¢½«cmÏà¹ØÎļþ½á¹¹·ÅÈë¸ÃĿ¼Ï£º

ͼ5-2 CMÏà¹ØÎļþ

文库下载 免费文档下载https://www.wenkuxiazai.com/

. ´´½¨Èí¼þÔ´£º

install createrepo cd /var/www/html/cm rm ¨Crf repodata

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

#È·±£createrepoÒÑ°²×°

#Èç¹ûrepodataÎļþ¼ÐÒѾ´æÔÚ£¬

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

#Ç뽫Æäɾ³ý

. # ¡°.¡±Îªµ±Ç°Ä¿Â¼

. ´´½¨Â·¾¶/var/www/html/parcels²¢½«ÏÂÔص½µÄparchttp://www.wenkuxiazai.com/doc/

b221583bf90f76c660371ab9.htmlelsÏà¹ØÎļþ·ÅÈë¸ÃĿ¼ÏÂ

ÐèÒªÏÂÔصÄÎļþ£ºCDH-5.2.0-1.cdh5.2.0.p0.36-el6.parcelºÍmanifest.json

ÏÂÔصØÖ·http://www.wenkuxiazai.com/cdh5/parcels/latest/ mkdir /var/www/html/parcels

×¢£ºÐèҪȷ±£¸ÃĿ¼¶ÔÓ¦·ÖÇøÓÐÖÁÉÙ20GBµÄ¿Õ¼ä¡£Èô¿Õ¼ä²»×㣬¿ÉÒÔʹÓ÷ûºÅÁ´½Ó¡£

. ¸øÎļþ¼ÐÌí¼ÓȨÏÞ¡££¨×¢£ºÈ·±£parcelsĿ¼¼°ÆäËùÓи¸Ä¿Â¼£¨Ö±µ½¸ùĿ¼£©ÓÐrxȨÏÞ£©

Èç¹ûÐèÒª£¬¿ÉÒÔʹÓÃÀàËÆ ÈçϵÄÃüÁî×éºÏ¡£

-R a rx /var/www/html/parcels # ÓÐ ¨CR chmod a rx /var/www/html chmod a rx /var/www chmod a rx /var

chmod a rx /

. ´ò¿ªä¯ÀÀÆ÷·Ö±ðÊäÈëÈçÏÂURL½øÐвâÊÔ£¬³öÏÖÈçͼ5-3Ëùʾ£¬ÔòÅäÖóɹ¦

://192.168.8.185/iso http://192.168.8.185/cm http://192.168.8.185/parcels

×¢£ºIPµØÖ·ÐÞ¸ÄΪ°²×°ÁËHTTPD·þÎñµÄIP

文库下载 免费文档下载https://www.wenkuxiazai.com/

# ÒÔ϶¼Ã»ÓÐ-R

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

ͼ5-3 ÅäÖóɹ¦ÏÔʾ

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

.2.9 ·Ö·¢yumÅäÖÃÎļþ 1. ±¸·Ý²¢½ûÓÃÒÑÓеÄyumÅäÖÃ

ÔÚËùÓÐÖ÷»úÉÏÖ´ÐÐÈçÏÂÃüÁî

/etc/yum.repos.d && rename repo repo.old *.repo

. ·Ö·¢package.repoµ½¼¯ÈºÄÚËùÓнڵã

¨Cg all --http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlcopy package.repo --dest

/etc/yum.repos.d/

×¢£ºpackage.repoÄÚÈÝÈçÏÂËùʾ£¨IPµØÖ·ÐÞ¸ÄΪÉÏÒ»²½Öдhttpd·þÎñÆ÷µÄip»òhostname£©

[package] name=iso

=http://192.168.8.185/iso enabled=1 gpgcheck=0

文库下载 免费文档下载https://www.wenkuxiazai.com/

. ·Ö·¢cm.repoµ½¼¯ÈºÄÚËùÓнڵã

¨Cg all conf/cm.repo /etc/yum.repos.d/

×¢£ºcm.repoÄÚÈÝÈçÏÂËùʾ£¨IPµØÖ·ÐÞ¸ÄΪÉÏÒ»²½ÖдhttpdµÄ·þÎñÆ÷µØÖ·£© [cm] name=cm

=http://192.168.8.185/cm enabled=1 gpgcheck=0

.2.10 °²×°MySQL JDBCÇý¶¯

¼¯ÈºÖжദÓõ½ÁËMySQLÀ´´æ´¢ÔªÊý¾Ý£¬²¢ÇÒÔÚSqoopµÄÊý¾Ýµ¼ÈëºÍµ¼³öÖо-

³£Óõ½MySQL£¬Îª´Ë£¬ÎÒÃÇÔÚ¼¯ÈºÖа²×°MySQLµÄjdbcÇý¶¯³ÌÐò¡£ °²×°Çý¶¯³ÌÐò:

ÔÚËùÓнڵãÉÏÖ´ÐÐÈçÏÂÃüÁî

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

-y install mysql-connector-java

×¢£ºÈôÐèҪʹÓÃsqoop¹¤¾ß£¬ÔòÐèÒª½«jar°ü¿½±´µ½SQOOP_HOMEÏ ÔÚËùÓнڵãÉÏÖ´ÐÐÈçÏÂÃüÁî

cp

/usr/lib/sqoop/lib/

/usr/share/java/mysql-connector-java.jar

.3°²×°CM-Server

Ñ¡ÔñÒ»¸ö½ÚµãÓÃÀ´°²×°cloudera manager server¡£

. °²×°cloudera-manager-serverºÍcloudera-manager-server-db-2

install cloudera-manager-server*

mysql-serhttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlver

. ÉèÖ÷þÎñΪ¿ª»úÆô¶¯

cloudera-scm-server on chkconfig cloudera-scm-server-db on chkconfig mysqld on

文库下载 免费文档下载https://www.wenkuxiazai.com/

. Æô¶¯MySQL£¬×÷ΪCM-serverµÄºó¶Ë´æ´¢£¬ÐèÒª´´½¨¶ÔÓ¦Êý¾Ý¿â¼°¸³ÓèȨÏÞ

mysqld start

. ÔÚmysqlÖд´½¨¶ÔÓ¦Óû§ºÍÊý¾Ý¿â£º

>create database cmf default character set utf8 collate utf8_general_ci;

>grant all on cmf.* to 'cmf'@'localhost' identified by 'cmf';

> flush privileges;

. ±à¼/etc/cloudera-scm-server/db.properties£¬½«cmf¿âÕýÈ·ÅäÖá£

.cloudera.cmf.db.type=mysql

.cloudera.cmf.db.host=localhost http://www.wenkuxiazai.com=cmf

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

://www.wenkuxiazai.comer=cmf com.cloudera.cmf.db.password=cmf

. Æô¶¯CM-server¡£

cloudera-scm-server-db start service cloudera-scm-server start

. ÉèÖ÷þÎñ¿ª»ú×Ô¶¯Æô¶¯¡£

cloudera-scm-server-db on chkconfig cloudera-scm-server on

.4·Ö·¢CDH°ü

ÔÚCMµÄserver½Úµã°²×°¾Íhttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlÐ÷ºó,·ÃÎÊCM-

serverIP:7180£¬ÒÔadminÕË»§µÇ½£¬Ä¬ÈÏÃÜÂëΪadmin¡££¨Ê״εǼClouderaManager¹ÜÀí½çÃæʱ

£¬Ó¦Ñ¡Ôñ¡°ÆóÒµÊÔÓð桱£¬ÈçÏÂͼ£©

. ËÑË÷Ö÷»ú£»

¶à¸öip£¨»òÖ÷»úÃû£©Ö®¼äÒÔ¡°,¡±£¨Ó¢ÎĶººÅ£©¸ô¿ª£¬Ò²¿ÉÒÔʹÓÃÖÐÀ¨ºÅÀ

´±íʾÁ¬ÐøµÄip»òhostname£¨Èç

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

文库下载 免费文档下载https://www.wenkuxiazai.com/

192.168.8.1[85-87]»òdatanode1[85-87]£©£»

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

. ÉèÖÃJDK°²×°Ñ¡ÏĬÈϼ´¿É£©£»

. ¼¯Èº°²×°

Ñ¡Ôñ¡°Ê¹ÓÃparcels¡±£¬Í¬Ê±µã»÷¸ü¶àÑ¡Ï²¢ÇÒÌîд֮ǰÅäÖúõÄparcel·¾¶£¬ÀýÈ磺http://

192.168.8.185/parcels¡£Í¬Ê±£¬Ìîдcloudera managerµÄyumÔ´µÄµØÖ·£ºhttp://192.168.8.185/cm

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

. µã»÷¼ÌÐøºó£¬³ÌÐò»á×Ô¶¯ÔÚ¼¯ÈºÖа²×°CDH-

parcel£¬ÈçÏÂͼÍê³Éºóµã»÷¡°¼ÌÐø¡°£¬Ö±ÖÁÕû¸ö¹ý³Ì°²×°Íê±Ï¡£

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

文库下载 免费文档下载https://www.wenkuxiazai.com/

ÖÁ´Ë£¬¼¯ÈºCDH´î½¨Íê±Ï£¬¿ÉÒÔ¸øCDH¼¯Èº°²×°·þÎñ£¬ÏêÇé¼ûÏÂÒ»½Ú¡£

.5°²×°CDH·þÎñ

_HOME±íʾµ½´ïµ±Ç°¼¤»îµÄparcelµÄ·¾¶£¬È磺/opt/cloudera/parcels/CDH-5.2.0-1.cdh5.2.0.p0.36/ 5.5.1

°²×°ZOOKEEPER

. µã»÷¡°²Ù×÷¡±£¬Ñ¡Ôñ¡°Ìí¼Ó·þÎñ¡±£» 2. Ñ¡Ôñzookeeper£¬²¢¡°¼ÌÐø¡±£»

[´Ë´¦Í¼Æ¬Î´http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlÏÂÔسɹ¦]

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

. ÅäÖ÷þÎñÆ÷½ÇÉ«£»

. ÅäÖá°Êý¾ÝĿ¼¡±ºÍ¡°ÊÂÎñÈÕ־Ŀ¼¡±£¬È·¶¨ºó¡°½ÓÊÜ¡±£»£¨Ò»°ã°´ÍƼöÉèÖü´¿É£©

×¢£ºÈç¹û/varËùÔÚ·ÖÇø¿ÉÓÿռäСÓÚ30GB£¬Ç뽫¡°Êý¾ÝĿ¼¡±ÅäÖõ½ÆäËû·ÖÇø¡£

. ·þÎñ³õʼ»¯£¬Íê³Éºóµã»÷¡°¼ÌÐø¡±

.5.2 °²×°HDFS

. µã»÷¼¯ÈºÓÒ²àµÄÏÂÀ²Ëµ¥£¬Ñ¡Ôñ¡°Ìí¼Ó·þÎñ¡±£» 2. Ñ¡Ôñ¡°HDFS¡±²¢µã»÷¡°¼ÌÐø¡±£» 3. ·ÖÅä½ÇÉ«£»

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

文库下载 免费文档下载https://www.wenkuxiazai.com/

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

. ÅäÖýÇÉ«µÄ±¾µØ´æ´¢Ä¿Â¼£¬°üÀ¨DataNode¡¢NameNodeºÍSecondaryNameNode¶¼ÐèÒªÅäÖã»

. µÈ´ý·þÎñ°²×°Íê³É£¬µã»÷¡°¼ÌÐø¡±ÒÔÍê³É°²×°¹ý³Ì£»

. HDFS°²×°Íê³ÉÖ®ºóÐèÒªÊÖ¶¯Ìí¼Ó Gateway ½ÇÉ«¡£½øÈëHDFS·þÎñµÄ¡°ÊµÀý¡±

±êǩҳϣ¬µã»÷¡°Ìí¼Ó½ÇɫʵÀý¡±£»

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

. Ìí¼ÓGateway½ÇÉ«Ö÷»úÖ®ºó£¬µã»÷ÏÂÒ»²½£¬Ö±ÖÁÌí¼Ó½áÊø¡£

.5.3 °²×°YARN

. µã»÷¡°²Ù×÷¡±£¬Ñ¡Ôñ¡°Ìí¼Ó·þÎñ¡±£» 2. Ñ¡Ôñmapreduce°æ±¾£¬ÒÔyarnΪÀý£» 3. Ñ¡ÔñÒ»×éÒÀÀµ¹Øϵ£¬¼

´Ê¹ÓõÄhdfs·þÎñ£»

. ·ÖÅä½ÇÉ«£»£¨½¨ÒéResourceManagerÉϲ»ÒªÔÙ·ÖÅäNodeManager½ÇÉ«£©£»

文库下载 免费文档下载https://www.wenkuxiazai.com/

. ÅäÖÃyarnÏà¹Ø·¾¶£»£¨×¢£ºÈôÓжà¸ö´ÅÅÌ£¬yarn.nodemanager.local-dirsÊôÐÔ²»ÐèÒªÅäÖõÚÒ»¸ö

´ÅÅÌ£©£»

://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

. µã»÷¡°½ÓÊÜ¡±£¬Ö´ÐÐÅäÖã»

. YARN°²×°Íê³ÉÖ®ºóÐèҪȷ¶¨Gateway½ÇÉ«ÒÑÌí¼Ó¡£ÈôÎÞGateway½ÇÉ«£¬½øÈëYARN·þÎñµÄ¡°ÊµÀý¡±

±êǩҳϣ¬µã»÷¡°Ìí¼Ó½ÇɫʵÀý¡±£»

. Ìí¼ÓGateway½ÇÉ«Ö÷»úÖ®ºó£¬µã»÷ÏÂÒ»²½£¬Ö±ÖÁÌí¼Ó½áÊø£»

.5.4 °²×°HIVE

. µã»÷¡°²Ù×÷¡±£¬Ñ¡Ôñ¡°Ìí¼Ó·þÎñ¡±£» 2. Ñ¡Ôñhive£»

. Ñ¡ÔñÒÀÀµµÄhdfsºÍmapreduce·þÎñ£»

. ·ÖÅä½ÇÉ«£»

Ò²¿ÉÒÔ¸ù¾ÝÐèÇó·Ö±ðÑ¡Ôñ¶à¸ö¡°Hive MetaStore¡±ºÍ¡°HiveServer2¡±½ÇÉ«£¬Í¼ÖÐΪѡÔñÒ»¸öµÄÇé¿ö¡£

£¨×¢£ºÃ¿¸ö½Úµã¶¼±ØÐë·ÖÅäGateway½ÇÉ«£©

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

文库下载 免费文档下载https://www.wenkuxiazai.com/

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

. ÅäÖÃmetastore·þÎñʹÓõÄÊý¾Ý¿â£»

) ÌîдÖ÷»úºÍ¶Ë¿Ú¡¢Êý¾Ý¿âÀàÐÍ¡¢Êý¾Ý¿âÃû³Æ¡¢Óû§ÃûºÍÃÜÂë¡£ÒÔÏ°´ÕÕʹÓÃmysql½øÐÐÅäÖã»

) ÔÚ×÷Ϊhive metastoreµÄ½ÚµãÉÏ°²×°msyql-serverºÍmysql-connector-java£¬ÉèÖÃmysqldΪ¿ª»ú×ÔÆô¶¯²

¢Æô¶¯mysqld·þÎñ

-y install mysql-server mysql-connector-java chkconfig mysqld on service mysqld start 3) ´´½¨Êý¾Ý¿â£»

×¢£ºÍƼöʹÓöÀÁ¢µÄÊý¾Ý¿â£¬Ãû³ÆÍƼöʹÓÃhive

>create database HIVE_DB;

)

ÔÊÐímetastore·þÎñËùhttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlʹÓõÄmysqlÓû§¶

Ômysql·þÎñÆ÷½øÐзÃÎÊ£¨Ç뽫USER¡¢PASSWORDÌ滻ΪÕæʵµÄÖµ£©£»

>grant all privileges on HIVE_DB.* to 'USER'@'metastoreËùÔÚÖ÷»ú' identified by 'PASSWORD';

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

mysql>flush privileges;

) ¡°²âÊÔÁ¬½Ó¡±£¬Èç¹û²»Í¨¹ý£¬Ôò¿É¸ù¾Ý³ö´íÐÅÏ¢×öÏàÓ¦²Ù×÷£»

×¢£ºmysql serverµÄĬÈ϶˿ÚΪ3306¡£

文库下载 免费文档下载https://www.wenkuxiazai.com/

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

) µã»÷¡°¼ÌÐø¡±£¬Ö´ÐÐÅäÖð²×°£»

) °²×°Íê³ÉºóʹÓÃhdfsµÇ¼£¬²¢½øÐÐÏà¹Ø²âÊÔ¡£

. ÅäÖÃHive²Ö¿âĿ¼ºÍHive Metastore·þÎñÆ÷¶Ë¿Ú£¬È·¶¨ºóµã»÷¡°½ÓÊÜ¡±£»£¨Ò»°ãʹÓÃĬÈÏÅäÖü

´¿É£©£»

. ·þÎñ°²×°¼°Æô¶¯£¬Íê³Éºóµã»÷¡°¼ÌÐø¡±¡£

.6±¾ÕÂС½á

±¾Õ½áºÏÂÛÎÄʵ¼Ê¹¤×÷£¬Ïêϸ½éÉÜÁËÀûÓÃCloudera Manager´î½¨Hadoopƽ̨

µÄ¼¯Èº¹æ»®ºÍ´î½¨¹ý³Ì£¬Cloudera Manager¿ÉÒÔ¶Ô¼¯Èº½øÐнڵ㰲װ¡¢·þÎñÅäÖõȣ¬

ÌṩWeb´°¿Ú½çÃæÌá¸ßÁËHadoopÅäÖÿɼû¶È£¬½µµÍÁ˼¯ÈºÉèÖõĸ

´ÔӶȡ£Í¬Ê±Ëüͨ¹ýͳ¼ÆͼÏÔʾ¼¯ÈºÖÐ×ÊÔ´µÄʹÓÃÇé¿ö£¬Ê¹ÏµÍ³¹ÜÀíÕßÄܹ»ºÏÀíµÄ·ÖÅäϵͳ×ÊÔ´¡£

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

[´Ë´¦Í¼Æ¬Î´ÏÂÔسɹ¦]

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

µÚ6Õ ½áÂÛ

°éËæ×ÅÒµÎñϵͳ¹æģѸËÙÔö¼Ó£¬¼¯Èº½ÚµãÊý

文库下载 免费文档下载https://www.wenkuxiazai.com/

´ïµ½¼¸°ÙÉÏǧ̨ÉõÖÁ¸ü¶à£¬ÔËάÈÕÖ¾¹æÄ£ËæÖ®¼±¾çÔö¼Ó¡£Õë¶Ô¸÷ÔËάϵͳ¼äÊý¾Ý¶ÀÁ¢´æ´¢

£¬È±·¦¹ØÁª·ÖÎöµÄ²»×ãÖ®

´¦£¬ÆÈÇÐÐèÒª¶ÔÔËάÈÕÖ¾½øÐÐͳһµÄ×éÖ¯¹ÜÀí£¬ÒÔ¼°½øÐÐÊý¾ÝÍÚ¾òºÍ¹ØÁª·ÖÎö£¬¹¹ÖþÖÇÄÜÔË

άϵͳ¡£

±¾ÎĵÄÖ÷Òª¹¤×÷³É¹ûÓÐÈçϼ¸¸ö·½Ã棺://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlpar

£¨1£© Ñо¿Cloudera CDH¶ÔHadoopƽ̨µÄ·â×°£¬´î½¨Íê³É»ùÓÚHadoop

µÄÈÕÖ¾²É¼¯·ÖÎöƽ̨£¬¹²9¸ö½Úµã¡£

£¨2£© ƽ̨ÌṩÁËͳһÊý¾Ý´æ´¢¹æ·¶£¬ÌṩÁËͳһµÄÊý¾Ý·ÃÎÊ·½Ê½£¬¼´

±íÊý¾Ý¹ÜÀí²ã£¬¸Ã·½Ê½Äܹ»ÆÁ±Îµ×²ãµÄÊý¾Ý´æ´¢¸ñʽ£¬ÌṩͳһµÄÊý¾ÝºÍģʽ·ÃÎʽӿڣ¨¼

´¹ØϵÊý¾ÝÄ£ÐÍ£©¡£ÒÔHCatInputFormat¡¢HCatOutputFormat·Ö±ð¶ÔÓ¦±íÖÐÊý¾ÝµÄÊäÈëºÍÊä³ö£¬ÒÔHCa

tRecordÃèÊöÒ»Ìõ¼Ç¼£¬ÒÔHCatSchemaÃèÊö¼Ç¼Óë×Ö¶ÎÀàÐ͵ĶÔÓ¦¹Øϵ¡£ÊµÏÖÁËÊý¾Ý¼ÓÔØ¡¢´æ

´¢ºÍ·ÃÎʵÄͳһ¡£

£¨3£© Éè¼Æ²¢ÊµÏÖÁËÖ§³Ö¶àÖÖ¸ñʽ¶àÖÖÊý¾ÝÔ´µÄÊý¾Ý¼ÓÔØϵͳ£¬Íê³ÉÁË

¡¢SMART¡¢CSVµÈ¶àÖÖ¸ñʽÊý¾ÝµÄ¿É¿¿½ÓÈ룬֧³Ö½ÓÈë¹ý³ÌÖÐÊý¾ÝµÄʵʱ´¦Àí¡£

£¨4£© Ö§³ÖMR¡¢SparkµÈ¼ÆËã¿ò¼Ü£¬Ö§³ÖSpark Streaming¼ÆËãÒýÇæ¡£ £¨5£© Éè¼Æ²

¢ÊµÏÖÁËÔËάÈÕÖ¾¹ØÁª·ÖÎöϵͳ£¬Íê³ÉÁËSyslogÈÕÖ¾¾ÛÀ༰Óë

¸æ¾¯ÈÕÖ¾µÄ¹ØÁª¹æÔòÍÚ¾ò¹¦ÄÜ¡£ÑµÁ·Êý¾Ý¹²9000WÌõ£¬¾Û³É902Àà¡£Spark Streamingʵʱ

±ê¼ÇSyslogÁ÷ÈÕÖ¾Êý¾Ý£¬Ã¿ÌìÈÕÖ¾Á¿Ô¼200WÌõ£¬ÒÑÕý³£ÔËÐÐ3¸öÔ£¬ÒÑ

´¦ÀíÔ¼5.4GÊý¾Ý£¬Ô¼18ÒÚÌõÈÕÖ¾¡£

£¨6£© ¶¨Ê±ÍÚ¾òSyslogÈÕÖ¾Óë¸æ¾¯Êý¾Ý¹ØÁª¹Øϵ£¬Ö¸¶¨Ê±¼ä·¶Î§Êý¾Ý½øÐÐ

¹ØÁª·ÖÎö¡£

±¾ÎŤ×÷µÄ²»×ã¼°¶ÔÒÔºóÑо¿µÄÕ¹Íû£º

ÓÉÓÚʱ¼äºÍ»·¾³µÄÔ-

Òò£¬±¾ÎĶÔÓÚÔËάÈÕÖ¾µÄ²É¼¯·ÖÎöƽ̨µÄÑо¿£¬Ö÷Òª²àÖØÔÚ·½°¸Éè¼ÆºÍ»ù±¾¹¦ÄÜʵÏÖÉÏ£¬¶Ô

ÓÚƽ̨µÄÎȶ¨ÐÔ¼°ÐÔÄÜ·½Ã滹Î

´×öÏêϸµÄÑо¿£¬ÕâÊDZ¾ÎĵÄÖ÷Òª²»×㣬ҲÊÇÒԺ󱾿ÎÌâÑо¿µÄÖص㷽Ïò¡£

文库下载 免费文档下载https://www.wenkuxiazai.com/

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

²Î¿¼ÎÄÏ×

[1] ¼ÍÏ£Óí£®Êý¾ÝÍÚ¾ò¼¼ÊõÓ¦ÓÃʵÀý[M]£®±±¾©£º»úе¹¤Òµ³ö°æÉ磬

.4,47-52

[2] Tom White£®HadoopȨÍþÖ¸ÄÏ[M]£®Ôø´óµ¢£¬ÖÜ°ÁÓ¢Ò룮±±¾©£ºÇ廪

´óѧ³ö°æ£¬2010.5,1-1http://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.html2.

[3] µÔÖÜΰ. HadoopºËÐļ¼Êõ[M]£®±±¾©£º»úе¹¤Òµ³ö°æÉ磬2015.3,27-138 [4] Spark homepage:

http://www.wenkuxiazai.com.

[5] ÁÖ²Ô. »ùÓÚFlumeµÄÈÕÖ¾ÊÕ¼¯Í³¼Æϵͳ[D]. ÏÃÃÅ´óѧ, 2013. [6] Kafka homepage:

http://www.wenkuxiazai.com/

[7] Wadkar S, Siddalingaiah M. HCatalog and Hadoop in the Enterprise[M].

, 2014.

[8] Ñî´«»Ô£®´ó¹æÄ£·Ö²¼Ê½´æ´¢ÏµÍ³£ºÔÀí½âÎöÓë¼Ü¹¹ÊµÕ½[M]£®±±¾©£º

»úе¹¤Òµ³ö°æÉ磮2013.9,265-278£®

[9] ½¼Îºã£®Hadoopʵս[M]£®µÚ¶þ°æ£®±±¾©£º»úе¹¤Òµ³öÉ磮2012,11:45-86 [10] ¶-

Î÷³É£®Hadoop¼¼ÊõÄÚÄ»£ºÉîÈë½âÎöMapReduce¼Ü¹¹Éè¼ÆÓëʵÏÖÔ

Àí[M]£®±±¾©£º»úе¹¤Òµ³ö°æÉ磮2013,1:236-240£®

[11] ¶àÑ©ËÉ£¬Õž§£¬¸ßÇ¿£®»ùÓÚHadoopº£Á¿Êý¾Ý¹ÜÀíϵͳ[J]£®Î¢¼ÆËã»ú

ÐÅÏ¢£¬2010(26)£º202-204£®

[12] ¶Î÷³É. Hadoop¼¼ÊõÄÚÄ»£ºÉîÈë½âÎöHadoop CommonºÍHDFS¼Ü¹¹

Éè¼ÆÓëʵÏÖÔÀí[M]. ±±¾©£º»úе¹¤Òµ³ö°æÉ磬2013,4 [13] Aaron Kimball, Andrew Bayer. Flume 1.5.2

Developer Guide.

://www.wenkuxiazai.com/FlumeDeveloperGuide.html 2009/2012 [14] ºÂè¯. »ùÓÚApache

文库下载 免费文档下载https://www.wenkuxiazai.com/

FlumeµÄ·Ö²¼Ê½ÈÕÖ¾ÊÕ¼¯ÏµÍ³Éè¼ÆÓëʵÏÖ[J]. Èí

¼þµ¼¿¯, 2014

[15] Card S K£¬Pirolli P£¬Van Der Wege M£¬et

a1£®Prhttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmloceedings of the SIGCHI

Human factors in computing systems£®ACM£¬2001£º498¡ª505£®

[16] Dean J£¬Ghemawat S£®MapReduce£ºsimplified data processing on large

[J]£®Communications of the ACM£¬2008£¬51(1)£º107¡ª1 13£®

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

[17] ÕÔÁú. »ùÓÚhadoopµÄº£Á¿ËÑË÷ÈÕÖ¾·ÖÎöƽ̨µÄÉè¼ÆÓëʵÏÖ[D].´óÁ¬£º

´óÁ¬Àí¹¤´óѧ£¬2013.

[18] Leverich J£¬Kozyrakis C£®On the energy(in)efficiency of hadoop

[J]£®ACM

[19] SIGOPS Operating Systems Review£¬2010£¬44(1)£º61¡ª70£® [20] ½¼Îºã£®Hadoopʵս[M]£®±

±¾©£º»úе¹¤Òµ³ö°æÉ磬2011£® [21] ÏÄÉñ£®Hadoopƽ̨ϵÄ×÷Òµµ÷¶ÈËã·¨Ñо¿Óë¸Ä½ø[D]

£®¹ãÖÝ£º»ªÄÏÀí

¹¤´óѧ¼ÆËã»úÓ¦Óü¼Êõ£¬2010£®

[22] ÀîÔÆÌÒ£®»ùÓÚHadoopµÄº£Á¿Êý¾Ý´¦ÀíϵͳµÄÉè¼ÆÓëʵÏÖ[D]£®ºÚÁú

½£º¹þ¶û±õ¹¤Òµ´óѧÈí¼þ¹¤³Ì£¬2009£®

[23] ÍòÖÁÕ飮»ùÓÚMapReduceÄ£Ð͵IJ¢ÐмÆËãƽ̨µÄÉè¼ÆÓëʵÏÖ[D]£®Õã

½£ºÕã½´óѧÈí¼þ¹¤³Ì£¬2008£®

[24] ÕÅÎķ壮»ùÓÚMapReduceÄ£Ð͵ķֲ¼Ê½¼ÆËãƽ̨µÄÔÀíÓëÉè¼Æ

[D]£®Î人£º»ªÖпƼ¼´óѧ¼ÆËã»úÓ¦Óü¼Êõ£¬2010£®

文库下载 免费文档下载https://www.wenkuxiazai.com/

[25] ë¹ú¾ý£¬¶ÎÁ¢¾ê£®Êý¾ÝÍÚ¾òÔÀíÓëËã·¨£®±±¾©£ºÇ廪´óѧ³ö°æÉ磬

£®

[26] Zhengshao£®Hive¡ªProgress and

Future£ºOpenSouhttp://www.wenkuxiazai.com/doc/b221583bf90f76c660371ab9.htmlrce Solution for

[J]£®China Hadoop Salon£®2009(9)£º10-16£® [27] ½-

³©£®»ùÓÚHadoopµÄº£Á¿Êý¾Ýƽ̨µÄʵÏÖÓëÓÅ»¯[D]£®É½¶«£ºÉ½¶«

´óѧ¼ÆËã»úÓ¦Óü¼Êõ£¬2009¡£

ɽ¶«´óѧ˶ʿѧλÂÛÎÄ

Ö л

±¾ÂÛÎĵÄÑо¿¹¤×÷ÊÇÔÚÎҵĵ¼Ê¦xxxµÄϤÐÄÖ¸µ¼ºÍÑϸñÒªÇóÏÂÍê³ÉµÄ£¬xxxÀÏʦÈÏÕæÖ¸µ¼ÎÒÍê³ÉÁ

ËÂÛÎÄÑ¡Ìâ¡¢²éÔÄÎÄÏס¢¿ÎÌâ½øÕ¹¼°Õû¸öÂÛÎĵÄ׫Ð

´¹¤×÷¡£Ê±¹âÈçËó£¬×ªÑۼ䣬ÈýÄêµÄÑо¿Éúʱ¹â¼

´½«½áÊø¡£»ØÏëÑо¿Éú½×¶ÎµÄѧϰºÍÉú»î£¬ÎÒÓÉÖԵĸÐлÎҵĵ¼Ê¦xxxÀÏʦ£¬ÎÒµÄĸУɽ¶«´óѧÒ

Ô¼°ÎÒµÄÇ×ÓÑͬѧ¡£xxxÀÏʦÈÏÕæÑϽ÷µÄÖÎѧ̬¶È¡¢ÊµÊÂÇóÊǵŤ×÷×÷·çºÍÁ¼ºÃ¿ÆѧµÄ¹¤×÷·½·¨¶

ÔÎÒ²úÉúÁ˼«´óµÄÓ°Ï죬ÕâЩҲ¶¼ÊÇÎÒ½ñºó¹¤×÷ºÍѧϰµÄ°ñÑù¡£

ÔÚÕâÀÎÒѧµ½Á˷ḻµÄ֪ʶ£¬Ñ§»áÁ˺ܶà

´¦Àí½â¾öÎÊÌâµÄ·½·¨ºÍ¼¼ÇÉ£¬¶ÍÁ¶ÁËÒâÖ¾£¬Ä¥íÂÁ˸öÐÔ¡£ÕâÊÇÒ»¶Î³äʵµÄ¡¢ÖµµÃÁôÁµµÄʱ¹â¡£Ô

Ú´Ë£¬Ò»²¢¸Ðлɽ¶«´óѧ¼ÆËã»ú¿ÆѧÓë¼¼ÊõѧԺÀÏʦÃǶàÄêÀ´¶ÔÎҵĽÌÓýºÍÅàÑø¡£

ÁíÍ⣬Ҫ¸ÐлxxxʵÑéÊÒµÄÐֵܽãÃÃÃÇ£¬´ó¼Ò¹²Í¬ÓªÔìÁËÒ»¸öÁ¼ºÃµÄѧϰ·ÕΧ£¬Ò»Æð·

¢Ïֺͽâ¾öÎÊÌ⣬¹²Í¬´Ù½ø£¬Ï໥ѧϰ¡£

ÌرðÒª¸ÐлÎҵĸ¸Ä¸£¬ÄãÃǸøÓèÎÒÉú»îºÍѧϰÉϵĹذ®ºÍ¹ÄÀø£¬ÈÃÎÒÔÚ

ѧϰµÄµÀ·ÉÏÄܹ»Óгä×ãµÄ¶¯Á¦ºÍ×ÔÐÅÈ¥Ó½ÓÌôÕ½¡£

文库下载 免费文档下载https://www.wenkuxiazai.com/

×îºó£¬ÏòËùÓйØÐÄ°ïÖú¹ýÎÒµÄÀÏʦ¡¢Í¬Ñ§¡¢Ç×ÓѱíʾÓÉÖԵĸÐл£¡

文库下载网是专业的免费文档搜索与下载网站,提供行业资料,考试资料,教学课件,学术论文,技术资料,研究报告,工作范文,资格考试,word 文档,专业文献,应用文书,行业论文等文档搜索与文档下载,是您文档写作和查找参考资料的必备网站。文库下载 https://www.wenkuxiazai.com/上亿文档资料,等你来发现