Hbase适用于数据随机查找
hdfs数据批处理,做数据的统计、离线计算
kafka:
分布式流处理平台
在系统之间构建实时数据流管道
基本名词介绍:
配置kafka:
broker.id=1
listeners=PLAINTEXT://:9092
log.dirs=/home/ubuntu/kafka-logs
zookeeper.connect=s100:2181
启动kafka服务器:
-
启动zk
-
启动kafka
$> bin/kafka-server-start.sh -daemon config/server.properties -
验证kafka是否启动
$> netstat -anp | grep 9092
创建主题:
$> bin/kafka-topics.sh --create --zookeeper s100:2181 --replication-factor 3 --partitions 3
–topic test
查看主题列表:
$> bin/kafka-topics.sh --list --zookeeper s100:2181
启动控制台生产者:
$> bin/kafka-console-producer.sh --broker-list s101:9092 --topic test
启动控制台消费者:
$> bin/kafka-console-consumer.sh --bootstrap-server s101:9092 --topic test --from-beginning
启动控制台消费者(不指定具体的消费者):
$> bin/kafka-console-consumer.sh --zookeeper s100:2181 --topic test --from-beginning
kafka支持副本模式:
同步复制
- producer联系zk识别leader
- 向leader发送消息
- leader收到消息写入到本地log
- follower从leader同步消息(pull)
- follower向本地文件写入log
- follower向leader发送ack确认消息
- leader收到所有follower的ack确认消息
- leader向producer回传ack确认消息
异步复制
与同步复制的区别: leader写入本地log后直接向producer回传ack确认消息