用Docker swarm快速部署Nebula Graph集群的教程

一、前言

本文介绍如何使用 Docker Swarm 来部署 Nebula Graph 集群。

二、nebula集群搭建

2.1 环境准备

机器准备


ip


内存(Gb)


cpu(核数)


192.168.1.166


16


4


192.168.1.167


16


4


192.168.1.168


16


4

在安装前确保所有机器已安装docker

2.2 初始化swarm集群

在192.168.1.166机器上执行

$ docker swarm init --advertise-addr 192.168.1.166
Swarm initialized: current node (dxn1zf6l61qsb1josjja83ngz) is now a manager.
To add a worker to this swarm, run the following command:
 docker swarm join \
 --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
 192.168.1.166:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

2.3 加入worker节点

根据init命令提示内容,加入swarm worker节点,在192.168.1.167 192.168.1.168分别执行

docker swarm join \
 --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
 192.168.1.166:2377

2.4 验证集群

docker node ls

ID              HOSTNAME      STATUS       AVAILABILITY    MANAGER STATUS   ENGINE VERSION
h0az2wzqetpwhl9ybu76yxaen *  KF2-DATA-166    Ready        Active       Reachable      18.06.1-ce
q6jripaolxsl7xqv3cmv5pxji   KF2-DATA-167    Ready        Active       Leader       18.06.1-ce
h1iql1uvm7123h3gon9so69dy   KF2-DATA-168    Ready        Active                 18.06.1-ce

2.5 配置docker stack

vi docker-stack.yml

