搭建

修改系统参数

vim /etc/security/limits.conf

* soft nofile 655350
* hard nofile 655350
* soft nofile 655350
* hard nofile 655350
es soft memlock unlimited
es hard memlock unlimited

vim /etc/sysctl.conf

vm.max_map_count=262144
fs.file-max=655360
vm.swappiness=1

保存后执行 sysctl -p

编辑配置文件

vim elastersearch.yaml

cluster.name: elastersearch
node.name: cs-es1
path.data: /home/es/data
path.logs: /home/es/logs

# 是否锁住内存,避免交换内存带来性能损失,默认为false
bootstrap.memory_lock: true

# 本机ip
network.host: 192.168.1.2
http.port: 9200
transport.tcp.port: 9300

# 节点角色,默认data master client 都有,如果分开,则改为 false
node.data: true
node.master: true

# 所有节点ip
discovery.seed_hosts: ["192.168.1.2","192.168.1.3","192.168.1.4"]

# 初始化 master 节点
cluster.initial_master_nodes: ["192.168.1.2","192.168.1.3","192.168.1.4"]
discovery.zen.ping_timeout: 60s
discovery.zen.join_timeout: 60s

# 忽略不符合master的节点
discovery.zen.master_election.ignore_non_master_pings: true

# 选举最多同意数
discovery.zen.mininum_master_nodes: 1
gateway.recover_after_nodes: 1
gateway.recover_after_time: 5m
gateway.expected_nodes: 1

# xpack,如果不需要开启,注释掉
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

此配置文件为模板,如需多台服务器组集群,则要将本模板的node.name、network.host字段更改为实际的名称和地址,discovery.seed_hosts和cluster.initial_master_nodes也要做相应的更改

若开启 xpath ,需要创建证书

执行命令生成证书

bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""

需要将此证书放在每台节点的 config/ 目录下

然后重启es,然后设置密码

需要为4个用户分别设置密码:elastic、kibana、logstash_system、beats_system

1.可以自动设置密码

bin/elasticsearch-setup-passwords auto

2.也可以手动设置密码

 bin/elasticsearch-setup-passwords interactive 

访问时加上密码访问即可

curl -u elastic:baidu@123 '192.168.1.2/_cat/nodes'

如果kibina等需要链接ES,需要在连接的配置文件中指定密码

加入systemd管理

vim /usr/lib/systemd/system/elasticsearch.service

[Unit]
Description=es user elasticsearch.service
After=network.target

[Service]
Type=simple
User=es
Group=es
ExecStart=/home/es/elasticsearch7/bin/elasticsearch
ExecStop=/bin/kill -9 $MAINPID
Restart=no
LimitMEMLOCK=infinity
LimitNOFILE=1048576
LimitNPROC=1048576
PrivateTmp=true

[Install]
WantedBy=multi-user.target

其中参数不太理解可以参考此博文:http://www.jinbuguo.com/systemd/systemd.service.html

重新加载systemd

systemctl daemon-reload
systemctl start elasticsearch.service

基本操作

