标签为 Flume 的文章

Hadoop集群实践 之 (4) Hive搭建

目录结构
Hadoop集群实践 之 (0) 完整架构设计 [Hadoop(HDFS),HBase,Zookeeper,Flume,Hive]
Hadoop集群实践 之 (1) Hadoop(HDFS)搭建
Hadoop集群实践 之 (2) HBase&Zookeeper搭建
Hadoop集群实践 之 (3) Flume搭建
Hadoop集群实践 之 (4) Hive搭建

本文内容
Hadoop集群实践 之 (4) Hive搭建

参考资料
https://ccp.cloudera.com/display/CDHDOC/Hive+Installation
http://blog.csdn.net/cloudeep/article/details/4487181
http://jinghong.iteye.com/blog/1127968
http://dueam.org/2010/06/hive-%E5%8A%A0%E9%80%9Fmapreduce%E7%9A%84%E5%BC%80%E5%8F%91/
http://blog.csdn.net/hguisu/article/details/7282050
http://my.oschina.net/wangjiankui/blog/41442

安装配置Hive
OS: Ubuntu 10.10 Server 64-bit
Servers:
hadoop-master:10.6.1.150
- namenode,jobtracker;hbase-master,hbase-thrift;
- secondarynamenode;
- hive-master,hive-metastore;
- zookeeper-server;
- flume-master
- flume-node
- datanode,taskTracker

hadoop-node-1:10.6.1.151
- datanode,taskTracker;hbase-regionServer;
- zookeeper-server;
- flume-node

hadoop-node-2:10.6.1.152
- dataNode,taskTracker;hbase-regionServer;
- zookeeper-server;
- flume-node

对以上角色做一些简单的介绍:
namenode - 整个HDFS的命名空间管理服务
secondarynamenode - 可以看做是namenode的冗余服务
jobtracker - 并行计算的job管理服务
datanode - HDFS的节点服务
tasktracker - 并行计算的job执行服务
hbase-master - Hbase的管理服务
hbase-regionServer - 对Client端插入,删除,查询数据等提供服务
zookeeper-server - Zookeeper协作与配置管理服务
flume-master - Flume的管理服务
flume-node - Flume的Agent与Collector服务,具体角色由flume-master决定
hive-master - Hive的管理服务
hive-metastore - Hive的元存储,用于对元数据进行类型检查与语法分析

本文定义的规范,避免在配置多台服务器上产生理解上的混乱:
所有直接以 $ 开头,没有跟随主机名的命令,都代表需要在所有的服务器上执行,除非后面有单独的//开头的说明。

1. 安装前的准备
已经完成了 Hadoop集群实践 之 (3) Flume搭建

Hive其实就是一个SQL解析引擎,它将SQL语句转译成M/R JOB然后在Hadoop执行,来达到快速开发的目的。
Hive是由Facebook贡献给Hadoop开源社区的。

2. 安装Hive
dongguo@hadoop-master:~$ sudo apt-get install hadoop-hive hadoop-hive-metastore hadoop-hive-server
dongguo@hadoop-master:~$ sudo mkdir -p /var/lock/subsys
dongguo@hadoop-master:~$ sudo chown hive:hive /var/lock/subsys

3. 创建Hive所需的本地目录
dongguo@hadoop-master:~$ sudo mkdir -p /var/run/hive/
dongguo@hadoop-master:~$ sudo chown hive:hive /var/run/hive/
阅读全文 »

, , ,

No Comments

Hadoop集群实践 之 (3) Flume搭建

目录结构
Hadoop集群实践 之 (0) 完整架构设计 [Hadoop(HDFS),HBase,Zookeeper,Flume,Hive]
Hadoop集群实践 之 (1) Hadoop(HDFS)搭建
Hadoop集群实践 之 (2) HBase&Zookeeper搭建
Hadoop集群实践 之 (3) Flume搭建
Hadoop集群实践 之 (4) Hive搭建

本文内容
Hadoop集群实践 之 (3) Flume搭建

参考资料
http://www.cnblogs.com/oubo/archive/2012/05/25/2517751.html
http://archive.cloudera.com/cdh/3/flume/UserGuide/
http://log.medcl.net/item/2012/03/flume-build-process/
http://blog.csdn.net/rzhzhz/article/details/7449767
https://blogs.apache.org/flume/entry/flume_ng_architecture

安装配置Flume
环境准备
OS: Ubuntu 10.10 Server 64-bit
Servers:
hadoop-master:10.6.1.150 内存1024M
- namenode,jobtracker;hbase-master,hbase-thrift;
- secondarynamenode;
- zookeeper-server;
- datanode,taskTracker
- flume-master
- flume-node

hadoop-node-1:10.6.1.151 内存640M
- datanode,taskTracker;hbase-regionServer;
- zookeeper-server;
- flume-node

hadoop-node-2:10.6.1.152 内存640M
- datanode,taskTracker;hbase-regionServer;
- zookeeper-server;
- flume-node

对以上角色做一些简单的介绍:
namenode - 整个HDFS的命名空间管理服务
secondarynamenode - 可以看做是namenode的冗余服务
jobtracker - 并行计算的job管理服务
datanode - HDFS的节点服务
tasktracker - 并行计算的job执行服务
hbase-master - Hbase的管理服务
hbase-regionServer - 对Client端插入,删除,查询数据等提供服务
zookeeper-server - Zookeeper协作与配置管理服务
flume-master - Flume的管理服务
flume-node - Flume的Agent与Collector服务,具体角色由flume-master决定

本文定义的规范,避免在配置多台服务器上产生理解上的混乱:
所有直接以 $ 开头,没有跟随主机名的命令,都代表需要在所有的服务器上执行,除非后面有单独的//开头的说明。