配置如下内容

 version: '3.6'
  services:
   metad0:
    image: vesoft/nebula-metad:nightly
    env_file:
     - ./nebula.env
    command:
     - --meta_server_addrs=192.168.1.166:45500,192.168.1.167:45500,192.168.1.168:45500
     - --local_ip=192.168.1.166
    - --ws_ip=192.168.1.166
    - --port=45500
    - --data_path=/data/meta
    - --log_dir=/logs
    - --v=0
    - --minloglevel=2
   deploy:
    replicas: 1
    restart_policy:
     condition: on-failure
    placement:
    constraints:
      - node.hostname == KF2-DATA-166
  healthcheck:
    test: ["CMD", "curl", "-f", "http://192.168.1.166:11000/status"]
   interval: 30s
    timeout: 10s
   retries: 3
   start_period: 20s
  ports:
   - target: 11000
     published: 11000
     protocol: tcp
    mode: host
    - target: 11002
     published: 11002
     protocol: tcp
    mode: host
    - target: 45500
     published: 45500
    protocol: tcp
     mode: host
  volumes:
    - data-metad0:/data/meta
    - logs-metad0:/logs
  networks:
    - nebula-net

 metad1:
  image: vesoft/nebula-metad:nightly
   env_file:
    - ./nebula.env
  command:
    - --meta_server_addrs=192.168.1.166:45500,192.168.1.167:45500,192.168.1.168:45500
   - --local_ip=192.168.1.167
    - --ws_ip=192.168.1.167
    - --port=45500
   - --data_path=/data/meta
   - --log_dir=/logs
    - --v=0
    - --minloglevel=2
  deploy:
    replicas: 1
    restart_policy:
     condition: on-failure
    placement:
     constraints:
      - node.hostname == KF2-DATA-167
   healthcheck:
    test: ["CMD", "curl", "-f", "http://192.168.1.167:11000/status"]
    interval: 30s
   timeout: 10s
    retries: 3
  start_period: 20s
   ports:
    - target: 11000
     published: 11000
    protocol: tcp
     mode: host
    - target: 11002
     published: 11002
    protocol: tcp
     mode: host
    - target: 45500
     published: 45500
     protocol: tcp
     mode: host
  volumes:
   - data-metad1:/data/meta
   - logs-metad1:/logs
  networks:
   - nebula-net

  metad2:
   image: vesoft/nebula-metad:nightly
  env_file:
   - ./nebula.env
  command:
    - --meta_server_addrs=192.168.1.166:45500,192.168.1.167:45500,192.168.1.168:45500
    - --local_ip=192.168.1.168
    - --ws_ip=192.168.1.168
    - --port=45500
    - --data_path=/data/meta
    - --log_dir=/logs
    - --v=0
    - --minloglevel=2
   deploy:
    replicas: 1
    restart_policy:
     condition: on-failure
    placement:
     constraints:
      - node.hostname == KF2-DATA-168
   healthcheck:
    test: ["CMD", "curl", "-f", "http://192.168.1.168:11000/status"]
    interval: 30s
    timeout: 10s
    retries: 3
    start_period: 20s
   ports:
    - target: 11000
     published: 11000
     protocol: tcp
     mode: host
    - target: 11002
     published: 11002
     protocol: tcp
     mode: host
    - target: 45500
     published: 45500
     protocol: tcp
     mode: host
   volumes:
    - data-metad2:/data/meta
    - logs-metad2:/logs
   networks:
    - nebula-net

  storaged0:
   image: vesoft/nebula-storaged:nightly
   env_file:
    - ./nebula.env
   command:
    - --meta_server_addrs=192.168.1.166:45500,192.168.1.167:45500,192.168.1.168:45500
    - --local_ip=192.168.1.166
    - --ws_ip=192.168.1.166
    - --port=44500
    - --data_path=/data/storage
    - --log_dir=/logs
    - --v=0
    - --minloglevel=2
   deploy:
    replicas: 1
    restart_policy:
     condition: on-failure
    placement:
     constraints:
      - node.hostname == KF2-DATA-166
   depends_on:
    - metad0
    - metad1
    - metad2
   healthcheck:
    test: ["CMD", "curl", "-f", "http://192.168.1.166:12000/status"]
    interval: 30s
    timeout: 10s
    retries: 3
    start_period: 20s
   ports:
    - target: 12000
     published: 12000
     protocol: tcp
     mode: host
    - target: 12002
     published: 12002
     protocol: tcp
     mode: host
   volumes:
    - data-storaged0:/data/storage
    - logs-storaged0:/logs
   networks:
    - nebula-net
  storaged1:
   image: vesoft/nebula-storaged:nightly
   env_file:
    - ./nebula.env
   command:
    - --meta_server_addrs=192.168.1.166:45500,192.168.1.167:45500,192.168.1.168:45500
    - --local_ip=192.168.1.167
    - --ws_ip=192.168.1.167
    - --port=44500
    - --data_path=/data/storage
    - --log_dir=/logs
    - --v=0
    - --minloglevel=2
   deploy:
    replicas: 1
    restart_policy:
     condition: on-failure
    placement:
     constraints:
      - node.hostname == KF2-DATA-167
   depends_on:
    - metad0
    - metad1
    - metad2
   healthcheck:
    test: ["CMD", "curl", "-f", "http://192.168.1.167:12000/status"]
    interval: 30s
    timeout: 10s
    retries: 3
    start_period: 20s
   ports:
    - target: 12000
     published: 12000
     protocol: tcp
     mode: host
    - target: 12002
     published: 12004
     protocol: tcp
     mode: host
   volumes:
    - data-storaged1:/data/storage
    - logs-storaged1:/logs
   networks:
    - nebula-net

  storaged2:
   image: vesoft/nebula-storaged:nightly
   env_file:
    - ./nebula.env
   command:
    - --meta_server_addrs=192.168.1.166:45500,192.168.1.167:45500,192.168.1.168:45500
    - --local_ip=192.168.1.168
    - --ws_ip=192.168.1.168
    - --port=44500
    - --data_path=/data/storage
    - --log_dir=/logs
    - --v=0
    - --minloglevel=2
   deploy:
    replicas: 1
    restart_policy:
     condition: on-failure
    placement:
     constraints:
      - node.hostname == KF2-DATA-168
   depends_on:
    - metad0
    - metad1
    - metad2
   healthcheck:
    test: ["CMD", "curl", "-f", "http://192.168.1.168:12000/status"]
    interval: 30s
    timeout: 10s
    retries: 3
    start_period: 20s
   ports:
    - target: 12000
     published: 12000
     protocol: tcp
     mode: host
    - target: 12002
     published: 12006
     protocol: tcp
     mode: host
   volumes:
    - data-storaged2:/data/storage
    - logs-storaged2:/logs
   networks:
    - nebula-net
  graphd1:
   image: vesoft/nebula-graphd:nightly
   env_file:
    - ./nebula.env
   command:
    - --meta_server_addrs=192.168.1.166:45500,192.168.1.167:45500,192.168.1.168:45500
    - --port=3699
    - --ws_ip=192.168.1.166
    - --log_dir=/logs
    - --v=0
    - --minloglevel=2
   deploy:
    replicas: 1
    restart_policy:
     condition: on-failure
    placement:
     constraints:
      - node.hostname == KF2-DATA-166
   depends_on:
    - metad0
    - metad1
    - metad2
   healthcheck:
    test: ["CMD", "curl", "-f", "http://192.168.1.166:13000/status"]
    interval: 30s
    timeout: 10s
    retries: 3
    start_period: 20s
   ports:
    - target: 3699
     published: 3699
     protocol: tcp
     mode: host
    - target: 13000
     published: 13000
     protocol: tcp
 #    mode: host
    - target: 13002
     published: 13002
     protocol: tcp
     mode: host
   volumes:
    - logs-graphd:/logs
   networks:
    - nebula-net

  graphd2:
   image: vesoft/nebula-graphd:nightly
   env_file:
    - ./nebula.env
   command:
    - --meta_server_addrs=192.168.1.166:45500,192.168.1.167:45500,192.168.1.168:45500
    - --port=3699
    - --ws_ip=192.168.1.167
    - --log_dir=/logs
    - --v=2
    - --minloglevel=2
   deploy:
    replicas: 1
    restart_policy:
     condition: on-failure
    placement:
     constraints:
      - node.hostname == KF2-DATA-167
   depends_on:
    - metad0
    - metad1
    - metad2
   healthcheck:
    test: ["CMD", "curl", "-f", "http://192.168.1.167:13001/status"]
    interval: 30s
    timeout: 10s
    retries: 3
    start_period: 20s
   ports:
    - target: 3699
     published: 3640
     protocol: tcp
     mode: host
    - target: 13000
     published: 13001
     protocol: tcp
     mode: host
    - target: 13002
     published: 13003
     protocol: tcp
 #    mode: host
   volumes:
    - logs-graphd2:/logs
   networks:
    - nebula-net
  graphd3:
   image: vesoft/nebula-graphd:nightly
   env_file:
    - ./nebula.env
   command:
    - --meta_server_addrs=192.168.1.166:45500,192.168.1.167:45500,192.168.1.168:45500
    - --port=3699
    - --ws_ip=192.168.1.168
    - --log_dir=/logs
    - --v=0
    - --minloglevel=2
   deploy:
    replicas: 1
    restart_policy:
     condition: on-failure
    placement:
     constraints:
      - node.hostname == KF2-DATA-168
   depends_on:
    - metad0
    - metad1
    - metad2
   healthcheck:
    test: ["CMD", "curl", "-f", "http://192.168.1.168:13002/status"]
    interval: 30s
    timeout: 10s
    retries: 3
    start_period: 20s
   ports:
    - target: 3699
     published: 3641
     protocol: tcp
     mode: host
    - target: 13000
     published: 13002
     protocol: tcp
 #    mode: host
    - target: 13002
     published: 13004
     protocol: tcp
     mode: host
   volumes:
    - logs-graphd3:/logs
   networks:
    - nebula-net
 networks:
  nebula-net:
   external: true
   attachable: true
   name: host
 volumes:
  data-metad0:
  logs-metad0:
  data-metad1:
  logs-metad1:
  data-metad2:
  logs-metad2:
  data-storaged0:
  logs-storaged0:
  data-storaged1:
  logs-storaged1:
  data-storaged2:
  logs-storaged2:
  logs-graphd:
  logs-graphd2:
  logs-graphd3:
