(附 grep 'pwd' 意思是查询包含当前路径的应用 )
这节课讲了集群配置(slave1 slave2)
分布式安装
修改elasticsearch.yml文件
其他的配置,除了master
最后可以查看
elasticsearch 分布式安装
master
slave1
配置
cluster.name 需要保持一致
端口如果是本机的话,需要修改成其他端口,防止端口冲突
discovery.zen.ping.unicast.host,找到主节点
slave2
head 插件效果
slave节点的配置
salve配置
将一个服务指定为master.在config的elasticserach.yml作以下配置:
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.name: lijiafang
node.name: master
node.master: true
network.host: 127.0.0.1
配置节点
cluster.name: lijiafang
node.name: slave1
network.host: 127.0.0.1
http.port: 8200
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
分布式安装
我是win10系统,配置完master节点后,我直接复制master节点的根文件夹,黏贴为es-slave1何es-slave2,两个从节点的文件夹,配置完yml后,启动一直报错。需要删除data文件夹后重启slave节点就不报错了
slave1配置,区别于master node的地方:
http.port: 8200 # 防止端口冲突
discovery.zen.ping.unicast.hosts: ["127.0.0.1"] # 帮助找到集群指挥官
创建slave节点之间简单粗暴的copy,es的横向扩展简直so easy
master节点配置修改
linux的服务启动
这一段discovery的是必须要加的。
集群从节点的配置
集群节点中master节点的配置[elasticsearch.yml]如下:
cluster.name: wail #集群名称
node.name: master #节点名称
network.host:127.0.0.1 #绑定ip
node.master: true #设置为master
客户端配置
修改配置,将节点变成master
vim config/elasticsearch.yml
cluster.name: loistein #指定集群名字
node.name: master #指定节点名字
node.master: true #告诉他自己就是master节点
network.host: 127.0.0.1 #绑定IP,端口不做修改,默认9200
重启服务:./bin/elasticsearch -d
检查服务:
localhost:9100 当前节点名字:master
localhost:9200,cluster_name: master
配置slave节点:
新建slave节点目录
拷贝elasticsearch包到新目录
修改配置
vim config/elasticsearch.yml
cluster.name: loistein #指定集群名字
node.name: slave1 #指定节点名字
network.host: 127.0.0.1 #绑定IP
http.port: 8200 #配置端口号,避免和master冲突
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]#指定集群,否则是孤魂野鬼
启动服务:./bin/elasticsearch -d
检查服务:
localhost:9100 当前节点名字:master,新增slave1
localhost:9200 cluster_name: master
再添加slave2
配置集群salve
配置集群和跨域
从节点配置文件
主节点配置文件
分布式:
slave配置
cluster.name: kf
node.name: slave1
network.host: 127.0.0.1
http.port: 8200
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
分布式:
配置文件
cluster.name: kf
node.name: master
node.master: true
network.host: 127.0.0.1
端口默认
集群节点中slave节点的配置:
cluster.name: zengjq
node.name: slave1
network.host: 127.0.0.1 ## 该节点的ip地址
http.port: 8200 ## 不配置默认是9200,防止端口冲突,修改为8200
## 设置新节点被启动时能够发现的主节点列表,当节点端口是9200时无需配置:端口
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
集群节点中master节点的配置[elasticsearch.yml]如下:
cluster.name: zengjq
node.name: zjqnode
network.host:127.0.0.1
node.master: true
如果版本是6.5,就应如下配置,否则找不到master
其中,http.port可以不填
这个问题是因为复制了已经启动过一次的实例,在es下的data目录中产生了节点数据,处理方式为删除data下的文件夹
安装前提:
jdk 1.8
node
elasticsearch-5.5.2/config/elasticsearch.yml 修改
1.让head插件能够连接访问(配置允许跨域访问)
http.cors.enabled:true http.cors.allow-origin: "*"
2.分布式集群配置(设置主从关系)
#集群名称 cluster.name: wali #指定该服务为指挥官角色 node.name: master node.master: true #绑定的ip network.host: 127.0.0.1
查询并关闭当前目录下启动的后台进程
#查询 ps -ef | grep `pwd` #关闭进程 kill {进程号}
head插件服务浏览器访问地址:http://localhost:9100
elasticsearch服务浏览器访问地址(查看集群名字等基本信息):http://localhost:9200
设置从机配置:
同主机安装一样,在新目录安装elasticsearch,并将目录名设置为es_slave1 ...
cp -r elasticsearch-5.5.2 es_slave1 cp -r elasticsearch-5.5.2 es_slave2
修改yml文件配置
#集群名称,需要和主机的保持一致 cluster.name: wali #设置节点名称 node.name: slave1 #设置ip network.host: 127.0.0.1 #指定服务启动端口 http.port: 8200 #找到集群中的master discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
同样的方式再建立slave2
cluster.name= youzi
node.name: master/slave
network.host: ip
http.port: 端口号
discovery.zen.ping.unicast.hosts: ["ip"]
配置 es_slave的改写。
关闭原来的服务:
ps -ef | grep 'pwd'