Spring Cloud(7.1):安装Kafka和Redis
Kafka安装
(1)从官方(http://kafka.apache.org/downloads)下载安装包。kafka安装包和一般安装包的命名方式不一样,我们看一个kafka包命名:kafka_2.12-2.1.1.tgz,其中2.12是scala的版本,2.1.1才是kafka的版本。官方强烈建议scala版本和服务器上的scala版本保持一致,避免引发一些不可预知的问题。
(2)执行如下命令解压安装包:
bash-4.1$ tar -xzf kafka_2.12-2.1.1.tgz
(3)kafka依赖zookeeper,zookeeper集群可以自己搭建,也可以用kafka安装包中内置的shell脚本启动zookeeper。我们必须先启动zookeeper(default port: 2181)再启动kafka(default port: 9092)
#!/bin/bash cd /home/me/kafka_2.12-2.1.1 nohup bin/zookeeper-server-start.sh config/zookeeper.properties > /dev/null 2>&1 & nohup bin/kafka-server-start.sh config/server.properties > /dev/null 2>&1 & echo "Success to start zookeeper and kafka!"
(4)使用命令发送和接收消息
## 创建topic bash-4.1$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic TEST-TOPIC Created topic "TEST-TOPIC". ## 查看所有创建的topic集合 bash-4.1$ bin/kafka-topics.sh --list --zookeeper localhost:2181 TEST-TOPIC ## 选择一个topic并发送消息 bash-4.1$ bin/kafka-console-producer.sh --broker-list localhost:9092 --topic TEST-TOPIC >Hello! I'm Tom. >Nice to meet you! ## 同时打开另一个终端接收消息 bash-4.1$ bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic TEST-TOPIC --from-beginning Hello! I'm Tom. Nice to meet you!
(5)关闭kafka和zookeeper
#!/bin/bash cd /home/me/kafka_2.12-2.1.1 sh bin/kafka-server-stop.sh sh bin/zookeeper-server-stop.sh echo "Success to stop kafka and zookeeper!"
(6)集群安装
主要是修改配置文件,再通过不同的配置文件启动。这里先省略,等有时间再补上。这里为了演示只使用单机。但是在高可用的情况下应该配置集群。
Redis安装
(1)从官方(https://redis.io/download)下载安装包。
(2)执行如下命令解压安装包:
bash-4.1$ tar xzf redis-5.0.3.tar.gz bash-4.1$ cd redis-5.0.3 bash-4.1$ make
(3)修改redis配置文件
redis默认只和本机connect。如果要远程连接,可以在redis.conf加一行'bind <self hostname | self ipaddress>',或注释掉bind 127.0.0.1并且改protected mode为no。
(4)启动redis服务(在redis-5.0.3目录下)
bash-4.1$ src/redis-server redis.conf
(5)启动redis客户端程序redis-cli(在redis-5.0.3目录下)
bash-4.1$ src/redis-cli 127.0.0.1:6379> set mykey myvalue OK 127.0.0.1:6379> get mykey "myvalue"
(6)关闭Redis
#!/bin/bash PROJECTNAME=Redis APP_NAME="redis-server" pid=`ps -ef|grep ${APP_NAME}|grep -v grep|grep -v /bin/bash|awk '{print $2}'` if [ -z "${pid}" ]; then echo "${PROJECTNAME} is not running." else echo "${PROJECTNAME} is running and pid=${pid}." kill -9 $pid echo "Sucess to stop ${PROJECTNAME}." fi
(7)集群安装
这里先省略,等有时间再补上。这里为了演示只使用单机。但是在高可用的情况下应该配置集群。