2019/07/25 es集群部署及简单使用(02)

在这里插入图片描述
elastic search本身是无法从redis获取数据的,只能从logstash,
此处logstash只是作为本地的日志收集工具,logstash有三个组件(input 获取到数据,filter 过滤转换,output输出,每类组件都有一堆的插件)
filebeat是直接读数据发给ES集群,缺少过滤转换的功能,为了更正规,一般在前面加logstash server(logstash太占资源,对于ngixn自身主机性能影响较大)由logstash fileter 在本地完成过滤发给ES集群
在这里插入图片描述
logstash能收集的数据种类非常多,可以输出到各种,比如ES,redis在这里插入图片描述
可以尝试中间加redis队列众多主机发给logstash server主机可能承受不来了太大的压力,
所有数据发给logstash server 之前先要发给redis,redis只是做队列用的,logstash server ,从中逐条读,并处理,可以有多个logstash ,每一个logstash server 只处理一部分,由同一个ES集群进行处理,
kibana压力大也可以做多个kibana
在这里插入图片描述
如果有多个ES主机,我们请求应该找哪个主机,多个ES主机,可能每台只持有一部分,请求来,ES如何处理请求在这里插入图片描述
有两个节点组成集群,两个分片 get-togerther 都有主分片和副本分片,如果用户请求发给1节点,node1节点有一部分数据,node2节点也有一部分数据,主分片能读能写,副本分片是只读的
对ES来讲每一个节点都能接受所有请求,无论是读还是写,收到请求有可能一部分是本地处理,代理一部分是其他主机处理,类似redis cluster 无中心节点,任何一个 主机都可以接受所有请求
在这里插入图片描述
在这里插入图片描述
ES会监听在两个端口上
搜索服务:
9200/tcp 对外提供服务

集群服务:
9300/tcp,集群服务判定的
在这里插入图片描述
els集群的工作逻辑:
多播、单播:9300/tcp 探测成员关系,(如何判定这个是当前集群成员,clustername )
关键因素:clustername 集群名称,集群名称相同都处在都一个集群

所有节点选举一个主节点,负责管理整个集群的状态(green/yellow/red),以及各shards的分布方式;
(为了确定整个集群没有问题还需要一个主节点,来负责整个集群状态管理
集群起来以后,各节点要周期汇报是否可用 心跳探测,任何节点不可用的时候,故障都需要处理)
集群工作是在9300端口

插件:

现在node1,node2,node3,所有分布式系统,时间必须同步,ES是java研发,非常消耗内存,较新版本的ES依赖8版本的JDK在这里插入图片描述
node2,,3都安装
在这里插入图片描述
同一个集群,使用/etc/hosts是比较妥当的在这里插入图片描述
非常耗内存,建议启用一个节点即可在这里插入图片描述

https://www.elastic.co/cn/downloads/elasticsearch在这里插入图片描述在这里插入图片描述
复制到其他节点上在这里插入图片描述
三个节点安装 elasticsearch在这里插入图片描述在这里插入图片描述 ElasticSearch 5的程序环境:
配置文件:
/etc/elasticsearch/elasticsearch.yml 主配置文件
/etc/elasticsearch/jvm.options
/etc/elasticsearch/log4j2.properties
Unit File:elasticsearch.service(打开的文件数量可能要很多,后面可能要修改ulimit)
程序文件:
/usr/share/elasticsearch/bin/elasticsearch 敏感配置信息,比如账号密码,可以放到keystore加密文件中
/usr/share/elasticsearch/bin/elasticsearch-keystore:
/usr/share/elasticsearch/bin/elasticsearch-plugin:管理插件程序
在这里插入图片描述
**cluster name集群名字
node.name:node 节点名称
node.attr.rackL: r1 也可以+当前节点自定义属性,将来可以引用
path data存放索引路径最好是个raid0
path.logs 日志文件需要自己定义 **在这里插入图片描述

**确保ES起来后有那么多内存可用
boot strap.memory_lock:true不管要不要,都分配那么多
当前的ELS节点监听在哪个地址端口上 默认是本机所有地址,9200端口
服务器至少有4个网卡,建议只监听内网
**在这里插入图片描述
如何去判断成员关系,是单播,zen是els判定成员关系的协议,ping来探测,避免仅靠集群名称来判断成员关系了
既然有三个节点,一旦脑裂该如何,
避免脑裂,来定义法定票数2
在这里插入图片描述
把配置文件复制到其他节点上在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
修改节点名称在这里插入图片描述
主配置文件OK了,还有两个配置文件jvm,log4j2在这里插入图片描述
初始化堆内存,
最大堆内存大小
在这里插入图片描述
另外两个节点由于内存不足,应该修改修改在这里插入图片描述
node2,,3一样在这里插入图片描述
1G可能不够用,会消耗swap在这里插入图片描述
创建目录,修改权限
3个节点都这么做
在这里插入图片描述
启动服务在这里插入图片描述
默认监听地址是127,需要修改在这里插入图片描述
node2也需要修改地址在这里插入图片描述在这里插入图片描述在这里插入图片描述
查看日志在这里插入图片描述
超时在这里插入图片描述在这里插入图片描述在这里插入图片描述
重启服务就成功了,node2也需要重启在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
和els交互需要使用curl命令来实现在这里插入图片描述
内部有一个cat可以输出集群信息的在这里插入图片描述
当前集群叫myels,处于green状态,pretty可以加查询符号,美观一点,?pretty=?pretty=true在这里插入图片描述
带*号的是主节点在这里插入图片描述在这里插入图片描述
当前堆内存多大,使用了真正多少,cpu占用量,一分钟负载,5分钟负载,15分钟评价负载,节点角色,是否master ,节点名称·
查看插件,在这里插入图片描述
想要知道内部有几个索引在这里插入图片描述在这里插入图片描述
自定义显示那些信息在这里插入图片描述
不同节点运行是当前节点名在这里插入图片描述
list列出已经安装的插件在这里插入图片描述
install可以安装插件,想用插件就克隆到本地来,
在这里插入图片描述在这里插入图片描述
到了第5版需要以独立守护来运行
https://github.com/mobz/elasticsearch-head在这里插入图片描述https://github.com/mobz/elasticsearch-head.git在这里插入图片描述在这里插入图片描述在这里插入图片描述安装npm 之后一定要在目录下运行命令在这里插入图片描述
监听在9100端口在这里插入图片描述
链接不上是因为对应默认的,elasticsearch 是有一个插件功能,http启动起来在这里插入图片描述https://www.elastic.co/guide/en/elasticsearch/reference/5.5/modules-http.html
默认false需要改成enable
在这里插入图片描述在这里插入图片描述
加一段http
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
添加一个文档编号1,
索引名students
major类型名
在这里插入图片描述
显示有一个索引叫students在这里插入图片描述
由5个分片,每一个分片有两个副本,一般而言让你的分片数量等于节点数量在这里插入图片描述
再添加一个用户在这里插入图片描述在这里插入图片描述
没写查询条件,把所有的查出来了在这里插入图片描述
找一找有没有剑法字符串的在这里插入图片描述在这里插入图片描述

发布了243 篇原创文章 · 获赞 6 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qq_42227818/article/details/97259412
今日推荐