赞
踩
这里使用3.6.4版本
前提:服务器已经安装了jdk,zookeeper运行需要jdk环境
#创建目录
mkdir -p /usr/local/zookeeper
#赋予权限
chmod 777 /usr/local/zookeeper
#这里推荐去官网下载
https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.6.4/apache-zookeeper-3.6.4-bin.tar.gz
#切换到创建的目录
cd /usr/local/zookeeper
#将下载的包放在该目录
#解压该目录
tar -zxvf apache-zookeeper-3.6.4-bin.tar.gz
#重命名
mv apache-zookeeper-3.6.4-bin zookeeper-3.6.4
#进入配置文件目录 cd /usr/local/zookeeper/zookeeper-3.6.4/conf #复制原有的配置文件并改名 cp zoo_sample.cfg zoo.cfg #修改配置文件 vim zoo.cfg #内容如下: # 数据文件夹 dataDir=/usr/local/zookeeper/zookeeper-3.6.4/data # 日志文件夹 dataLogDir=/usr/local/zookeeper/zookeeper-3.6.4/logs # 客户端访问 zookeeper 的端口号 clientPort=2181 #退出保存zoo.cfg :wq
#编辑环境变量文件
vim /etc/profile
#尾部添加如下内容
export ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeper-3.6.4/
export PATH=$ZOOKEEPER_HOME/bin:$PATH
export PATH
#退出保存
:wq
#重新执行一下
source /etc/profile
#进入bin目录 cd /usr/local/zookeeper/zookeeper-3.6.4/bin #启动服务 zkServer.sh start ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper/zookeeper-3.6.4/bin/../conf/zoo.cfg Starting zookeeper ... STARTED 出现这个就是成功了 #查看状态 zkServer.sh status #关闭服务 zkServer.sh stop #重启服务 zkServer.sh restart
下载地址:Apache Kafka
这里两个,第一个带源码我们可以下载下来查看对应的zookeeper版本
解压后的gradle/dependencies.gradle
文件里面有zookeeper版本号
mkdir -p /opt/kafka #y用于存放kafka的解压包
mkdir -p /opt/kafka/kafka_data #用于存放kafka的数据
mkdir -p /opt/kafka/kafka_log #用于存放kafka的日志
将下载的kafka放在/opt/kafka
下
#解压
tar -zxvf kafka_2.12-3.4.1.tgz
cd /opt/kafka/kafka_2.12-3.4.1/config
vim server.properties
#修改一下参数
broker.id=0
#端口号
port=9092
#服务器IP地址,修改为自己的服务器IP
host.name=localhost
#日志存放路径,上面创建的目录
log.dirs=/opt/kafka/kafka_log
#zookeeper地址和端口,单机配置部署,localhost:2181
zookeeper.connect=localhost:2181
/opt/kafka/kafka_2.12-3.4.1/bin/kafka-server-start.sh /opt/kafka/kafka_2.12-3.4.1/config/server.properties
前提开启两个终端,一个生产者,一个消费者
cd /opt/kafka/kafka_2.12-3.4.1/bin
./kafka-console-producer.sh --broker-list localhost:9092 --topic test
cd /opt/kafka/kafka_2.12-3.4.1/bin
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test
上面都是手动启动,这里可以考虑写一个脚本,自动去启动
cd /opt/kafka/kafka_2.12-3.4.1/bin
vim kafka_start.sh
#内容如下:
#!/bin/bash
#
echo "启动zookeeper服务..."
sh /usr/local/zookeeper/zookeeper-3.6.4/bin/zkServer.sh start
sleep 5
echo "启动kafka服务..."
/opt/kafka/kafka_2.12-3.4.1/bin/kafka-server-start.sh /opt/kafka/kafka_2.12-3.4.1/config/server.properties &i
cd /opt/kafka/kafka_2.12-3.4.1/bin
vim kafka_stop.sh
#内容如下:
#!/bin/bash
echo "启动zookeeper服务..."
sh /usr/local/zookeeper/zookeeper-3.6.4/bin/zkServer.sh stop
sleep 5
echo "启动kafka服务..."
/opt/kafka/kafka_2.12-3.4.1/bin/kafka-server-stop.sh /opt/kafka/kafka_2.12-3.4.1/config/server.properties
chmod +x kafka_start.sh
chmod +x kafka_stop.sh
vi /etc/rc.d/rc.local #编辑,在最后添加一行
sh /opt/kafka/kafka_2.12-3.4.1/kafka_start.sh & #设置开机自动在后台运行脚本
在kafka的配置文件server.properties里面设置如下
############################# Socket Server Settings ############################# # The address the socket server listens on. It will get the value returned from # java.net.InetAddress.getCanonicalHostName() if not configured. # FORMAT: # listeners = listener_name://host_name:port # EXAMPLE: # listeners = PLAINTEXT://your.host.name:9092 #listeners=PLAINTEXT://:9092 listeners=PRIVATE://0.0.0.0:9093,PUBLIC://0.0.0.0:9092 auto.create.topics.enable=true # Hostname and port the broker will advertise to producers and consumers. If not set, # it uses the value for "listeners" if configured. Otherwise, it will use the value # returned from java.net.InetAddress.getCanonicalHostName(). #advertised.listeners=PLAINTEXT://your.host.name:9092 #修改为外网ip advertised.listeners=PRIVATE://192.168.150.203:9093,PUBLIC://10.140.211.88:9092 inter.broker.listener.name=PRIVATE listener.security.protocol.map=PRIVATE:PLAINTEXT,PUBLIC:PLAINTEXT
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。