Centos7 单机安装 kafka 0.11.0.1

一 安装 jdk
1 安装 jdk ,这里选择 openjdk 1.8

yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

安装后的jre和jdk在 /usr/lib/jvm/ 里,本例中具体的文件夹是java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64,注意这里的版本可能和你安装的不一样,以你的为准
2 配置 jdk
环境变量在 /etc/profile文件 或者 /etc/profile.d/文件夹中新建 java.sh 文件,这里使用新建文件的方式,在文件中加入以下内容

vi /etc/profile.d/java.sh
  1. JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64 #注意这里的版本号按你安装的来

  2. JRE_HOME=$JAVA_HOME/jre

  3. CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

  4. PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

  5. export JAVA_HOME JRE_HOME CLASSPATH PATH

3 让环境变量立即生效

source /etc/profile

4 检验版本

java -version

二 配置防火墙
1 配置防火墙

  1. firewall-cmd --permanent --zone=public --add-port=2181/tcp # 客户端访问端口

  2. firewall-cmd --permanent --zone=public --add-port=2888/tcp # zookeeper 之间访问的端口

  3. firewall-cmd --permanent --zone=public --add-port=3888/tcp # zookeeper 和其它应用的通信端口

  4. firewall-cmd --permanent --zone=public --add-port=9092/tcp # 客户端访问端口

  5. firewall-cmd --reload

2 降低SELinux的安全级别,否则SELinux会限制集群数据传输(setenforce 0 命令只能设置运行时的安全级别,想要完全设置安全级别,需要在SELinux的配置文件中进行配置更改)
打开/etc/selinux/config配置文件,设置SELINUX=permissive
使用reboot命令重启服务器使SELinux安全级别更改生效

三 下载并启动 kafka
1 创建 kafka 文件夹

mkdir /root/kafka

2 进入创建的 kafka 文件夹,上传下载的kafka安装包:(自行下载)

    cd /root/kafka/

3 解压 kafka 并进入文件夹 

  1. tar -xzf kafka_2.11-0.11.0.1.tgz

  2. cd kafka_2.11-0.11.0.1

4 启动 kafka
kafka 需要 zookeeper 作为基本服务,kafka 下载的代码中有自带的单台 zookeeper 服务器,使用解压文件夹根目录下的配置启动 zookeeper ,在参数中使用 -daemon 让服务在后台运行,不占用命令界面。(网上有说在命令最后便加 & 号也可以起到 -daemon 参数的作用,但我使用未成功,网上命令 bin/kafka-server-start.sh config/server-1.properties &)

bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

5 启动kafka

bin/kafka-server-start.sh -daemon config/server.properties

四 验证 kafka(需要在加压的文件夹根目录中执行以下命令,本例中是 cd /usr/local/kafka/kafka_2.11-0.11.0.1)
1 创建一个 topic ,就像一个数据库表一样,生产者和消费者都需要通过一个 topic 向消息队列发送消息或者消费消息

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

2 查看刚才的 topic 是否创建成功,如果成功会输出 test

bin/kafka-topics.sh --list --zookeeper 192.168.144.95:2181

3 模拟生产者向 test 发送消息

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

运行上边的命令后就可以在 > 号提示下发送信息了,没发送一条后回车确认
4 再启动一个远程连接 ssh 模拟消费者客户端

bin/kafka-console-consumer.sh --bootstrap-server 192.168.144.95:9092 --topic test --from-beginning

执行以上命令后刚才发的消息都能收到,而且现在在刚才的生产者 ssh 客户端发送信息,消费者客户端都可以收到。

5  增加分区及分区查看

bin/kafka-topics.sh --zookeeper 192.168.144.95:2181 --describe --topic kafka_95

bin/kafka-topics.sh --zookeeper 192.168.144.95:2181 --alter --partitions 15 --topic kafka_95

6. 查看当前消息数

bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list 192.168.144.95:9092 --topic kafka_95--time -1

7. 自带性能测试

producer:

./bin/kafka-producer-perf-test.sh --topic test --throughput 50000 --num-records 150000 --record-size 1000 --producer.config config/producer.properties --producer-props bootstrap.servers=192.168.144.95:9092 acks=1

consumer:

