##1: 集群相关名词
1.集群健康状态
绿色: 所有数据都完整,并且副本数满足
黄色: 所有数据都完整,但是有的索引副本数不满足
红色: 有的数据不完整

2.节点类型
主节点: 负责调度数据分配到哪个节点
数据节点: 负责处理落到自己身上的数据
默认: 主节点同时也是数据节点

3.数据分片
主分片: 实际存储的数据,负责读写,粗框的是主分片
副本分片: 主分片的副本,提供读,同步主分片,细框的是副本分片

4.副本:
主分片的备份,副本数量可以自定义

##2: 部署ES集群

1.安装java
rpm -ivh jdk-8u102-linux-x64.rpm2.安装ES
rpm -ivh elasticsearch-6.6.0.rpm3.配置ES配置文件
配置内存锁定:
systemctl edit elasticsearch.service
[Service]
LimitMEMLOCK=infinity
集群配置文件:
b01配置文件:
[root@db-01 ~]# cat /etc/elasticsearch/elasticsearch.yml
cluster.name: linux
node.name: node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: true
network.host: 10.0.0.114,127.0.0.1
http.port: 9200
discovery.zen.ping.unicast.hosts: ["10.0.0.114","10.0.0.115"]
discovery.zen.minimum_master_nodes: 1
http.cors.enabled: true
http.cors.allow-origin: "*"
==================================================================
db02配置文件:
[root@db-02 ~]# grep "^[a-Z]" /etc/elasticsearch/elasticsearch.yml
cluster.name: linux
node.name: node-2
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: true
network.host: 10.0.0.115,127.0.0.1
http.port: 9200
discovery.zen.ping.unicast.hosts: ["10.0.0.114","10.0.0.115"]
discovery.zen.minimum_master_nodes: 1
http.cors.enabled: true
http.cors.allow-origin: "*"4.启动
systemctl daemon-reload
systemctl restart elasticsearch5.查看日志
tail -f /var/log/elasticsearch/linux.log

##3: ES集群相关注意
注意事项:
1.插入和读取数据在任意节点都可以执行,效果一样
2.es-head可以连接集群内任一台服务

3.主节点负责读写
如果主分片所在的节点坏掉了,副本分片会升为主分片

4.主节点负责调度
如果主节点坏掉了,数据节点会自动升为主节点

第九章: 查看集群各种信息

GET _cat/nodes
GET _cat/health
GET _cat/master
GET _cat/fielddata
GET _cat/indices
GET _cat/shards
GET _cat/shards/oldzhang

##3: 集群注意事项
注意1:发现节点参数不需要把集群内所有的机器IP都加上
只需要包含集群内任意一个IP和自己的IP就可以
discovery.zen.ping.unicast.hosts: [“10.0.0.51”,“10.0.0.53”]

注意2: 集群选举相关的参数需要设置为集群节点数的大多数
discovery.zen.minimum_master_nodes: 2

注意3: 默认创建索引为1副本5分片

注意4: 数据分配的时候会出现2中颜色
紫色: 正在迁移
黄色: 正在复制
绿色: 正常

注意5: 3节点的时候
0副本一台都不能坏
1副本的极限情况下可以坏2台: 1台1台的坏,不能同时坏2台
2副本的情况可以同时坏2台

第十一章: 自定义副本分片和索引
索引为2副本3分片
索引为0副本5分片

注意:
索引一旦建立完成,分片数就不可以修改了
但是副本数可以随时修改

命令:

1.创建索引的时候就自定义副本和分片
PUT /yayayaay/
{"settings": {"number_of_shards": 3, "number_of_replicas": 0}
}2.修改单个索引的副本数
PUT /oldzhang/_settings/
{"settings": {"number_of_replicas": 0}
}3.修改所有的索引的副本数
PUT /_all/_settings/
{"settings": {"number_of_replicas": 0}
}

工作如何设置:
2个节点: 默认就可以
3个节点: 重要的数据,2副本 不重要的默认
日志收集: 1副本3分片

##4: 监控
3节点实验宕机一台机器,集群状态仍然为绿色
监控注意,不能只监控集群状态
1.监控节点数
2.监控集群状态
3.2者任意一个发生改变了都报警

监控命令:
GET _cat/nodes
GET _cat/health

##5.增强插件x-pack监控功能![

##6.安全功能
7.x版本以上有自带功能,或者使用search-guard插件

##7.优化
1.内存
不要超过32G (官方说明)

