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. Robot Framework--完整的接口测试用例

    *** Settings *** Library Collections Library json Library requests Library RequestsLibrary Library H ...

  2. AtCoder NIKKEI Programming Contest 2019 E. Weights on Vertices and Edges (并查集)

    题目链接:https://atcoder.jp/contests/nikkei2019-qual/tasks/nikkei2019_qual_e 题意:给出一个 n 个点 m 条边的无向图,每个点和每 ...

  3. KM 最大权匹配 UVA 1411/POJ 3565

    #include <bits/stdc++.h> using namespace std; inline void read(int &num) { char ch; num = ...

  4. Learning Spark (Python版) 学习笔记(一)----RDD 基本概念与命令

    <Learning Spark>这本书算是Spark入门的必读书了,中文版是<Spark快速大数据分析>,不过豆瓣书评很有意思的是,英文原版评分7.4,评论都说入门而已深入不足 ...

  5. Helm:kubernetes应用包管理工具

    概要 Helm:kubernetes应用包管理工具 K8s部署应用的时候,应用会通过yaml描述信息调用K8s-api:Helm即是管理这些Yaml的应用包管理工具 组成 Helm包含5个部分 Hel ...

  6. GBDT算法梳理

    1.GBDT(Gradient Boosting Decision Tree)思想 Boosting : 给定初始训练数据,由此训练出第一个基学习器: 根据基学习器的表现对样本进行调整,在之前学习器做 ...

  7. jQuery事件触发前后进行其他的操作

    <!-- 事件触发前后执行其他操作的三种方式: 多适用于:公众号的订阅,有订阅的可以收到文章,没有订阅的收不到文章. --> <!DOCTYPE html> <html ...

  8. 007——转载——C#将字符串转换为整型的三种方法的总结

    (一)转载——C#将字符串转换为整型的三种方法的总结 在C#中,要将一个字符串或浮点数转换为整数,基本上有三种方法: (1)使用强制类型转换:(int)浮点数 (2)使用Convert.ToInt32 ...

  9. MySQL Multi-Range Read(MRR 索引多范围查找) 原理与解析

    原理: 如果基表很大,数据没有被缓存,在二级索引上使用范围扫描读取行可能会导致大量的随机磁盘访问.使用Multi-Range Read新特性,mysql可以减少对磁盘的随机读的次数:首先,mysql只 ...

  10. 005_Python3 运算符

    什么是运算符? 本章节主要说明Python的运算符.举个简单的例子 4 +5 = 9 . 例子中,4 和 5 被称为操作数,"+" 称为运算符. Python语言支持以下类型的运算 ...