docker-stack.yml

编辑 nebula.env

加入如下内容

 TZ=UTC
USER=root

nebula.env

2.6 启动nebula集群

docker stack deploy nebula -c docker-stack.yml

三、集群负载均衡及高可用配置

Nebula Graph的客户端目前(1.X)没有提供负载均衡的能力,只是随机选一个graphd去连接。所以生产使用的时候要自己做个负载均衡和高可用。

图3.1

将整个部署架构分为三层,数据服务层,负载均衡层及高可用层。如图3.1所示

负载均衡层:对client请求做负载均衡,将请求分发至下方数据服务层

高可用层: 这里实现的是haproxy的高可用,保证负载均衡层的服务从而保证整个集群的正常服务

3.1 负载均衡配置

haproxy使用docker-compose配置。分别编辑以下三个文件

Dockerfile 加入以下内容

FROM haproxy:1.7
 COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
EXPOSE 3640

Dockerfile

docker-compose.yml加入以下内容

 version: "3.2"
 services:
  haproxy:
   container_name: haproxy
   build: .
   volumes:
    - ./haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg
   ports:
    - 3640:3640
   restart: always
   networks:
    - app_net
 networks:
  app_net:
   external: true

docker-compose.yml

haproxy.cfg加入以下内容

global
   daemon
   maxconn 30000
   log 127.0.0.1 local0 info
  log 127.0.0.1 local1 warning

 defaults
  log-format %hr\ %ST\ %B\ %Ts
  log global
   mode http
   option http-keep-alive
   timeout connect 5000ms
   timeout client 10000ms
   timeout server 50000ms
   timeout http-request 20000ms

 # custom your own frontends && backends && listen conf
 #CUSTOM

 listen graphd-cluster
   bind *:3640
   mode tcp
   maxconn 300
   balance roundrobin
   server server1 192.168.1.166:3699 maxconn 300 check
   server server2 192.168.1.167:3699 maxconn 300 check
   server server3 192.168.1.168:3699 maxconn 300 check

 listen stats
   bind *:1080
   stats refresh 30s
   stats uri /stats

