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
获取成功
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)