java环境
kafka是需要java环境的
1.卸载已有的jdk
Centos7一般都会带有自己的openjdk,我们一般都回用oracle的jdk,所以要卸载
步骤一:查询系统是否以安装jdk
#rpm -qa|grep java
或 #rpm -qa|grep jdk
或 #rpm -qa|grep gcj
步骤二:卸载已安装的jdk
#rpm -e --nodeps java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
#rpm -e --nodeps java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64
#rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
#rpm -e --nodeps java-1.7.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
步骤三:验证一下是还有jdk
#rpm -qa|grep java
#java -version
没有内容证明已经卸载干净了
2.配置
1)上传jdk到指定目录解压
tar -zxvf /mnt/hgfs/share/jdk.tar.gz -C /java
2)编辑/etc/profile文件,配置环境变量
export JAVA_HOME=/java/jdk-12.0.1
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=.:$JAVA_HOME/bin:$JRE_HOME/bin:$KE_HOME/bin:${MAVEN_HOME}/bin:$PATH
3)生效profile
source /etc/profile
4)查看Java版本
java -version
这样java环境就配置好了
安装配置zookeeper
1.上传解压
tar tar -zxvf /mnt/hgfs/share/zookeeper-3.4.14.tar.gz -C /opt/zookeeper
2.修改配置
1)进入conf目录,将zoo_sample.cfg文件名修改为zoo.cfg
mv zoo_sample.cfg zoo.cfg
2)修改zoo.cfg
vim zoo.cfg
内容为:
修改数据目录
dataDir=/opt/zookeeper/data
修改日志目录
dataLogDir=/opt/zookeeper/logs
这里需要自己手动创建这么一个目录
其他配置项不需要修改使用默认的即可。
zk服务器的心跳时间
tickTime=2000
投票选举新Leader的初始化时间
initLimit=10
Zookeeper对外服务端口,保持默认
clientPort=2181
3.启动Zookeeper
启动命令
bin/zkServer.sh start
出现如下代码表示启动成功
ZooKeeper JMX enabled by default
Using config: /mnt/d/zookeeper-3.4.14/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
可使用一下命令查看
ps -ef | grep zookeeper
jps -l
zookeeper就安装成功了,接下来就是安装kafka了
Kafka的安装与配置
1.上传解压
tar -zxvf /mnt/hgfs/share/kafka_2.12-2.2.1.tgz -C /opt/kafka
2.配置
进入config目录
vim server.properties
broker.id=0
表示broker的编号,如果集群中有多个broker,则每个broker的编号需要设置
的不同,使用默认不做修改。
listeners=PLAINTEXT://ip:9092 brokder
对外提供的服务入口地址,修改为本机ip
log.dirs=/opt/kafka/log
设置存放消息日志文件的地址,创建目录地址
zookeeper.connect=localhost:2181 Kafka
所需Zookeeper集群地址,教学中Zookeeper和
Kafka都安装本机
2.启动
启动命令
bin/kafka-server-start.sh config/server.properties
启动成功之后显示
[2020-04-23 10:53:48,688] INFO Kafka version: 2.2.1 (org.apache.kafka.common.utils.AppInfoParser)
[2020-04-23 10:53:48,688] INFO Kafka commitId: 55783d3133a5a49a (org.apache.kafka.common.utils.AppInfoParser)
[2020-04-23 10:53:48,717] INFO [KafkaServer id=0] started (kafka.server.KafkaServer)
查看状态
jps -l
测试
首先创建一个主题
命令如下:
bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic casic --partitions 2 --replication-factor 1
命令解释:
--zookeeper:指定了Kafka所连接的Zookeeper服务地址
--topic:指定了所要创建主题的名称
--partitions:指定了分区个数
--replication-factor:指定了副本因子
--create:创建主题的动作指令
展示所有主题命令:
bin/kafka-topics.sh --zookeeper localhost:2181 --list
查看主题详情命令:
bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic casic
命令介绍
--describe 查看详情动作指令
启动消费者
bin/kafka-console-consumer.sh --bootstrap-server ip:9092 --topic casic
命令解释
--bootstrap-server 指定了连接Kafka集群的地址
--topic 指定了消费端订阅的主题
启动生产者
bin/kafka-console-producer.sh --broker-list ip:9092 --topic casic
命令解释
--broker-list 指定了连接的Kafka集群的地址
--topic 指定了发送消息时的主题
生产者就可以给消费者发送消息了