./bin/kafka-consumer-perf-test.sh --topic test--messages 50000 --message-size 102400 --batch-size 5000 --fetch-size 1048576 --num-fetch-threads 17 --threads 10 --zookeeper 192.168.144.95:2181

【kafka学习之四】kafka集群性能测试 - cac2020 - 博客园

2.4.0版本:

./bin/kafka-producer-perf-test.sh --topic test-pati3-rep2 --throughput 500000 --num-records 1500000 --record-size 1000 --producer.config config/producer.properties --producer-props bootstrap.servers=192.168.15.25:9092,192.168.15.26:9092,192.168.15.27:9092 acks=1
./bin/kafka-consumer-perf-test.sh --topic test --messages 5000 --fetch-size 1048576 --num-fetch-threads 17 --threads 10 --broker-list 192.168.15.25:9092,192.168.15.26:9092,192.168.15.27:9092 --print-metrics

8. 查看当前consumer列表及消费进度

查看当前consumer列表

bin/kafka-consumer-groups --bootstrap-server 192.168.144.95:9092 --list --new-consumer

查看当前consumer消费进度

bin/kafka-consumer-groups.sh --bootstrap-server 192.168.144.95:9092 --describe --group datariver-streaming_table_dict

五 设置开机自启动服务
1 编写 zookeeper 的 systemd 自启动服务文件

vi /etc/systemd/system/zookeeper.service

内容如下

一 安装 jdk
1 安装 jdk ,这里选择 openjdk 1.8

yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

安装后的jre和jdk在 /usr/lib/jvm/ 里,本例中具体的文件夹是java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64,注意这里的版本可能和你安装的不一样,以你的为准
2 配置 jdk
环境变量在 /etc/profile文件 或者 /etc/profile.d/文件夹中新建 java.sh 文件,这里使用新建文件的方式,在文件中加入以下内容

vi /etc/profile.d/java.sh
  1. JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64 #注意这里的版本号按你安装的来

  2. JRE_HOME=$JAVA_HOME/jre

  3. CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

  4. PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

  5. export JAVA_HOME JRE_HOME CLASSPATH PATH

3 让环境变量立即生效

source /etc/profile

4 检验版本

java -version

二 配置防火墙
1 配置防火墙

  1. firewall-cmd --permanent --zone=public --add-port=2181/tcp # 客户端访问端口

  2. firewall-cmd --permanent --zone=public --add-port=2888/tcp # zookeeper 之间访问的端口

  3. firewall-cmd --permanent --zone=public --add-port=3888/tcp # zookeeper 和其它应用的通信端口

  4. firewall-cmd --permanent --zone=public --add-port=9092/tcp # 客户端访问端口

  5. firewall-cmd --reload

2 降低SELinux的安全级别,否则SELinux会限制集群数据传输(setenforce 0 命令只能设置运行时的安全级别,想要完全设置安全级别,需要在SELinux的配置文件中进行配置更改)
打开/etc/selinux/config配置文件,设置SELINUX=permissive
使用reboot命令重启服务器使SELinux安全级别更改生效

三 下载并启动 kafka
1 创建 kafka 文件夹

mkdir /root/kafka

2 进入创建的 kafka 文件夹,上传下载的kafka安装包:

    cd /root/kafka/

3 解压 kafka 并进入文件夹 

  1. tar -xzf kafka_2.11-0.11.0.1.tgz

  2. cd kafka_2.11-0.11.0.1

4 启动 kafka
kafka 需要 zookeeper 作为基本服务,kafka 下载的代码中有自带的单台 zookeeper 服务器,使用解压文件夹根目录下的配置启动 zookeeper ,在参数中使用 -daemon 让服务在后台运行,不占用命令界面。(网上有说在命令最后便加 & 号也可以起到 -daemon 参数的作用,但我使用未成功,网上命令 bin/kafka-server-start.sh config/server-1.properties &)

bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

5 启动kafka

bin/kafka-server-start.sh -daemon config/server.properties

四 验证 kafka(需要在加压的文件夹根目录中执行以下命令,本例中是 cd /usr/local/kafka/kafka_2.11-0.11.0.1)
1 创建一个 topic ,就像一个数据库表一样,生产者和消费者都需要通过一个 topic 向消息队列发送消息或者消费消息

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

2 查看刚才的 topic 是否创建成功,如果成功会输出 test