3.2 启动haproxy

docker-compose up -d

3.2 高可用配置

注:配置keepalive需预先准备好vip (虚拟ip),在以下配置中192.168.1.99便为虚拟ip

在192.168.1.166 、192.168.1.167、192.168.1.168上均做以下配置

安装keepalived

apt-get update && apt-get upgrade && apt-get install keepalived -y

更改keepalived配置文件/etc/keepalived/keepalived.conf(三台机器中 做如下配置,priority应设置不同值确定优先级)

192.168.1.166机器配置

 global_defs {
   router_id lb01 #标识信息,一个名字而已;
 }
 vrrp_script chk_haproxy {
   script "killall -0 haproxy"  interval 2
 }
 vrrp_instance VI_1 {
   state MASTER
   interface ens160
   virtual_router_id 52
   priority 999
   # 设定MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒
   advert_int 1
   # 设置验证类型和密码
   authentication {
   # 设置验证类型,主要有PASS和AH两种
     auth_type PASS
   # 设置验证密码,在同一个vrrp_instance下,MASTER与BACKUP必须使用相同的密码才能正常通信
     auth_pass amber1
   }
   virtual_ipaddress {
     # 虚拟IP为192.168.1.99/24;绑定接口为ens160;别名ens169:1,主备相同
     192.168.1.99/24 dev ens160 label ens160:1
   }
   track_script {
     chk_haproxy
   }
 }

167机器配置

 global_defs {
   router_id lb01 #标识信息,一个名字而已;
 }
 vrrp_script chk_haproxy {
   script "killall -0 haproxy"  interval 2
 }
 vrrp_instance VI_1 {
   state BACKUP
   interface ens160
   virtual_router_id 52
   priority 888
   # 设定MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒
   advert_int 1
   # 设置验证类型和密码
   authentication {
   # 设置验证类型,主要有PASS和AH两种
     auth_type PASS
   # 设置验证密码,在同一个vrrp_instance下,MASTER与BACKUP必须使用相同的密码才能正常通信
     auth_pass amber1
   }
   virtual_ipaddress {
     # 虚拟IP为192.168.1.99/24;绑定接口为ens160;别名ens160:1,主备相同
     192.168.1.99/24 dev ens160 label ens160:1
   }
   track_script {
     chk_haproxy
   }
 }

