elasticsearch

https://www.elastic.co

es默认设置:

5分片

1副本 在其他机器上备份

应用场景:

1.搜索,高亮显示

2.商城搜索

3.日志收集分析展示

集群状态颜色:

绿色:所有条件都满足,数据完整,副本满足

黄色:数据完整,副本不满足

红色:有索引里的数据出现不完整了

紫色:有分片正在同步中

默认自己就是一个集群,默认的集群名称为:elasticsearch

安装注意的内容:

1.锁定内存要修改配置

2.JVM虚拟机最大最小内存设置为一样

3.最大内存不要超过30G

4.更改数据目录需要授权用户给elasticsearch

5.es启动比较慢

数据操作:

增删改查

1.插入数据不需要提前创建好数据库

2.index -- 库

  type -- 表

  filter -- 字段

3.默认随机生成_ID -- 唯一键ID

交互方式:

1.curl命令

2.es-head插件

3.kibana

ES集群:

1.多台机器

2.处于同一个组里

集群配置文件:

[root@db01 elasticsearch]# grep "^[a-z]" elasticsearch.yml

cluster.name: Linux #集群名称,同一个集群内所有节点集群名称要一模一样

node.name: node-1 #节点名称,同一个集群内所有节点的节点名称不能重复

path.data: /data/elasticsearch #数据目录

path.logs: /var/log/elasticsearch #日志目录

bootstrap.memory_lock: true #内存锁定

network.host: 10.0.0.51,127.0.0.1 #绑定监听地址

http.port: 9200 #默认端口号

discovery.zen.ping.unicast.hosts: ["10.0.0.51", "10.0.0.52"] #集群发现节点配置

discovery.zen.minimum_master_nodes: 2 #选项相关参数,有公式 master/2 +1

新增节点配置步骤:

1.安装软件

rpm -ivh elasticsearch-6.6.0.rpm

2.修改配置文件

[root@db02 elasticsearch]# cat /etc/elasticsearch/elasticsearch.yml

cluster.name: Linux

node.name: node-2

path.data: /data/elasticsearch

path.logs: /var/log/elasticsearch

bootstrap.memory_lock: true

network.host: 10.0.0.52,127.0.0.1

http.port: 9200

discovery.zen.ping.unicast.hosts: ["10.0.0.51", "10.0.0.52"]

discovery.zen.minimum_master_nodes: 2

3.修改内存锁定

[root@db02 ~]# systemctl edit elasticsearch

[Service]

LimitMEMLOCK=infinity

4.创建数据目录并授权

mkidr /data/elasticsearch

chown =R elasticsearch:elasticsearch /data/elasticsearch

5.重启服务

systemctl daemon-reload

systemctl start elasticsearch

6.查看日志和端口

tail -f /var/log/elasticsearch/Linux.log

netstat -lntup:grep 9200

节点角色:

主节点 :负责调度数据返回数据

工作节点    :负责处理数据

默认情况下:

1.所有节点都是工作节点

2.主节点即负责调度又负责处理数据

操作指令:

curl -XGET 'http://localhost:9200/_nodes/procese?human&pretty' 

curl -XGET 'http://localhost:9200/_nodes/_all/info/jvm,process?human&pretty'

curl -XGET 'http://localhost:9200/_cat/nodes?human&pretty'

curl -XGET 'http://localhost:9200/_cluster/health?pretty'

curl -XPUT 'localhost:9200/_cat/indices?pretty'

2个节点,master设置为2的时候,一台出现故障导致集群不可用

解决方案:

把还存活的节点的配置文件集群选举相关的选项注释掉或者改成1

discovery.zen.minimum_master_nodes: 1

重启服务

结论:

两个节点数据不一致会导致查询结果不一致

找出不一致的数据,清空一个节点,以另一个节点的数据为准

然后手动插入修改后的数据

增加第三台节点:

新增节点配置步骤:

1.安装软件

rpm -ivh elasticsearch-6.6.0.rpm

2.修改配置文件

[root@db02 elasticsearch]# cat /etc/elasticsearch/elasticsearch.yml

cluster.name: Linux

node.name: node-3

path.data: /data/elasticsearch

path.logs: /var/log/elasticsearch

bootstrap.memory_lock: true

network.host: 10.0.0.53,127.0.0.1

http.port: 9200

