6.阿里云上安装kafka

1.下载kafka
下载链接
在这里插入图片描述
在这里插入图片描述
官网获取需求的版本下载地址后,创建kafka存放目录,下载后再解压

mkdir /hc/kafka
wget https://mirrors.bfsu.edu.cn/apache/kafka/2.7.0/kafka_2.12-2.7.0.tgz
tar -zxvf kafka_2.12-2.7.0.tgz

注:新版的kafka都自带了zookeeper,详见kafka/bin文件夹:
在这里插入图片描述

2.启动kafka服务
2.1、配置环境变量,编辑 /etc/profile文件,末尾增加如下内容

vim  /etc/profile
export KAFKA_HOME=/usr/local/kafka/kafka_2.12-2.7.0
export PATH=$PATH:$KAFKA_HOME/bin

2.2、使环境变量生效:

source /etc/profile

2.3、配置 server.properties
创建kafka 日志目录 mkdir logs

cd  /usr/local/kafka/kafka_2.12-2.7.0
mkdir kafka_logs 
cd /usr/local/kafka/kafka_2.12-2.7.0/config

server.properties文件修改log.dirs

############################# Log Basics #############################

# A comma separated list of directories under which to store log files
log.dirs=/usr/local/kafka/kafka_2.12-2.7.0/kafka_logs

启动kafka

 启动zookeeper
 启动kafka 之前需要先启动zookeeper 否则会报错
 启动命令:
nohup bin/zookeeper-server-start.sh config/zookeeper.properties &
-daemon:表示以守护进程的方式启动。
启动 kafka
 启动命令:nohup ./bin/kafka-server-start.sh -daemon config/server.properties

备注:这里有可能报错,因为默认情况下,kafka默认的内存要1G,如果你这里没有这么多内存可用,那么就会启动失败。报错如下:

Java Hotspot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 986513408 bytes for committing reserved memory.
# An error report file with more information is saved as:
# hs_err_pid5535.log

解决方案:

修改启动脚本:kafka-server-start.sh

vim kafka-server-start.sh

默认是-Xmx1G -Xms1G ,根据自己情况适当 灵活调整。
在这里插入图片描述

阿里云服务器搭建开发的kafka

上面的kafka搭建好后

  1. 修改server.properties
broker.id=0
############################# Socket Server Settings #############################
#阿里云内网地址
host.name=172.23.xx.xx
#阿里云外网映射地址
advertised.host.name=106.14.xx.xx

############################# 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
#(这个才是真正绑定的ip,写内网ip即可)
listeners=PLAINTEXT://172.23.xx.xx:9092

# 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().
#(要暴露给外部访问的ip,写外网ip)
advertised.listeners=PLAINTEXT://106.14.xx.xx:9092

2.服务器 (下面的命令) 和 阿里云安全组(阿里云客户端设置)端口对外暴露

systemctl start firewalld.service #开启防火墙
firewall-cmd --zone=public --add-port=9092/tcp --permanent #将9092 kafka端口放入防火墙白名单
firewall-cmd --zone=public --add-port=2181/tcp --permanent #将2181 zk端口放入防火墙白名单
firewall-cmd --reload #重启防火墙

3.再启动zk 和kafka

 启动zookeeper
 启动kafka 之前需要先启动zookeeper 否则会报错
 启动命令:
nohup ./bin/zookeeper-server-start.sh config/zookeeper.properties &
-daemon:表示以守护进程的方式启动。
启动 kafka
 启动命令:
 nohup ./bin/kafka-server-start.sh -daemon config/server.properties

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值