在CentOS上部署Kafka的步骤如下:
sudo yum install java-1.8.0-openjdk-devel
java -version
wget https://downloads.apache.org/kafka/2.12.0/kafka_2.12-2.12.0.tgz
tar -xzvf kafka_2.12-2.12.0.tgz
cd kafka_2.12-2.12.0
vi config/zoo.cfg
修改以下配置项:tickTime=2000
dataDir=/tmp/zookeeper
clientPort=2181
./bin/zookeeper-server-start.sh config/zoo.cfg
vi config/server.properties
修改以下配置项:broker.id=0
listeners=SASL_PLAINTEXT://:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
log.dirs=/tmp/kafka-logs
zookeeper.connect=localhost:2181
mkdir -p /tmp/kafka-logs
./bin/kafka-server-start.sh config/server.properties
./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
./bin/kafka-topics.sh --list --zookeeper localhost:2181
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
sudo vi /etc/systemd/system/kafka.service
添加以下内容:[Unit]
Description=Apache Kafka server
After=network.target zookeeper.service
[Service]
Type=simple
User=kafka
Group=kafka
ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable kafka
sudo systemctl start kafka
sudo firewall-cmd --zone=public --add-port=2181/tcp --permanent
sudo firewall-cmd --zone=public --add-port=9092/tcp --permanent
sudo firewall-cmd --reload
sudo sysctl -w net.core.rmem_default=262144
sudo sysctl -w net.core.rmem_max=2097152
sudo sysctl -w net.core.wmem_default=262144
sudo sysctl -w net.core.wmem_max=2097152
sudo vi /etc/security/limits.conf
添加或修改以下行:* soft nofile 655360
* hard nofile 655360
* soft nproc 8096
* hard nproc 8096
以上步骤是在CentOS上部署Kafka的基本流程,具体配置可能需要根据实际情况进行调整。