bin/kafka-topics.sh --list --zookeeper 192.168.144.95:2181

3 模拟生产者向 test 发送消息

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

运行上边的命令后就可以在 > 号提示下发送信息了,没发送一条后回车确认
4 再启动一个远程连接 ssh 模拟消费者客户端

bin/kafka-console-consumer.sh --bootstrap-server 192.168.144.95:9092 --topic test --from-beginning

执行以上命令后刚才发的消息都能收到,而且现在在刚才的生产者 ssh 客户端发送信息,消费者客户端都可以收到。

5  增加分区及分区查看

bin/kafka-topics.sh --zookeeper 192.168.144.95:2181 --describe --topic kafka_95

bin/kafka-topics.sh --zookeeper 192.168.144.95:2181 --alter --partitions 15 --topic kafka_95

6. 查看当前消息数

bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list 192.168.144.95:9092 --topic kafka_95--time -1

7. 自带性能测试

producer:

./bin/kafka-producer-perf-test.sh --topic test --throughput 50000 --num-records 150000 --record-size 1000 --producer.config config/producer.properties --producer-props bootstrap.servers=192.168.144.95:9092 acks=1

consumer:

./bin/kafka-consumer-perf-test.sh --topic test--messages 50000 --message-size 102400 --batch-size 5000 --fetch-size 1048576 --num-fetch-threads 17 --threads 10 --zookeeper 192.168.144.95:2181

【kafka学习之四】kafka集群性能测试 - cac2020 - 博客园

2.4.0版本:

./bin/kafka-producer-perf-test.sh --topic test-pati3-rep2 --throughput 500000 --num-records 1500000 --record-size 1000 --producer.config config/producer.properties --producer-props bootstrap.servers=192.168.15.25:9092,192.168.15.26:9092,192.168.15.27:9092 acks=1
./bin/kafka-consumer-perf-test.sh --topic test --messages 5000 --fetch-size 1048576 --num-fetch-threads 17 --threads 10 --broker-list 192.168.15.25:9092,192.168.15.26:9092,192.168.15.27:9092 --print-metrics

五 设置开机自启动服务
1 编写 zookeeper 的 systemd 自启动服务文件

vi /etc/systemd/system/zookeeper.service

内容如下

[Unit]
Description=zookeeper
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/root/kafka/kafka_2.11-0.11.0.1/bin/zookeeper-server-start.sh -daemon /root/kafka/kafka_2.11-0.11.0.1/config/zookeeper.properties
ExecStop=/root/kafka/kafka_2.11-0.11.0.1/bin/zookeeper-server-stop.sh
Restart=always
User=root
Group=root

[Install]
WantedBy=multi-user.target

2 设置 zookeeper 自启动

  1. systemctl enable zookeeper

  2. systemctl start zookeeper

3 编写 kafka 的 systemd 自启动服务文件

[Unit]
Description=kafka
After=network.target remote-fs.target nss-lookup.target zookeeper.service
Wants=zookeeper.service
 
[Service]
Type=forking
ExecStart=/root/kafka/kafka_2.11-0.11.0.1/bin/kafka-server-start.sh -daemon /root/kafka/kafka_2.11-0.11.0.1/config/server.properties
ExecStop=/root/kafka/kafka_2.11-0.11.0.1/bin/kafka-server-stop.sh
Restart=always
User=root
Group=root
 
[Install]
WantedBy=multi-user.target

4 设置 kafka 自启动

  1. systemctl enable kafka

  2. systemctl start kafka

2 设置 zookeeper 自启动

  1. systemctl enable zookeeper

  2. systemctl start zookeeper

3 编写 kafka 的 systemd 自启动服务文件

[Unit]
Description=kafka
After=network.target remote-fs.target nss-lookup.target zookeeper.service
Wants=zookeeper.service
 
[Service]
Type=forking
ExecStart=/root/kafka/kafka_2.11-0.11.0.1/bin/kafka-server-start.sh -daemon /root/kafka/kafka_2.11-0.11.0.1/config/server.properties
ExecStop=/root/kafka/kafka_2.11-0.11.0.1/bin/kafka-server-stop.sh
Restart=always
User=root
Group=root
 
[Install]
WantedBy=multi-user.target

4 设置 kafka 自启动

  1. systemctl enable kafka

  2. systemctl start kafka

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值