1.1 Kafka的单节点部署
在实际的工作中,经常使用Kafka作为消息队列,然而并不是每一种业务场景都需要集群版的Kafka,有时单节点的Kafka就能满足了业务的需求。以下就是单节点kafka的部署流程:
1.1.1 安装包下载
从Kafka官网下载最新的Kafka,目前我下载的版本为kafka_2.12-1.1.0.tgz
1.1.2 解压安装包
tar -zxvf kafka_2.12-1.1.0.tgz -C /opt/
创建软链接,软连接的创建的好处是方便之后的Kafka的版本的升级:
ln -s /opt/kafka_2.12-1.1.0 /opt/kafka
1.1.3 配置Zookeeper
Kafka的安装包中,包含了zookeeper的安装包,如果没有zookeeper,可以按照以下流程进行配置,如果自带了zookeeper,可以使用已有的。
cd /opt/kafkavim config/zookeeper.properties
修改ZooKeeper的数据目录
dataDir=/data/zookeeper
配置host.name和advertised.host.name为IP地址
host.name=bigdata234advertised.host.name=bigdata234
1.1.4 启动Zookeeper
由于Kafka需要把元数据注册到Zookeeper的,所以,启动Kafka之前需要首先启动Zookeeper。启动Zookeeper服务有两种方式,前台启动和后台启动。当调试的时候,需要前台启动,能够直接在前台看到运行日志,如果出现了报错现象,也方便调优。当ZK运行正常之后,就可以使用后台运行的方式启动服务了。
#前台启动./zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties#后台启动./zookeeper-server-start.sh -daemon /opt/kafka/config/zookeeper.properties
1.1.5 修改Kafka配置
Kafka的配置文件保存在config/server.properties文件中。对Kafka的配置的修改主要是修改数据文件目录,日志文件目录,基础配置信息。必须修改的选项。尤其是Kafka的数据和日志不能保存在系统盘中,一般的系统的系统盘的大小就几十个GB,很容易会将系统盘写满。
1.1.5.1 修改数据文件目录
log.dirs=/data/kafka/datas#支持多个数据盘的挂载,多个数据盘之间使用英文逗号分隔开即可
1.1.5.2 修改日志文件目录
Kafka运行的时候都会通过log4j打印很多日志文件,如:server.log,controller.log, state-change.log等,默认都会将其输出到${KAFKA_HOME}/logs目录下。Kafka的日志默认输出的路径是在${KAFKA_HOME}/bin/kafka-run-class.sh指定的,可以修改如下:
# Log directory to useif [ "x$LOG_DIR" = "x" ];then LOG_DIR="/data/kafka/logs"fi
1.1.5.3 修改基础配置信息
单节点安装的时候需要指定对应的地址和绑定的端口。需要在配置文件中添加如下选项:
listeners=PLAINTEXT://bigdata234:9092port=9092advertised.host.name=bigdata234
1.1.6 启动Kafka服务器
Kafka的启动也可以是前台或者后台启动。
./kafka-server-start.sh ../config/server.proper#后台启动./kafka-server-start.sh -daemon ../config/server.properties
1.1.7 单节点的优缺点
单节点Kafka有优点也有缺点。
优点如下——
u 部署简单;
u 运维简单;
u 资源需求少;
u 快速满足基本功能;
缺点如下——
u 性能差,不适合面向高并发;
u 数据缺少安全性,一个物理机挂了,数据就会丢失;