RoundRobinPartitioner/HashPartitioner: import java.util import java.util.concurrent.atomic.AtomicLong import org.apache.kafka.clients.producer.Partitioner import org.apache.kafka.common.Cluster class SelfRoundRobinPartitioner extends Partitioner { va…
Kafka0.11之producer/consumer(Scala): KafkaConsumer: import java.util.Properties import org.apache.kafka.clients.consumer.KafkaConsumer import kafka.consumer.ConsumerConfig import org.apache.kafka.clients.consumer.ConsumerRecord import org.apache.kafka…
Kafka 学习笔记之 Kafka0.11之console-producer/console-consumer: 启动Zookeeper 启动Kafka0.11 创建一个新的Topic: ./kafka-topics.sh --create --zookeeper hadoop1:2181,hadoop2:2181,hadoop3:2181 --replication-factor 1 --partitions 3 --topic Topic011 查询Topic列表: ./kafka-topi…
1. 幂等性设计1.1 引入目的生产者重复生产消息.生产者进行retry会产生重试时,会重复产生消息.有了幂等性之后,在进行retry重试时,只会生成一个消息. 1.2 幂等性实现1.2.1 PID 和 Sequence Number为了实现Producer的幂等性,Kafka引入了Producer ID(即PID)和Sequence Number. PID.每个新的Producer在初始化的时候会被分配一个唯一的PID,这个PID对用户是不可见的.Sequence Numbler.(对于每个P…
kafka-0.8.2 新特性 producer不再区分同步(sync)和异步方式(async),所有的请求以异步方式发送,这样提升了客户端效率.producer请求会返回一个应答对象,包括偏移量或者错误信.这种异步方地批量的发送消息到kafka broker节点,因而可以减少server端资源的开销.新的producer和所有的服务器网络通信都是异步地,在ack=-1模式下需要等待所有的replica副本完成复制时,可以大幅减少等待时间. 在0.8.2之前,kafka删除topic的功能存在b…
首先下载 kafka 0.11.0.3 版本 源码: http://mirrors.hust.edu.cn/apache/kafka/0.11.0.3/ 下载源码 首先安装 gradle,不再说明 1. 解压缩source压缩包: 2. 进入项目根目录下,执行 gradle 3. 转换为 idea 项目 gradlew idea gradle过程遇到的问题: 问题一: jcenter 连接不上问题 问题描述: * What went wrong: A problem occurred confi…
spark用的是cdh spark-2.0.1 package main.scala import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* Created by tomtang on 2016/12/16. */ object tomhelloworld { def FILE_NAME:String = "word_count_results_" def main(arg…
本文主要讲解Scala的并发(并行)编程,那么为什么题目概称geotrellis使用(六)呢,主要因为本系列讲解如何使用Geotrellis,具体前几篇博文已经介绍过了.我觉得干任何一件事情基础很重要,就像当年参加高考或者各种考试一样,老师都会强调基础,这是很有道理的.使用Geotrellis框架的基础就是Scala和Spark,所以本篇文章先来介绍一下Scala编程语言,同样要想搞明白Scala并发(并行)编程,Scala基础也很重要,没有Scala语言基础就谈不上Scala并发编程也就更谈不…
主要在maven-for-scalaIDE纠结了,因为在eclipse版本是luna4.x 里面有自己带有的maven. 根据网上面无脑的下一步下一步,出现了错误,在此讲解各个插件的用途,以此新人看见了,少走一些弯路. 其实主要的问题是自己独立去下载scala插件,把scala依赖包拷贝到eclipse的plugins和features里面,然后maven也是自己下载手动修改了 Installations里面我在add加入我自己下载的maven的路径,然后修改了maven里面confg配置文件里…
Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言 .并集成面向对象和函数式变成的各种特性.这里为了学习spark特地配置了scala. 1.下载scala安装包: http://www.scala-lang.org/download 选择最新的安装包下载,进行保存: 2.解压安装包到自己的目录,我解压在了opt目录下: root@ubuntu:/opt# mkdir ./scala root@ubuntu:/opt/scala# tar zxvf ../.…