ES集群搭建

ES集群搭建,第1张

一、集群搭建

1.前置操作

若克隆已有的es虚拟机,一定要清空一下文件:

2.配置集群,修改elasticsearch.yml

# 配置集群名称,保证每个节点的名称相同,如此就能都处于一个集群之内了

cluster.name: imooc-es-cluster

# 每一个节点的名称,必须不一样

node.name: es-node1

# http端口(使用默认即可)

http.port: 9200

# 主节点,作用主要是用于来管理整个集群,负责创建或删除索引,管理其他非master节点(相当于企业老总)

node.master: true

# 数据节点,用于对文档数据的增删改查

node.data: true

# 集群列表(列出所有的其它服务器ip)

discovery.seed_hosts: ["192.168.1.184", "192.168.1.185", "192.168.1.186"]

# 启动的时候使用一个master节点

cluster.initial_master_nodes: ["es-node1"]

3.可查看剔除注释的配置文件内容

more elasticsearch.yml | grep ^[^#]

4.分别启动各个节点,后查看信息

二、集群脑裂

1.集群脑裂

如果发生网络中断或者服务器宕机,那么集群会有可能被划分为两个部分,各自有自己的master管理,那么这就是脑裂

服务器1原为master,宕机后自己投票为master

2.解决方案

解决实现原理:半数以上的节点同意选举,节点方可成为master

discovery.zen.minimum_master_nodes=(N/2)+1

N为集群中master节点的数量,也就是node.master=true服务节点总数

3.ES7之后无此参数,已交由es自己管理

本次搭建版本是:zookeeper-3.4.14.tar.gz(以下在每台服务器都需要部署一遍)

1,将zookeeper-3.4.14.tar.gz 拷贝到服务器(本次集群是3台)指定文件夹位置。

        解压 tar -zxvf zookeeper-3.4.14.tar.gz   让后修改名称 mv zookeeper-3.4.14 zookeeper

2,进入到zookeeper目录。

3,然后在/etc/profile 增加zookeeper环境变量

4,进入到conf目录下面。修改zoo_sample.cfg 文件名

    执行命令:mv zoo_sample.cfg zoo.cfg

5,编辑zoo.cfg文件

    执行命令:vim zoo.cfg 

    1》修改dataDir 为zookeeper下面的data(该文件需要自己创建)

    2》clientPort 默认是2181 (此处有端口占用,所有我这边改成2182)

    3》在文件最后面加入集群(此处三台集群为什么这样加,暂时没有研究)

    server.0=ip1:2888:3888

    server.1=ip2:2888:3888

    server.2=ip3:2888:3888

6,在5中dataDir的目录下面新建myid文件,文件内容是当前zk的节点

7,启动每台服务器的zk服务节点,在bin目录下执行(添加环境变量的话可以在任意位置执行)

    执行命令:./zkServer.sh start(./zkServer.sh stop是停止)

    启动成功后 查看是否启动起来:

        执行命令:ps aux | grep 'zookeeper' 或者 jps

8,查看三台机器主从身份(leader 主 follower从)

至此zk集群搭建成功。

kafka集群搭建方式: https://www.jianshu.com/p/cc588e01dc74

单台服务器创建集群,多台也是一样操作,使用集群端口6380,6381,6382,6383,6384,6385

1、宝塔安装redis,路径一般是 /www/server/redis ,使用命令 ln -s /www/server/redis/src/redis-server /usr/bin/redis-server 将redis-server加入环境变量

2、创建集群文件目录,如 /home/redis/cluster,从redis安装路径复制redis.conf到/home/redis/cluster下,并修改名称为redis_6380.conf,重复操作添加redis_6381.conf,redis_6382.conf,redis_6383.conf,redis_6384.conf,redis_6385.conf

3、修改配置文件,打开redis_6380.conf文件并编辑一下内容,另外几个文件的端口分别改成和文件端口的一致

port 6380

pidfile /www/server/redis/redis_6380.pid

logfile "/home/redis/log/redis_6380.log"

dbfilename dump_6380.rdb

cluster-enabled yes

cluster-config-file nodes-6380.conf

cluster-node-timeout 15000

4、开启端口,将上面的6个端口分别开启,包括宝塔的和服务器的端口

5、分别启动redis redis-server cluster/redis_6380.conf

6、创建集群

redis-cli --cluster create 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385 --cluster-replicas 1如果不加–cluster-replicas 1则会创建6个主节点

7、通过端口连接redis

redis-cli -p 6384

使用命令 cluster info 查看集群信息

8、设置测试

连接6382端口redis获取test

获取成功


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/487172.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-13
下一篇2023-06-13

发表评论

登录后才能评论

评论列表(0条)

    保存