discovery.zen.ping.unicast.hosts: ["10.0.0.51", "10.0.0.53"]

discovery.zen.minimum_master_nodes: 2

3.修改内存锁定

[root@db02 ~]# systemctl edit elasticsearch

[Service]

LimitMEMLOCK=infinity

4.创建数据目录并授权

mkdir /data/elasticsearch -p

chown -R elasticsearch:elasticsearch /data/elasticsearch

5.重启服务

systemctl daemon-reload

systemctl start elasticsearch

6.查看日志和端口

tail -f /var/log/elasticsearch/Linux.log

netstat -lntup|grep 9200

curl -XPUT '192.168.47.178:9200/linux/user/1?pretty' -H 'Content-Type: application/json' -d'

{

    "first_name" : "John",

    "last_name": "Smith",

    "age" : 25,

    "about" : "I love to go rock climbing", "interests": [ "sports", "music" ]

}

'

curl -XPUT  'localhost:9200/linux/user/2?pretty' -H 'Content-Type: application/json' -d' {

"first_name": "Jane",

"last_name" : "Smith",

"age" : 32,

"about" : "I like to collect rock albums", "interests": [ "music" ]

}'

curl –XPUT  'localhost:9200/linux/user/3?pretty' -H 'Content-Type: application/json' -d' {

"first_name": "Douglas", "last_name" : "Fir",

"age" : 35,

"about": "I like to build cabinets", "interests": [ "forestry" ]

}'

默认数据分配:

5分片

1副本

监控状态

1.监控集群健康状态 不是 green

or

2.监控集群节点数量 不是 3

极限损坏:

3节点

坏2台节点

默认创建数据:

curl -XPUT 'localhost:9200/index1?pretty'

{

  "acknowledged" : true,

  "shards_acknowledged" : true,

  "index" : "index1"

}

创建索引的时候指定分片和副本

curl -XPUT 'localhost:9200/index2?pretty' -H 'Content-Type: application/json' -d'     

{

  "settings" : {

  "number_of_shards" : 3,

  "number_of_replicas" : 1

}

}'

分片数一旦创建就不能再更改了,但是我们可以调整副本数

curl -XPUT 'localhost:9200/index2/_settings?pretty' -H 'Content-Type: application/json' -d'       

{

  "settings" : {

  "number_of_replicas" : 12

}

}'

curl –XPUT  'localhost:9200/linux2/user/3?pretty' -H 'Content-Type: application/json' -d' {

"first_name": "Douglas", "last_name" : "Fir",

"age" : 35,

"about": "I like to build cabinets", "interests": [ "forestry" ]

}'

curl -XPUT  'localhost:9200/linux2/user/3?pretty' -H 'Content-Type: application/json' -d' {

"first_name": "Douglas", "last_name" : "ssss",

"age" : 35,

"about": "I like to build cabinets", "interests": [ "forestry" ]

}'

中文分词器:

所有节点都得安装中文分词器

curl -XPOST http://localhost:9200/index/fulltext/1 -H 'Content-Type:application/json' -d'

{"content":"美国留给伊拉克的是个烂摊子吗"}

'

curl -XPOST http://localhost:9200/index/fulltext/2 -H 'Content-Type:application/json' -d'

{"content":"公安部:各地校车将享最高路权"}

'

curl -XPOST http://localhost:9200/index/fulltext/3 -H 'Content-Type:application/json' -d'

{"content":"中韩渔警冲突调查:韩警平均每天扣1艘中国渔船"}

'

curl -XPOST http://localhost:9200/index/fulltext/4 -H 'Content-Type:application/json' -d'

{"content":"中国驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首"}

'

curl -XPOST http://localhost:9200/index/fulltext/_search?pretty  -H 'Content-Type:application/json' -d'

{

    "query" : { "match" : { "content" : "中国" }},

    "highlight" : {

        "pre_tags" : ["<tag1>", "<tag2>"],

        "post_tags" : ["</tag1>", "</tag2>"],

        "fields" : {

            "content" : {}

        }

    }

}

'

创建索引的时候指定分词器

curl -XPOST http://localhost:9200/index/fulltext/_mapping -H 'Content-Type:application/json' -d'

{

        "properties": {

            "content": {

                "type": "text",

                "analyzer": "ik_max_word",

                "search_analyzer": "ik_max_word"

            }

        }


}'

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335