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)集群安装

这里先省略,等有时间再补上。这里为了演示只使用单机。但是在高可用的情况下应该配置集群。

Spring Cloud(7.1):安装Kafka和Redis的更多相关文章

  1. Spring Cloud(中文版)

    原文链接:Spring Cloud I.云原生应用 Spring Cloud上下文:应用上下文服务 2.1.Bootstrap应用程序上下文 2.2.应用程序上下文层次结构 2.3.更改Bootstr ...

  2. Spring Cloud(0):目录

    Spring Cloud(1):概览 Spring Cloud(2):服务发现(Eureka) Spring Cloud(3):配置服务(Config) Spring Cloud(4):断路器(Hys ...

  3. Spring Cloud 开门见山

    Spring Cloud简介 Spring Cloud是一个基于Spring Boot实现的云应用开发工具,为开发者提供了在分布式系统(配置管理,服务发现,熔断,路由,微代理,控制总线,一次性toke ...

  4. 1 Spring Cloud Eureka服务治理

    注:此随笔为读书笔记.<Spring Cloud微服务实战> 什么是微服务? 微服务是将一个原本独立的系统拆分成若干个小型服务(一般按照功能模块拆分),这些小型服务都在各自独立的进程中运行 ...

  5. 微服务架构-选择Spring Cloud,放弃Dubbo

    Spring Cloud 在国内中小型公司能用起来吗?从 2016 年初一直到现在,我们在这条路上已经走了一年多. 在使用 Spring Cloud 之前,我们对微服务实践是没有太多的体会和经验的.从 ...

  6. 干货|基于 Spring Cloud 的微服务落地

    转自 微服务架构模式的核心在于如何识别服务的边界,设计出合理的微服务.但如果要将微服务架构运用到生产项目上,并且能够发挥该架构模式的重要作用,则需要微服务框架的支持. 在Java生态圈,目前使用较多的 ...

  7. 放弃Dubbo,选择最流行的Spring Cloud微服务架构实践与经验总结

    http://developer.51cto.com/art/201710/554633.htm Spring Cloud 在国内中小型公司能用起来吗?从 2016 年初一直到现在,我们在这条路上已经 ...

  8. 基于Spring Cloud的微服务落地

    微服务架构模式的核心在于如何识别服务的边界,设计出合理的微服务.但如果要将微服务架构运用到生产项目上,并且能够发挥该架构模式的重要作用,则需要微服务框架的支持. 在Java生态圈,目前使用较多的微服务 ...

  9. Spring Cloud微服务实战阅读笔记(一) 基础知识

    本文系<Spring Cloud微服务实战>作者:翟永超,一书的阅读笔记. 一:基础知识   1:什么是微服务架构     是一种架构设计风格,主旨是将一个原本独立的系统拆分成多个小型服务 ...

随机推荐

  1. Flask+nginx+Gunicorn部署

    当我们开发完Flask项目后是不能直接通过命令启动服务来使用的(扛不住的) Gunicorn 是一个给 UNIX 用的 WSGI HTTP 服务器.这是一个从 Ruby 的 Unicorn 项目移植的 ...

  2. MyBatis 接口注解方式代替mapper.xml

    https://blog.csdn.net/m0_38068812/article/details/86566929 spring boot(8)-mybatis三种动态sql  或者 这个 1. 代 ...

  3. hash 算法

    Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是 ...

  4. 自定义starter

    https://github.com/deadzq/spring-boot-starter-hello 父子项目 子项目引用父项目中的依赖和配置参数

  5. shell 边边角角

    [Shell学习笔记] 数组.关联数组和别名使用 Linux中bash脚本数组和字典使用举例 Linux Shell 通配符.元字符.转义符使用实例介绍

  6. SONiC项目的发展及其相关介绍(转载)

    SONiC作为一个开源项目,理论上是包含了SAI(switch abstraction interface,交换机抽象接口),SAI是没有开源的,厂商自己完成统一的API,提供给上层sonic用户来调 ...

  7. P3688 [ZJOI2017] 树状数组 【二维线段树】

    题目描述:这里有一个写挂的树状数组: 有两种共\(m\)个操作: 输入\(l,r\),在\([l,r]\)中随机选择一个整数\(x\)执行\(\text{Add}(x)\) 输入\(l,r\),询问执 ...

  8. unity Assetboundle 工具

    Unity Asset Bundle Browser tool https://github.com/Unity-Technologies/AssetBundles-Browser assetboun ...

  9. Unity与Android之间的交互之AndroidManifest

    https://blog.csdn.net/qq_15003505/article/details/70231975 AndroidManifest,中文名一般称之为清单文件.它描述了应用程序的组件的 ...

  10. 简述with原理

    with open('x') as f: for line in f: print(line.replace('a', 'b')) 不管在处理文件过程中是否发生异常,都能保证 with 语句执行完毕后 ...