1. 安装前的准备
已经完成了 Hadoop集群实践 之 (2) HBase&Zookeeper搭建

Flume分为三种角色:
Mater: master负责配置及通信管理,是集群的控制器。
Collector: collector用于对数据进行聚合,往往会产生一个更大的流,然后加载到storage中。
Agent: Agent用于采集数据,agent是flume中产生数据流的地方,同时,agent会将产生的数据流传输到collector。

Collector和Agent的配置数据必须指定Source(可以理解为数据入口)和Sink(可以理解为数据出口)。

常用的source:
text(“filename”):将文件filename作为数据源,按行发送
tail(“filename”):探测filename新产生的数据,按行发送出去
fsyslogTcp(5140):监听TCP的5140端口,并且接收到的数据发送出去

常用的sink:
console[("format")] :直接将将数据显示在桌面上
text(“txtfile”):将数据写到文件txtfile中
dfs(“dfsfile”):将数据写到HDFS上的dfsfile文件中
syslogTcp(“host”,port):将数据通过TCP传递给host节点
阅读全文 »

, , ,

No Comments

Hadoop集群实践 之 (0) 完整架构设计 [ Hadoop(HDFS) , HBase , Zookeeper , Flume , Hive ]

目录结构
Hadoop集群实践 之 (0) 完整架构设计 [Hadoop(HDFS),HBase,Zookeeper,Flume,Hive]
Hadoop集群实践 之 (1) Hadoop(HDFS)搭建
Hadoop集群实践 之 (2) HBase&Zookeeper搭建
Hadoop集群实践 之 (3) Flume搭建
Hadoop集群实践 之 (4) Hive搭建

本文内容
Hadoop集群实践 之 (0) 完整架构设计 [Hadoop(HDFS),HBase,Zookeeper,Flume,Hive]

参考资料
CDH3_Installation_Guide_u3.pdf
http://hadoop.apache.org/docs/r0.19.2/cn/cluster_setup.html

在进入新的环境以后,面临一项非常重要的工作“线上的Hadoop集群的运维”,而对于Hadoop我之前仅仅是耳闻,并没有实际的部署和应用过。
因此,在整个学习过程中参阅了很多的资料,经历了从对整个架构的不了解,各种概念的不熟悉到最后成功的在本地搭建好了整个集群并能够成功调用集群来执行并行计算的任务。
可谓受益良多,本着开源分享的精神,我将整个学习的过程整理成一个系列的文档,分享给大家。

下面进入正文
有一种说法我觉得非常有道理,那就是:“搞什么东西之前,第一步是要知道What(是什么),然后是Why(为什么),最后才是How(怎么做)。如果习惯先How,然后What,最后才是Why,只会让自己变得浮躁,同时往往会将技术误用于不适合的场景。”

因此,首先应该明确的就是:什么是Hadoop?

Hadoop是Apache开源组织的一个分布式计算开源框架,目前在Amazon,Facebook和Yahoo等大型网站上都已经得到了应用。

Hadoop框架中最核心的设计就是:MapReduce和HDFS。
MapReduce的思想是由Google的一篇论文所提及而被广为流传的,简单的一句话解释就是“任务的分解与结果的汇总”。
分布式计算就好比蚂蚁吃大象,廉价的机器群可以匹敌任何高性能的计算机,纵向扩展始终抵不过横向扩展。
HDFS是Hadoop分布式文件系统(Hadoop Distributed File System)的缩写,为分布式计算存储提供了底层支持。

在实际的应用场景中,Hadoop并非单独出现的,它还有着众多的子项目,而应用最多的子项目就是HBase,Zookeeper,Hive。
另外,Flume也经常在整个Hadoop集群中担任重要的角色。

简单的描述一下这些系统:
HBase - Key/Value的分布式数据库
Zookeeper - 支撑分布式应用的协作系统
Hive - SQL解析引擎
Flume - 分布式的日志收集系统

下面这张图可以更好的阐述它们之间的关系:

在上面的图中,我们通过跟踪整个数据流的逻辑对每个服务器实现的功能和角色进行了描述。
总的说来就是一次通过采集原始Log文件,然后对Log文件进行分析计算,最后将结果进行存储并展现的过程。

需要介绍一点背景的是,因为是在虚拟机上搭建测试环境(条件有限),因此很多在实际场景中一般都应该分开在不同机器上部署的系统,都部署在了一起。

具体环境如下
OS: Ubuntu 10.10 Server 64-bit //选择Ubuntu是因为Cloudera的Hadoop集群套件对Ubuntu支持的很好
Servers:
hadoop-master:10.6.1.150
- namenode,jobtracker;hbase-master,hbase-thrift;
- secondarynamenode;
- hive-master,hive-metastore;
- zookeeper-server;
- flume-master
- flume-node
- datanode,taskTracker

hadoop-node-1:10.6.1.151
- datanode,taskTracker;hbase-regionServer;
- zookeeper-server;
- flume-node

hadoop-node-2:10.6.1.152
- dataNode,taskTracker;hbase-regionServer;
- zookeeper-server;
- flume-node

以上描述了三台机器各自的角色,通过 “-” 表示的每一行的几个角色都表示一般情况下是一起部署到独立的服务器上的。

下面,就让我们开始整个实战演练过程。
Hadoop集群实践 之 (1) Hadoop(HDFS)搭建
Hadoop集群实践 之 (2) HBase&Zookeeper搭建
Hadoop集群实践 之 (3) Flume搭建
Hadoop集群实践 之 (4) Hive搭建

, , , , ,

1 Comment