kafka_2.10-0.10.0.0集群安装

 

kafka_2.10-0.10.0.0集群安装

IP

HOST

192.168.132.94

BDTEST05

192.168.132.95

BDTEST06

192.168.132.96

BDTEST07

 

1.          配置java环境

非常简单就不介绍了

2.          安装zookeeper集群

kafka自带有zookeeper服务,但是建议大家最好单独建立一个zookeeper集群,可以和其他应用共享,也便于管理

安装介绍见“zookeeper-3.4.6集群部署”文档

3.          准备安装介质

将下载好的介质kafka_2.10-0.10.0.0.tgz(此处下载的是已编译的)传到服务上并解压

[hduser@BDTEST05 app]$ tar -zxvf kafka_2.10-0.10.0.0.tgz

 

 

4.          更改kafka配置文件

[hduser@BDTEST05 app]$ vi /app/kafka_2.10-0.10.0.0/config/server.properties

kafka_2.10-0.10.0.0版本的这个配置文件和以前版本有些差别

需要配置的属性有:

 

broker.id=1

host.name=BDTEST05

listeners=PLAINTEXT://BDTEST05:9092

advertised.listeners=PLAINTEXT://BDTEST05:9092

log.dirs=/app/kafka_2.10-0.10.0.0/logs

num.partitions=4

zookeeper.connect=BDTEST05:2181,BDTEST06:2181,BDTEST07:2181

broker.id(标示当前server在集群中的id,有的说从0开始,有的说从1开始),数字且唯一

log.dirs(log的存储目录,要对应的去建立这个目录)等,其他的一些配置可以看相应的注释:

其他配置暂时采取默认

zookeeper.connect(连接的zookeeper集群)

 

 

 

5.          拷贝kafka到另外两台机器

[hduser@BDTEST05 app]$ scp -r /app/kafka_2.10-0.10.0.0/ hduser@BDTEST06://app/

[hduser@BDTEST05 app]$ scp -r /app/kafka_2.10-0.10.0.0/ hduser@BDTEST07://app/

对应更改配置文件/app/kafka_2.10-0.10.0.0/config/server.properties中的

 

 

6.          启动kafka服务

注意:先启动zookeeper集群,再启动kakfa集群

查看zookeeper服务是否启动(这里查看一台的就可以了)

[hduser@BDTEST05 app]$ clush -g zookeeper /app/zookeeper-3.4.6/bin/zkServer.sh status

 

在每台机器上启动kafka服务

[hduser@BDTEST05 app]$ nohup /app/kafka_2.10-0.10.0.0/bin/kafka-server-start.sh /app/kafka_2.10-0.10.0.0/config/server.properties &

 

&表示后台运行,否则一旦终端关闭服务立刻停止 配合nohup使用,这样不会看到如下图日志

 

7.          简单测试kafka

(1)任意一台机器上面(此测试在BDTEST05上),测试:在kafka中创建名为“cmy_nbd_topic1”的topic,该topic切分为4份,每一份备份数为3

[hduser@BDTEST05 bin]$ ./kafka-topics.sh --create --zookeeper BDTEST05:2181 --replication-factor 3 --partitions 4 --topic  cmy_nbd_topic1

(2)列出所有topic :

[hduser@BDTEST05 bin]$ ./kafka-topics.sh --list --zookeeper BDTEST05:2181,BDTEST06:2181,BDTEST07:2181

  

 

 

一个完整测试

(1)单机连通性测试:

 (a)运行producer:

./kafka-console-producer.sh --broker-list localhost:9092 --topic test 

 (b)运行consumer:          

./kafka-console-consumer.sh  --zookeeper localhost:2181 --topic test --from-beginning

在producer端输入字符串并回车,查看consumer端是否显示。 

(2) 分布式连通性测试

Zookeeper Server, Kafka Server, Producer都放在服务器BDTEST05上

Consumer放在服务器BDTEST06上

修改Kafka Server的配置文件,将这行修改成这样:

advertised.listeners=PLAINTEXT://BDTEST05:9092

(a)运行BDTEST05上面的producer:   

[hduser@BDTEST05 bin]$ ./kafka-console-producer.sh --broker-list  BDTEST05:9092 --topic test 

(b)运行BDTEST06上面的consumer:  

[hduser@BDTEST06 bin]$ ./kafka-console-consumer.sh --zookeeper BDTEST06:2181 --topic test --from-beginning 

在producer端输入字符串并回车,查看consumer端是否显示。

 

8.          关闭kafka服务

/app/kafka_2.10-0.10.0.0/bin/kafka-server-stop.sh

9.          设置集群启动、关闭脚本

之前安装zookeeper时已经配置clush工具,添加了zookeeper组

 

 

(1)创建关闭kafka服务器组脚本

[hduser@BDTEST05 service]$ vi stopKafka.sh

 

 

(2)创建启动kafka服务器组脚本

 

执行脚本

[hduser@BDTEST05 service]$ sh stopKafka.sh

[hduser@BDTEST05 service]$ sh startKafka.sh

 

 

问题

使用/app/kafka_2.10-0.10.0.0/bin/kafka-server-stop.sh停止服务停不掉,查看该停止脚本内容如下,使用jps 或者 ps -ef | grep kafka确实能够查到PID

但是脚本中ps ax | grep -i 'kafka\.Kafka'就是查不到PID,这其中使用正则 如果单独使用ps ax | grep -i 'kafka'或者ps ax | grep -i '.Kafka'都能够查到

 

 

PIDS=$(ps ax | grep -i 'kafka\.Kafka' | grep java | grep -v grep | awk '{print $1}')

if [ -z "$PIDS" ]; then

  echo "No kafka server to stop"

  exit 1

else

  kill -s TERM $PIDS

fi

解决办法:更改脚本

 

转载于:https://www.cnblogs.com/OS-BigData/p/8526537.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值