1、查看集群健康状态
curl '10.231.13.177:9200/_cluster/health?pretty'
{
"cluster_name" : "elasticsearch",
"status" : "green", //集群的状态红绿灯,绿:健康,黄:亚健康,红:病态
"timed_out" : false,
"number_of_nodes" : 4, //节点数
"number_of_data_nodes" : 1, //数据节点数
"active_primary_shards" : 0, //分片数,0个Index库
"active_shards" : 0, //正常的分片数
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 100.0
} ## 查看指定索引库的健康状态
http://localhost:9200/_cluster/health/index_name?pretty
2、查询集群所有节点
curl '10.231.13.177:9200/_cat/nodes?v'
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
10.231.66.181 18 96 14 3.12 4.11 4.44 di - ngd-es5-elasticsearch-data-0
10.231.66.172 26 96 14 3.12 4.11 4.44 - - ngd-es5-elasticsearch-client-7795566789-6qc5x
10.231.66.183 40 96 14 3.12 4.11 4.44 m - ngd-es5-elasticsearch-master-0
10.231.64.85 35 99 2 0.37 0.63 0.76 m * ngd-es5-elasticsearch-master-1 heap.percent:堆内存占的内存百分比
ram.percent:物理内存占用百分比
cpu:表示使用的cpu核心
load_1m load_5m load_15m:1分钟 5分钟 15分钟 占用系统cpu百分比
node.role:表示节点能充当的角色主(m)、数据(di) 、client(-)节点,节点未区分开为dilm
master:表示当前是否为主节点,*表示当前为主 ## 查看MASTER节点
curl '10.233.0.93:9200/_cat/master?v'
id host ip node
2oaDofmzQ6KQK9BlorvO0Q 10.233.110.41 10.233.110.41 ngd-es5-elasticsearch-master-1
3、列出所有索引
curl '10.231.13.177:9200/_cat/indices?v'
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open vfantest acyI9dArRAqTOHNAwGO_oQ 5 1 0 0 650b 650b
当前只有一个索引
4、查看各个节点的总分片数及分布情况,及磁盘使用率
curl '10.233.8.243:9200/_cat/allocation?v'
shards disk.indices disk.used disk.avail disk.total disk.percent host ip node
28 84.8kb 284.4gb 57.8gb 342.2gb 83 10.233.64.133 10.233.64.133 ngd-es7-master-1
29 68.2kb 140.3gb 201.9gb 342.2gb 40 10.233.66.72 10.233.66.72 ngd-es7-master-2
29 106.4kb 91.4gb 250.8gb 342.2gb 26 10.233.65.219 10.233.65.219 ngd-es7-master-0
5、查看集群分片的详细分布,分片的大小等
curl '10.233.8.243:9200/_cat/shards?v'
index shard prirep state docs store ip node
dialog-statistics-scene-202106 1 p STARTED 0 283b 10.233.64.133 ngd-es7-master-1
dialog-statistics-scene-202106 1 r STARTED 0 283b 10.233.65.219 ngd-es7-master-0
dialog-statistics-scene-202106 2 p STARTED 0 283b 10.233.66.72 ngd-es7-master-2
dialog-statistics-scene-202106 2 r STARTED 0 283b 10.233.65.219 ngd-es7-master-0
dialog-statistics-scene-202106 0 r STARTED 0 283b 10.233.64.133 ngd-es7-master-1
dialog-statistics-scene-202106 0 p STARTED 0 283b 10.233.66.72 ngd-es7-master-2
search-suggest-online-data 1 r STARTED 0 283b 10.233.64.133 ngd-es7-master-1
search-suggest-online-data 1 p STARTED 0 283b 10.233.65.219 ngd-es7-master-0
search-suggest-online-data 2 p STARTED 0 283b 10.233.66.72 ngd-es7-master-2
search-suggest-online-data 2 r STARTED 0 283b 10.233.65.219 ngd-es7-master-0
search-suggest-online-data 0 r STARTED 0 283b 10.233.64.133 ngd-es7-master-1
search-suggest-online-data 0 p STARTED 0 283b 10.233.66.72 ngd-es7-master-2
6、查看 segments 分布信息
curl '10.233.8.243:9200/_cat/segments?v'
index shard prirep ip segment generation docs.count docs.deleted size size.memory committed searchable version compound
data-record-index-202106 0 p 10.233.64.133 _0 0 9 0 19.4kb 6477 true true 8.4.0 true
data-record-index-202106 0 r 10.233.66.72 _0 0 9 0 19.4kb 6477 true true 8.4.0 true
data-record-index-202106 1 p 10.233.64.133 _0 0 7 0 19.4kb 6461 true true 8.4.0 true
data-record-index-202106 1 p 10.233.64.133 _1 1 9 0 38.1kb 6621 true true 8.4.0 true
data-record-index-202106 1 r 10.233.65.219 _0 0 7 0 19.4kb 6461 true true 8.4.0 true
data-record-index-202106 1 r 10.233.65.219 _1 1 9 0 38.1kb 6621 true true 8.4.0 true
data-record-index-202106 2 p 10.233.66.72 _0 0 4 0 16.2kb 6437 true true 8.4.0 true
data-record-index-202106 2 p 10.233.66.72 _1 1 5 0 24.4kb 6541 true true 8.4.0 true
data-record-index-202106 2 r 10.233.65.219 _0 0 4 0 16.2kb 6437 true true 8.4.0 true
data-record-index-202106 2 r 10.233.65.219 _1 1 5 0 24.4kb 6541 true true 8.4.0 true
7、创建一个索引:
## 可以在创建中指定settings 和 mappings,加-d '{}' 参数指定即可
curl -XPUT '10.231.13.177:9200/20210122?pretty' -H 'content-type: application/json' -d
'{
"acknowledged" : true,
"shards_acknowledged" : true
}' settings格式:
"settings": {
"number_of_shards": 5,
"number_of_replicas": 1
} mappings格式:
"mappings": {
"sms_up": {
"dynamic_templates": [
{
"strings_as_keywords": {
"match_mapping_type": "string",
"mapping": {
"type": "keyword"
}
}
}
], ## 再次查看索引
curl '10.231.13.177:9200/_cat/indices?v'
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open vfantest acyI9dArRAqTOHNAwGO_oQ 5 1 0 0 650b 650b
yellow open 20210122 urFLBfkQRGmIQVcXqITG5w 5 1 0 0 260b 260b
看到名称为"20210122"的索引已经创建,它有5个私有的分片以及一个副本
8、插入和获取
现在来插入一些数据到集群索引,插入时必须要指定数据类型,例如 external 类型 ID为 1 的数据
curl -XPUT 'localhost:9200/20210122/external/1?pretty' -d '
> {
> "name": "Tony",
> "sex": "boy"
> }' 回显:
{
"_index" : "20210122",
"_type" : "external",
"_id" : "1",
"_version" : 1,
"result" : "created",
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"created" : true
}
返回为""created" : true" 代表创建成功
获取 20210122 索引下类型为 external 、ID =1 的数据,pretty参数表示返回结果格式美观。
curl 'localhost:9200/20210122/external/1?pretty'
{
"_index" : "20210122",
"_type" : "external",
"_id" : "1",
"_version" : 1,
"found" : true,
"_source" : {
"name" : "Tony",
"sex" : "boy"
}
}
9、删除索引
curl -XDELETE 'localhost:9200/20210122'
{"acknowledged":true}
10、查看ES有哪些插件
curl '10.233.0.93:9200/_cat/plugins?v'
name component version
ngd-es5-elasticsearch-master-2 analysis-ik 5.4.2
ngd-es5-elasticsearch-master-2 discovery-kubernetes 5.4.2
ngd-es5-elasticsearch-master-2 elasticsearch-analysis-ansj 5.4.2.0
ngd-es5-elasticsearch-master-2 ingest-geoip 5.4.2
ngd-es5-elasticsearch-master-2 ingest-user-agent 5.4.2
ngd-es5-elasticsearch-master-2 x-pack 5.4.2
...
ngd-es5-elasticsearch-client-7795566789-6w2ns x-pack 5.4.2
11、查看当前ES节点信息
curl '10.233.0.93:9200'
{
"name" : "ngd-es5-elasticsearch-client-7795566789-6w2ns",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "KJAcgz-xQ1awOxG4T-WOlA",
"version" : {
"number" : "5.4.2",
"build_hash" : "929b078",
"build_date" : "2017-06-15T02:29:28.122Z",
"build_snapshot" : false,
"lucene_version" : "6.5.1"
},
"tagline" : "You Know, for Search"
}
You Know,for Search 表示节点正常  

elastersearch7.6.1搭建及基本操作详解的更多相关文章

  1. 【转】jumpserver 堡垒机环境搭建(图文详解)

    jumpserver 堡垒机环境搭建(图文详解)   摘要: Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装ag ...

  2. Ubuntu下Git从搭建到使用详解

    Ubuntu下Git从搭建到使用详解 一.git的搭建 (1).sudo apt-get update (2).sudo apt-get -y install git 符:安装最新版本方法: add- ...

  3. 基于CentOS6.5下snort+barnyard2+base的入侵检测系统的搭建(图文详解)(博主推荐)

    为什么,要写这篇论文? 是因为,目前科研的我,正值研三,致力于网络安全.大数据.机器学习研究领域! 论文方向的需要,同时不局限于真实物理环境机器实验室的攻防环境.也不局限于真实物理机器环境实验室的大数 ...

  4. 基于Windows7下snort+apache+php 7 + acid(或者base) + adodb + jpgraph的入侵检测系统的搭建(图文详解)(博主推荐)

    为什么,要写这篇论文? 是因为,目前科研的我,正值研三,致力于网络安全.大数据.机器学习.人工智能.区域链研究领域! 论文方向的需要,同时不局限于真实物理环境机器实验室的攻防环境.也不局限于真实物理机 ...

  5. 【JAVAEE学习笔记】hibernate01:简介、搭建、配置文件详解、API详解和CRM练习:保存客户

    今日学习:hibernate是什么 一.hibernate是什么 框架是什么: 1.框架是用来提高开发效率的 2.封装了好了一些功能.我们需要使用这些功能时,调用即可.不需要再手动实现. 3.所以框架 ...

  6. 简单搭建SpringMVC框架详解

    在公司待了两年,用的一直是Spring+SpringMVC+Hibernate框架,都是公司自己搭建好的,自己从来没有主动搭建过,闲来无聊,自己搭建试试.一下即我搭建的过程以及搭建所遇到的问题,有部分 ...

  7. [spark]-Spark2.x集群搭建与参数详解

    在前面的Spark发展历程和基本概念中介绍了Spark的一些基本概念,熟悉了这些基本概念对于集群的搭建是很有必要的.我们可以了解到每个参数配置的作用是什么.这里将详细介绍Spark集群搭建以及xml参 ...

  8. JAVAEE学习——hibernate01:简介、搭建、配置文件详解、API详解和CRM练习:保存客户

    今日学习:hibernate是什么 一.hibernate是什么 框架是什么: 1.框架是用来提高开发效率的 2.封装了好了一些功能.我们需要使用这些功能时,调用即可.不需要再手动实现. 3.所以框架 ...

  9. monkey 原理,环境搭建、命令详解

    一.monkey测试的相关的原理 monkey测试的原理就是利用socket通讯的方式来模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常.当Monkey程序在模拟器或设备运行的时候, ...

  10. 基于CentOS6.5下Suricata(一款高性能的网络IDS、IPS和网络安全监控引擎)的搭建(图文详解)(博主推荐)

    不多说,直接上干货! 为什么,要写这篇论文? 是因为,目前科研的我,正值研三,致力于网络安全.大数据.机器学习研究领域! 论文方向的需要,同时不局限于真实物理环境机器实验室的攻防环境.也不局限于真实物 ...

随机推荐

  1. css定位 position:sticky

    今天在做css定位的时候遇到一个问题,我想用fixed定位下来,但是发现这个时候定义的百分百宽度不随着父元素走了而是整个屏幕的百分百,这个就很尴尬了,也不能固定宽度吧,毕竟还要宽度自适应. 这个时候发 ...

  2. Nuxt框架中内置组件详解及使用指南(一)

    title: Nuxt框架中内置组件详解及使用指南(一) date: 2024/7/6 updated: 2024/7/6 author: cmdragon excerpt: 本文详细介绍了Nuxt框 ...

  3. Mybatis-plus 中Wrapper的使用

    mybatis plus条件构造器关系图 1.上图绿色框为抽象类abstract 2.蓝色框为正常class类,可new对象 3.黄色箭头指向为父子类关系,箭头指向为父类 QueryWrapper 继 ...

  4. Java权限认证框架比较

    认证.授权.鉴权和权限控制 定义 英文 实现方式 认证 确认声明者的身份 identification 根据声明者独特的识别信息 授权 获取用户的委派权限 authorization 颁发一个授信媒介 ...

  5. GAIA: 一个严苛的智能体基准

    简要概括 经过一些实验,我们对 Transformers 智能体构建智能体系统的性能印象深刻,因此我们想看看它有多好!我们使用一个 用库构建的代码智能体 在 GAIA 基准上进行测试,这可以说是最困难 ...

  6. Solo 开发者周刊 (第8期):Claude公司再度上新产品,成交额将超73亿美元

    这里会整合 Solo 社区每周推广内容.产品模块或活动投稿,每周五发布.在这期周刊中,我们将深入探讨开源软件产品的开发旅程,分享来自一线独立开发者的经验和见解.本杂志开源,欢迎投稿. 好文推荐 Cla ...

  7. 重磅消息:微软发布多平台应用UI框架 MAUI,网友直呼:牛x

    本文内容来自微软开发博客:https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-app-ui/ 转载请注明来源,公众 ...

  8. MFC的消息反射

    这边我用对话框来测试mfc的消息反射 当对话框初始化完成之后,点击按钮,首先相应CDialog::OnCommand其中wpARAM(低八位nId,高八位子控件句柄) 和LPARAM(句柄) OnCo ...

  9. Python中FastAPI项目使用 Annotated的参数设计

    在FastAPI中,你可以使用PEP 593中的Annotated类型来添加元数据到类型提示中.这个功能非常有用,因为它允许你在类型提示中添加更多的上下文信息,例如描述.默认值或其他自定义元数据. F ...

  10. 【Java】将枚举类转换为Redis字典缓存

    字典翻译框架实现看这篇: https://www.cnblogs.com/mindzone/p/16890632.html 枚举的特性 首先是枚举的一些特性: 1.枚举实例直接在枚举类中声明 2.重载 ...