xlfm22 发表于 2019-1-31 08:39:07

kafka单机部署

  kafka单机部署
  kafka是一种高吞吐量的分布式发布订阅消息系统,kafka是linkedin用于日志处理的分布式消息队列,linkedin的日志数据容量大,但对可靠性要求不高,其日志数据主要包括用户行为
环境配置:
CentOS release 6.3 (Final)
jdk版本:jdk-6u31-linux-x64-rpm.bin
zookeeper版本:zookeeper-3.4.4  1、安装jdk并设置环境变量
  jdk环境变量配置:
export JAVA_HOME=/usr/java/jdk1.6.0_31
export CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin  # source /etc/profile    使其生效
  2、安装zookeeper
  # vim conf/zoo.cfg
  dataDir=/home/hadoop/storage/zookeeper    设置datadir
  启动zookeeper:
  # ./bin/zkServer.sh start
  查看状zk态:
  # ./bin/zkServer.sh status
  3、kafka 安装

[*]  修改配置文件:# vim config/producer.properties
broker.id=0
port=9092
host.name=10.37.129.3
num.network.threads=2
num.io.threads=8
socket.send.buffer.bytes=1048576
socket.request.max.bytes=104857600
log.dirs=/tmp/kafka-logs
num.partitions=2
log.flush.interval.messages=10000
log.flush.interval.ms=1000
log.retention.hours=168
log.retention.bytes=1073741824
log.segment.bytes=536870912
log.retention.check.interval.ms=60000
log.cleaner.enable=false
zookeeper.connect=10.37.129.3:2181
zookeeper.connection.timeout.ms=1000000

[*]  启动kafka:
  # ./bin/kafka-server-start.sh /usr/local/src/kafka_2.8.0-0.8.0/config/server.properties &

[*]  新建一个TOPIC
  # ./kafka-topics.sh --create --topic kafkatopic --replication-factor 1 --partitions 1 --zookeeper localhost:2181

[*]  检查是否创建主题成功
  # ./kafka-list-topic.sh --zookeeper localhost:2181
topic: test partition: 0 leader: 0 replicas: 0 isr: 0

[*]  发送消息至KAFKA:
  # ./kafka-console-producer.sh --broker-list 192.168.1.141:9092 --sync --topic kafkatopic
This is the first message
这是另外一个消息
This is another news
  另开一个终端,显示消息的消费
  # ./kafka-console-consumer.sh --zookeeper 192.168.1.141:2181 --topic kafkatopic --from-beginning
This is the first message
这是另外一个消息
This is another news
  *启动produce
./bin/kafka-console-producer.sh --broker-list 10.10.224.12:9092--topic test
*启动consumer
./kafka-console-consumer.sh --zookeeper localhost:2181 --topic test
6.关闭kafka和zookeeper
./kafka-server-stop.sh ../config/server.properties
./zookeeper-server-stop.sh
心得总结:
1.produce启动的时候参数使用的是kafka的端口而consumer启动的时候使用的是zookeeper的端口;
2.必须先创建topic才能使用;
3.topic本质是以文件的形式储存在zookeeper上的。



页: [1]
查看完整版本: kafka单机部署