热门搜索 :
考研考公
您的当前位置:首页正文

搭建kafka集群

来源:东饰资讯网

背景知识(周末完善)

  1. kafka是一个分布式消息系统。
  2. zookeeper
  3. kafka与zookeeper的关系
  4. 消费者
  5. 生产者
  6. broker
  7. topic
  8. 分区

软件环境

  1. kafka版本:0.10.0.1
  2. 已经搭建好的zookeeper集群
  3. 三台机器
    ip:10.50.8.56 broker.id=0
    ip:10.50.8.57 broker.id=1
    ip:10.50.8.58 broker.id=2
    'broker.id'不能相同

操作步骤

  1. 在原机器55上,拷贝kafka压缩包kafka.tar.gz,并安装
    进入home目录下:cd /home

10.50.8.56/home scp tester@192..45:/home/tester/kafka.tar.gz /home (拷贝压缩包)
10.50.8.56/home tar -zxvf kafka.tar.gz (解压)
进入/home/opt目录下,将kafka_2.11-0.10.0.1文件移动到/opt目录下
10.50.8.56/home cd opt
10.50.8.56/home/opt mv kafka_2.11-0.10.0.1/ /opt
移动完后,进入/opt目录下,在该目录下创建kafka_2.11-0.10.0.1与kafka的软连接
10.50.8.56/home/opt cd /opt
10.50.8.56/opt ln -s /opt/kafka_2.11-0.10.0.1/ /opt/kafka (kafka文件夹会自动创建)
进入/tmp目录下
10.50.8.56/tmp mkdir kafka-logs (创建kaka-logs文件夹)

kafka目录

2.安装好软件后,修改配置文件,进入/home/opt/kafka/config目录下

10.50.8.56/home/opt/kafka/config vim server.properties

主要修改的配置项:
broker.id=0 唯一表示主机,集群中的每个机器的broker.id都不同
auto.create.topics.enable=false 是否启用log压缩,一般不启用
delete.topic.enable=true
host.name=10.50.8.56 本机host
listeners=PLAINTEXT://10.50.8.56:9092 监听列表 使用本机地址+端口号即可
log.dirs=/tmp/kafka-logs 保存日志数据目录
zookeeper.connect=10.50.8.56:2181,10.50.8.57:2181,10.50.8.58:2181 zookeeper的连接端口
(3台机器的配置文件都需要修改)

启动kafka

  1. 启动kafka之前,确保先启动zookeeper
  2. 到kafka的bin目录下,启动kafka,cd /opt/kafka/bin:

./kafka-server-start.sh /opt/kafka/config/server.properties & (&符号,后台启动)
ps -ef | grep kafka 查看kafka进程是否存在

  1. 创建kafka的topic
  • 要求:replication-factor 2,6个partitions
  • 145机器上有8个topic:red-packet,list-search,revenue-push,cancellation-deletion-recall,search-not-order,hdfs-otherlog,hot_issue,hotel_sa

./kafka-topics.sh --create --zookeeper 10.50.8.56:2181,10.50.8.57:2181,10.50.8.58:2181 --replication-factor 2 --partitions 6 --topic red-packet (创建red-packet topic)
./kafka-topics.sh --list --zookeeper 10.50.8.56:2181,10.50.8.57:2181,10.50.8.58:2181 (查看topic列表)

启动消费者

./kafka-console-consumer.sh --zookeeper 10.50.8.56:2181,10.50.8.57:2181,10.50.8.58:2181 --topic revenue-push --from-beginning

启动生产者

./kafka-console-producer.sh --broker-list 10.50.8.56:9092,10.50.8.57:9092,10.50.8.58:9092 --topic revenue-push

集群是通过zookeeper.connect连接串的配置,将所有的节点连接起来
要在机器的hosts中,配置上机器的IP和主机名

涉及到的Linux命令:

查看主机名:hostname
查看主机IP:ifconfig eth0 | grep "inet addr" | awk '{ print $2}' | awk -F: '{print $2}’
创建软连接:ln -s 源地址 目的地址(使用绝对路径)
删除软链接:rm 目的地址
例: kafka_2.11-0.10.0.1
创建软连接

ln -s /opt/kafka_2.11-0.10.0.1 /opt/kafka(自动创建kafka文件夹,并且与kafka_2.11-0.10.0.1文件夹建立连接)

删除软连接

rm kafka (不要用rm kafka/,此命令会将kafka_2.11-0.10.0.1文件夹中的内容都删掉)

Top