Kafka配置
这一篇比较简单,就是基本的Kafka配置、命令、启动
如果公司里面不用公有云,而是私有化部署、公司内部运维的话,组件这一块也必须要了解了,我也是从开箱用云MQ切换为自己公司维护MQ的,从只知道发送、接收的MQ小白,变成了入门、有基本运维能力的初级运维。
在个人实践中,Kafka能做到服务器配置、启动和关闭、基本的Linux命令,那就算是入门了,而且配置是和Kafka的特点绑定的,明白了每一项配置的含义,其实就知道了Kafka的特点。
#port = 9092 默认对外提供的端口号是9092
#broker 的全局唯一编号,不能重复
broker.id=0
#删除 topic 功能使能
delete.topic.enable=true
#处理网络请求的线程数量
num.network.threads=3
#用来处理磁盘 IO 的现成数量
num.io.threads=8
#发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
socket.request.max.bytes=104857600
#kafka 运行【数据】存放的路径,不是日志!日志默认会放在logs目录中
#需要配置和logs不同的路径,才能达到data和logs分离存储
log.dirs=/opt/module/kafka/data
#topic 在当前 broker 上的分区个数
num.partitions=1
#用来恢复和清理 data 下数据的线程数量
num.recovery.threads.per.data.dir=1
#segment 文件保留的最长时间,超时将被删除
log.retention.hours=168
#配置连接 Zookeeper 集群地址 + /kafka表示使用zk的/kafka目录
zookeeper.connect=192.168.xxx.001:2181,192.168.xxx.002:2181,192.168.xxx.003:2181
启动和关闭
# 谁先启动,谁就是集群中的Master
#启动集群 -daemon 用守护进程启动,后台运行,启动需要指定配置文件
bin/kafka-server-start.sh -daemon config/server.properties
#关闭集群
bin/kafka-server-stop.sh stop
如果有多台,可以写个脚本维护,for循环多台节点的ip,ssh执行启动脚本,前提是在Kafka集群内部,要做到免密登录,ssh免密。
阿里云MQ的价格
刚好好奇,查了一下阿里云里MQ的价格,如果MQ上云,从普通人的角度来看比较贵,从公司支出角度上看不贵。
阿里云提供全托管服务,用户无需部署运维,最基础的(可选项里最便宜)的版本,Kafka每个月要1700元,RocketMQ要1100元,哎,不知道这两种MQ的价格差别在哪里?难道是因为Kafka搭上了大数据的车?
唠嗑广场
如果是互联网创业,各项成本、费用就上去了,每个月、每年的收入必须稳定,或者说可以容忍当下不稳定,但融资融到的现金一定要够。
因为支出是刚性的,就云服务这一块,从员工角度都觉得贵了,云服务器、数据库、Redis云服务、Kafka云等等,各类组件都是按月、按流量付费的,成本真的不低。
从员工上班角度,领着工资,可能没什么感觉,但切换为创业角度,就感觉到难度了。
果然如此,从打工人切换为老板,难度太大了,也许大多数人几十年都无法跨越,但不跨越也没关系,因为大部分也不合适,因为难以承受风险,比如我自己。
话说,一个草台班子公司,初创期企业非得要上这类稳定性高的云服务Kafka吗?
如果只买云服务器,其他的组件Redis、Kafka都是自己搭在云服务上自己运维,应该是比较省成本的,或者说只有生产环境才使用Kafka云,测试环境、预发布环境等都自己相同版本的Kafka,也是可以的,稳定性差一点。
不影响使用,但省下来的就是利润呐。