48内存
系统留一半: 24G
自己留一半: 24G
8G 12G 16G 24G 30G 慢慢扩大容量,生产建议

##8.es的备份和恢复
前提条件:
必须要有Node环境和npm软件
nodejs
npm

1.nodejs环境安装
https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz
tar xf  node-v10.16.3-linux-x64.tar.xz -C /opt/node
vim /etc/profile
export PATH=/opt/node/bin:$PATH
source /etc/profile
[root@db-01 ~]# node -v
v10.16.3
[root@db-01 ~]# npm -v
6.9.02.指定使用国内淘宝npm源
npm install -g cnpm --registry=https://registry.npm.taobao.org3.安装es-dump
cnpm install elasticdump -g4.备份命令
elasticdump \--input=http://10.0.0.114:9200/oldzhang \--output=/data/oldzhang.json \--type=dataelasticdump \--input=http://10.0.0.114:9200/oldzhang \--output=$|gzip > /data/oldzhang.json.gz  5.恢复命令
elasticdump \
--input=/data/oldzhang.json \
--output=http://10.0.0.114:9200/oldzhang6.注意
恢复的时候需要先解压缩成json格式
恢复的时候,如果已经存在相同的数据,会被覆盖掉
如果新增加的数据,则不影响,继续保留

##9.集群发现相关参数

discovery.zen.fd.ping_timeout: 120s
discovery.zen.fd.ping_retries: 6
discovery.zen.fd.ping_interval: 30s  超时时间为120s
重试次数为6次
每次间隔30秒

##10.中文分词
es是国外开发,不支持中文词语组合搜索

1.插入测试数据
POST /news/txt/1
{"content":"美国留给伊拉克的是个烂摊子吗"}POST /news/txt/2
{"content":"公安部:各地校车将享最高路权"}POST /news/txt/3
{"content":"中韩渔警冲突调查:韩警平均每天扣1艘中国渔船"}POST /news/txt/4
{"content":"中国驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首"}2.检测
POST /news/_search
{"query" : { "match" : { "content" : "中国" }},"highlight" : {"pre_tags" : ["<tag1>", "<tag2>"],"post_tags" : ["</tag1>", "</tag2>"],"fields" : {"content" : {}}}
}


分词配置
0.前提条件

  • 所有的ES节点都需要安装
  • 所有的ES都需要重启才能生效
1.配置中文分词器
cd /usr/share/elasticsearch
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.6.0/elasticsearch-analysis-ik-6.6.0.zip本地文件安装
/usr/share/elasticsearch/bin/elasticsearch-plugin install file:///XXX/elasticsearch-analysis-ik-6.6.0.zipsystemctl restart elasticsearch2.创建索引
PUT /news23.创建模板
POST /news2/text/_mapping
{"properties": {"content": {"type": "text","analyzer": "ik_max_word","search_analyzer": "ik_smart"}}}4.插入测试数据
POST /news2/text/1
{"content":"美国留给伊拉克的是个烂摊子吗"}POST /news2/text/2
{"content":"公安部:各地校车将享最高路权"}POST /news2/text/3
{"content":"中韩渔警冲突调查:韩警平均每天扣1艘中国渔船"}POST /news2/text/4
{"content":"中国驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首"}

自定义字典

字典里面没有

cd /etc/elasticsearch/analysis-ik/
mkdir custom
cd custom
[root@mongo-01 custom]# cat mydict.dic
魏旭
chown -R elasticsearch:elasticsearch custom
[root@mongo-01 analysis-ik]# vim IKAnalyzer.cfg.xml

systemctl restart elasticsearch


要重新创建,因为原来的已经用原来的字典分配好了,不会加载新的词典进去分配

