单点的问题
单台机器存储容量有限,无法实现高存储。
单服务器容易出现单点故障,无法实现高可用。
单服务的并发处理能⼒有限,无法实现高并发。集群的结构
数据分片:把数据拆分成多份,每一份存储到不同机器节点(Node),从而实现减少每个节点数据量的目的(数据的分布式存储)
数据备份
数据备份可以保证高可用,但是每个分片备份一份,所需要的节点数量就会翻一倍,成本实在是太高了。为了在高可用和成本间寻求平衡,我们可以这样做:
首先对数据分片,存储到不同节点。
然后对每个分片进行备份,放到对方节点,完成互相备份
搭建集群
1.将解压Elasticsearch的目录下的配置文件进行更改,
path.data: D:\ael\es-9201\data path.logs: D:\ael\es-9201\logs http.cors.enabled: true http.cors.allow-origin: "*" network.host: 0.0.0.0 cluster.name: xm node.name: n1 http.port: 9201 transport.tcp.port: 9301 node.master: true discovery.zen.ping.unicast.hosts: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"] discovery.zen.minimum_master_nodes: 2
在配置文件的最下方添加以上的代码,并将上面的配置注释掉
2.为了方便处理,将elasticsearch-6.2.4复制到一个非空目录非中文的目录下,然后复制三份,并且创建三个用来保存日志和数据的目录
3.将三个elasticsearch下面的配置文件进行更改,根据自己的目录进行更改
3.改完后启动这三台es,通过bin目录下的elasticsearch.bat双击启动,单独启动一台的时候他会尝试去连接另外的es,所以需要我们一次性全部启动,不用管错误的内容
4. 启动后找到我们安装的Kibana,修改kibana-6.2.4-windows-x86_64\config的配置文件,改完后启动,然后通过浏览器访问生成的端口,页面中的所有内容都正常显示则表示集群搭建完成
使用Head插件对es集群进行操作
1.打开elasticsearch-head安装目录下的vendor.js文件
修改完成后打开head插件,连接自己的es端口,右侧green表示集群没有问题,然后我们点击索引,进行新建索引,就可以对集群的es进行操作了,如果不配置head扩展文件的配置,就无法创建索引