168机器配置

 global_defs {
   router_id lb01 #标识信息,一个名字而已;
 }
 vrrp_script chk_haproxy {
   script "killall -0 haproxy"  interval 2
 }
 vrrp_instance VI_1 {
   state BACKUP
   interface ens160
   virtual_router_id 52
   priority 777
   # 设定MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒
   advert_int 1
   # 设置验证类型和密码
   authentication {
   # 设置验证类型,主要有PASS和AH两种
     auth_type PASS
   # 设置验证密码,在同一个vrrp_instance下,MASTER与BACKUP必须使用相同的密码才能正常通信
     auth_pass amber1
   }
   virtual_ipaddress {
     # 虚拟IP为192.168.1.99/24;绑定接口为ens160;别名ens160:1,主备相同
     192.168.1.99/24 dev ens160 label ens160:1
   }
   track_script {
     chk_haproxy
   }
 }

keepalived相关命令

# 启动keepalived
systemctl start keepalived
# 使keepalived开机自启
systemctl enable keeplived
# 重启keepalived
systemctl restart keepalived

四、其他

离线怎么部署?把镜像更改为私有镜像库就成了,有问题欢迎来勾搭啊。

到此这篇关于用Docker swarm快速部署Nebula Graph集群的文章就介绍到这了,更多相关Docker 部署Nebula Graph集群内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解Docker Swarm服务发现和负载均衡原理

    本文将介绍基于 DNS 的负载均衡.基于 VIP 的负载均衡和路由网格(Routing Mesh). 使用的技术 Docker 使用了 Linux 内核 iptables 和 IPVS 的功能来实现服务发现和负载均衡. iptables 是 Linux 内核中可用的包过滤技术,它可用于根据数据包的内容进行分类.修改和转发决策. IPVS 是 Linux 内核中可用的传输级负载均衡器. 准备工作 swarm 集群: [Manager]node1.[Worker]node2 客户端镜像: regis

  • docker swarm 集群故障与异常详解

    本文介绍了docker swarm 集群故障与异常详解,分享给大家,具体如下: 在上次遭遇 docker swarm 集群故障后,我们将 docker 由 17.10.0-ce 升级为最新稳定版 docker 17.12.0-ce . 前天晚上22:00之后集群中的2个节点突然出现CPU波动,在CPU波动之后,在凌晨夜深人静.访问量极低的时候,整个集群出现了故障,访问集群上的所有站点都出现了502,过了一段时间后自动恢复正常. ECS实例:swarm1-node5,CPU百分比于00:52发生告

  • Docker的安装方法及运行Docker Swarm模式的使用

    Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口. 概要 docker就给简单介绍这么多,这里主要说说docker swarm. docker engine本身只提供了容器技术,没有解决集群环境下的容器编排和通信.docker swarm是一个容器编排管理工具,docker-engine在1.12版本之后集成了docker

  • Docker Swarm从部署到基本操作

    关于Docker Swarm Docker Swarm由两部分组成: Docker集群:将一个或多个Docker节点组织起来,用户就能以集群的方式进行管理: 应用编排:有一套API用来部署和管理容器: 官方资料:https://docs.docker.com/swarm/ 网络图 下图是个典型的Docker Swarm集群部署图,来自Docker官网: 接下来照着上图来搭建一个Docker Swarm集群. 准备工作 本次实战一共用到了5台机器,配置信息全部相同,如下: 操作系统:CentOS

  • 详解使用docker 1.12 搭建多主机docker swarm集群

    swarm是docker公司自己的容器集群管理工具,本文介绍了使用docker 1.12 搭建多主机docker swarm集群,分享给大家 准备 准备至少两台的centos 7 主机(全新最小安装, 可以使用虚拟机安装) 开放端口2377 tcp端口, 7946 4789 tcp udp 端口 本文使用192.168.99.101(hostname:centos-node4) 作为swarm manager 192.168.99.102(hostname:centos-node5) 作为sw

  • 用Docker swarm快速部署Nebula Graph集群的教程

    一.前言 本文介绍如何使用 Docker Swarm 来部署 Nebula Graph 集群. 二.nebula集群搭建 2.1 环境准备 机器准备 ip 内存(Gb) cpu(核数) 192.168.1.166 16 4 192.168.1.167 16 4 192.168.1.168 16 4 在安装前确保所有机器已安装docker 2.2 初始化swarm集群 在192.168.1.166机器上执行 $ docker swarm init --advertise-addr 192.168.

  • Docker Compose快速部署多容器服务实战的实例详解

    目录 1 什么是Docker Compose 2 安装Docker Compose 3 Docker Compose文件格式的简单介绍 4 Docker Compose常用命令 5 使用Docker Compose一键部署Spring Boot+Redis实战 5.1 构建应用 5.1.1 Spring Boot项目 5.1.2 Redis配置文件 5.2 打包应用并构建目录 5.2.1 打包Spring Boot项目 5.2.2 上传redis.conf配置文件 5.3 编写Dockerfil

  • Vmware部署Nginx+KeepAlived集群双主架构的问题及解决方法

    前言 用nginx做负载均衡,作为架构的最前端或中间层,随着日益增长的访问量,需要给负载均衡做高可用架构,利用keepalived解决单点风险,一旦 nginx宕机能快速切换到备份服务器. Vmware网络配置可能遇到的问题解决方法 启动VMware DHCP Service和VMware NAT Service两个服务 在网络适配器开启网络共享,允许其他网络打勾保存,重启虚拟机 安装 节点部署 节点 地址 服务 centos7_1 192.168.211.130 Keepalived+Ngin

  • Docker微服务的ETCD集群搭建教程详解

    目录 etcd的特性 Etcd构建自身高可用集群主要有三种形式 本次搭建的基础环境 1.将服务器挨个添加进集群 2.将服务器统一添加进集群 etcd api接口 服务注册与发现 etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现.etcd是由CoreOS开发并维护的,灵感来自于 ZooKeeper 和 Doozer,它使用Go语言编写,并通过Raft一致性算法处理日志复制以保证强一致性.Raft是一个来自Stanford的新的一致性算法,适用于分布式系统的日志复制,Raft通过选举的

  • 基于Redis6.2.6版本部署Redis Cluster集群的问题

    目录 1.Redis6.2.6简介以及环境规划 2.二进制安装Redis程序 2.1.二进制安装redis6.2.6 2.2.创建Reids Cluster集群目录 3.配置Redis Cluster三主三从交叉复制集群 3.1.准备六个节点的redis配置文件 3.2.将六个节点全部启动 3.3.配置集群节点之间相互发现 3.4.为集群中的充当Master的节点分配槽位 3.5.配置三主三从交叉复制模式 4.快速搭建Redis Cluster集群 1.Redis6.2.6简介以及环境规划 在R

  • Docker如何使用nginx搭建tomcat集群(图文详解)

    首先创建tomcat的文件夹 ,为了方便docker的配置 我这里直接在根目录中创建第一步:创建文件夹:发布文件夹 mkdir -p /docker/tomcat/webapp8081 mkdir -p /docker/tomcat/webapp8082 mkdir -p /docker/tomcat/webapp8083 第二步:创建Tomcat容器(端口 可以根据自己的实际更换) docker run -d --name tomcat8081 -p 8081:8080 -v /docker/

  • Docker下安装zookeeper(单机和集群)

    启动Docker后,先看一下我们有哪些选择. 有官方的当然选择官方啦~ 下载: [root@localhost admin]# docker pull zookeeper Using default tag: latest Trying to pull repository docker.io/library/zookeeper ... latest: Pulling from docker.io/library/zookeeper 1ab2bdfe9778: Already exists 7a

  • docker安装ElasticSearch:7.8.0集群的详细教程

    ElasticSearch集群支持动态请求的方式搭建集群和静态配置文件搭建集群 关于集群的动态连接方式官方的文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html 前置准备工作 关于参数的官网说明: https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-discovery-

  • k8s部署redis cluster集群的实现

    Redis 介绍 Redis代表REmote DIctionary Server是一种开源的内存中数据存储,通常用作数据库,缓存或消息代理.它可以存储和操作高级数据类型,例如列表,地图,集合和排序集合. 由于Redis接受多种格式的密钥,因此可以在服务器上执行操作,从而减少了客户端的工作量. 它仅将磁盘用于持久性,而将数据完全保存在内存中. Redis是一种流行的数据存储解决方案,并被GitHub,Pinterest,Snapchat,Twitter,StackOverflow,Flickr等技

随机推荐