es数据库集群以及中文分词相关推荐

  1. ES集群添加IK分词器

    ES集群添加IK分词器 ES : 7.5.0 官方文档其实已经够优秀了,毕竟是中文的,这里只给出一些建议. IKAnalyzer.cfg.xml 建议放到插件的目录下,要不然有可能会有一些问题 {pl ...

  2. 生产环境安装、配置、管理PostgreSQL14.5数据库集群。pgpool 4.3.3参数中文说明

    1 生产环境安装.配置.管理PostgreSQL14.5 欢迎观看我发布的视频 "生产环境安装.配置.管理PostgreSQL14.5数据库集群" 数据库软件不是简单的安装上就好, ...

  3. mysql 查看集群状态_MySQL数据库集群正确配置步骤

    类型:电子教程大小:8.5M语言:中文 评分:8.3 标签: 立即下载 对MySQL数据库集群进行正确配置的实际操作步骤,以及对其概念的讲述,如果你对其相关的实际操作有兴趣了解的话,以下的文章将会给你 ...

  4. 【Java项目】好客租房——数据库集群部署

    前置知识: [Mysql] 系统架构存在的问题 DB Server 目前只是用了单节点服务,如果面对大并发,海量数据存储,单节点的系统架构存在很严重问题,需要实现 Mysql集群 ,来应对大并发.海量 ...

  5. 使用mycat搭建实现mysql数据库集群管理

    今天来使用mycat管理mysql集群, 随着数据量的提升, 我们如果把所有数据存储在一个数据库中, 对数据的各种操作就会变得非常的困难. 自然我们又想到了数据库也进行集群部署, 将一个数据库的数据分 ...

  6. mysql proxy集群_数据库集群中间件MySQL Proxy探讨

    数据库集群中间件 MySQL Proxy 探讨 杨芳萍 ; 马宏艳 ; 王斌 [期刊名称] <电子制作> [年 ( 卷 ), 期] 2013(000)019 [摘要] 互联网高速发展的同时 ...

  7. 搭建高可用web和数据库集群

    1.项目简介即拓扑图 本次设计使用keepalived与lvs搭建一个调度器集群,实现lvs调度器的高可用,当lvs调度器的master宕机后,keepalived会自动切换到backup上. 调度后 ...

  8. CentOS7+MySQL/MariaDB+Galera+HAProxy+Keepalived构建高可用数据库集群

    方案优势: Galera能够实现MySQL/MariaDB数据库的主主复制和多主复制等模式,这些复制模式都是同步进行的,同步时间非常短 每一个节点都可以同时写入和读取,当某一节点发生故障时,可自动从集 ...

  9. 数据库集群和高可用解决方案

    数据库集群和高可用解决方案 参考文章: (1)数据库集群和高可用解决方案 (2)https://www.cnblogs.com/Newd/p/9049873.html 备忘一下.

最新文章

  1. Python 技术篇 - 查看python库都包含什么方法,查看python模块某个方法的具体用法源码,查看python模块所在的物理位置,查看python库都包含哪些属性
  2. 解决Ubuntu无法进行SSH连接的问题(以及如何使用SSH)
  3. 网络爬虫入门系列(3) httpClient
  4. 用python阐释工作量证明(proof of work)
  5. c++面向对象高级编程 学习六 虚函数
  6. Maven 插件开发
  7. Bailian3752 走迷宫【BFS】
  8. Oracle笔记(九) 表的创建及管理
  9. 【镜像更新】Windows Server 2016 数据中心版
  10. ActiveX控件开发流程
  11. 两条边延长角会有什么变化_四年级上册数学计划
  12. java spy_Java Spy - 代码跟踪神器
  13. wex5 checkbox
  14. 用牛顿迭代法求方程2x^3-4x^2+3x-6=0在1.5附近的解,要求误差小于1e-5
  15. linux下USB设备编号固定
  16. android设备内部添加apn信息
  17. [并发并行]_[线程池]_[Programming With POSIX Threads的线程池实现分析1]
  18. 关键路径例题图表_详解关键路径法,这可能是你能找到的最详尽的了
  19. 计算机在英语写作中应用,信息化背景下计算机反馈技术在英语写作中应用.doc...
  20. 上海高校计算机等级考试c语言真题,2017年上海市高等学校计算机等级考试试题「有答案」...

热门文章

  1. ESP32驱动编码器--SIQ-02FVS3 (Vscode + IDF)
  2. 电源抑制比【PSRR】
  3. 考研路上的那些一战二战三战成功与失败的故事系列之十四
  4. 网络教育计算机统考成绩,2021年网络教育统考成绩查询入口
  5. 浅析TypeScript 4.9 satisfies操作符使用方法
  6. 制作生鲜小程序 迷你生鲜小程序 生鲜商城 平邑做淘宝网店详情页
  7. ASEMI代理长电可控硅MCR100-8特征,MCR100-8应用
  8. android 抄袭 苹果,赤果果的抄袭?苹果iPad Pro 2021新功能抄袭华为荣耀平板?
  9. 网页高性能图形编程(四)-WebGL颜色-使用着色器绘制多顶点颜色的三角图形 操作部骤-顶点着色器和片段着色器 着色器编译羽图像绘制-vertexAttribPointer 方法
  10. 【开发教程7】疯壳·开源蓝牙心率防水运动手环-电容触摸