samza系统的配置解析

来源:互联网 发布:短信关闭移动数据流量 编辑:程序博客网 时间:2024/05/17 23:54

1.Samza系统简介

Samza系统是大数据的消息流处理系统,其架构比较简单,主要由YARN,Kafka和Samza API构成。

Kafka用消息队列来处理流,即数据产生系统作为KafkaProduer按照topic将数据流入kafka Broker,数据终端消费系统作为KafkaConsumer将数据从对应topic中取出。

YARN用于Samza集群系统的中Job资源分配和调度,即负责系统中的每个任务交由哪台主机去执行,分配多少cpu,内存等硬件资源的调度。

Samza API为用户提供创建Samza任务和自定义终端流系统的接口,例如,通过实现SystemProducer, SystemFactory类,来创建流系统以实现与Reidis对接,与ElasticSearch对接等。


2.Samza系统核心配置

根据Samza框架结构,核心分为SamzaTask,Kafka和YARN三部分


2.1 SamzaTask相关配置

SamzaTask配置主要产生于开发人员的源码相关配置,因为每个Task都是根据需求来实现功能的,例如,analytical就是用产品激活统计,由Cpp分析工具将数据发送至kafka的topic:analytical,再通过Samza运行的Task:AnalyticalTask将数据发送至Samza自建的流系统DBAccessor,通过DBAccessor最终将数据流入Mysql数据库。

下图为AnalyticalTask的配置信息:

Job 部分:

Job.factory.class, 必填字段,所有的任务都应配成org.apache.samza.job.yarn.YarnJobFactory,表示是由Yarn调度的Job。

job.name,必填字段,可以根据每个任务本身任意设置自己的名字,用于在监控面板上显示自己Job名字和区分不同Job的Checkpoint。

YARN 部分:

yarn.package.path, 必填字段,该任务执行的程序包所在目录。可以是file:开头的本地文件,也可以是hdfs:开头的分布式文件

Task 部分: task.class,必填字段,执行的任务需要被实例化类,该类必须是实现StreamTask。

task.inputs,必填字段,任务的数据流,由system-name.stream.name构成,这里是kafka.analytical。(当把kafka改名为my-kafka,为my-kafka.analytical)

task.checkpoint.factory,故障恢复用的工厂类 task.checkpoint.system,故障恢复的系统 task.checkpoint.replication.factor

Serializers 部分

serializers.registry.XXX.class,系统数据流序列化和反序列化是需要使用的类

DbAccessor 自建的流系统,对接Mysql用,下面配置都是自定义的配置连接Mysql用的

systems.dbaccessor.samza.factory=samza.systems.db.DbAccessorSystemFactory systems.dbaccessor.dri=com.mysql.jdbc.Driver systems.dbaccessor.url=jdbc:mysql:192.168.90.24:3306/tmp_db?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8 systems.dbaccessor.username=root systems.dbaccessor.password=qwer systems.dbaccessor.poolname=mysql KafkaSystem是 Samza对接Kafka的系统, systems.kafka.samza.factory=org.apache.samza.system.kafka.KafkaSystemFactory systems.kafka.samza.msg.serde=string systems.kafka.consumer.zookeeper.connect=Master:2181 systems.kafka.producer.bootstrap.servers=Master:9092 更多SamzaTask相关配置可参考官网文档: http://samza.apache.org/learn/documentation/0.10/jobs/configuration-table.html ===== 2.2 Kafka相关配置 ===== ===== 2.3 YARN相关配置 ===== 

原创粉丝点击