elasticsearch安装

文章详细介绍了如何在Linux环境下部署Elasticsearch7.17.4,包括创建程序路径、上传安装包、创建启动账号、配置权限、设置虚拟内存、安装中文分词插件、创建服务文件及注册为系统服务,并提供了启动、停止和查询ES状态的命令,以及一些基本的HTTP操作示例。
摘要由CSDN通过智能技术生成

1、部署
一、 创建es程序路径,以下linux操作均基于以下创建的路径下
mkdir -p /opt/project/es
二、上传es包(elasticsearch-7.17.4-linux-x86_64.tar.gz )到上边创建的路径下,
上传中文分词包(elasticsearch-analysis-ik-7.17.4.zip )到上边创建的路径下
三、前置工作
3.1、创建es启动账号:
注:该版本下es不允许以root账号启动,创建账号elasticsearch的linux账号
adduser elasticsearch
为账号设置密码,此步骤请自行输入密码(列如:ahfyEs_123456)
passwd elasticsearch
3.2、解压es包:
cd /opt/project/es
tar -zxvf elasticsearch-7.17.4-linux-x86_64.tar.gz
3.3、为刚刚创建的账号授予es路径访问权限
chown -R elasticsearch /opt/project/es/elasticsearch-7.17.4
3.4、设置Linux虚拟内存交换(如果不设置会导致es无法启动)
向配置文件中写入,重启后也有效。执行完这个建议执行下边的就不用重启了
echo vm.max_map_count=262144 > /etc/sysctl.conf

临时设置,重启后消失

sysctl -w vm.max_map_count=262144
3.5、es配置
vim /opt/project/es/elasticsearch-7.17.4/config/elasticsearch.yml
将node.name配置打开,
network.host配置打开,并填写需要绑定的主机ip
cluster.initial_master_nodes打开,并配置成(此次的node-1与node.name的值一致):cluster.initi
禁止安全检查 :
xpack.security.enabled: false
四、安装中文分词包
./elasticsearch-7.17.4/bin/elasticsearch-plugin intsall
file:///opt/project/es/elasticsearch-analysis-ik-7.17.4.zip
五、创建es服务
5.1:创建服务文件
vim elasticsearch.service
5.2:写入服务信息,信息如下

[Unit]
Description=elasticsearch
After=network.target
[Service]
Type=forking
# 上边创建的es用户信息
User=elasticsearch
# es启动脚本的路径
ExecStart=/opt/project/es/elasticsearch-7.17.4/bin/elasticsearch -d -p pid
PrivateTmp=true
# 指定此进程可以打开的最大文件数
LimitNOFILE=65535
# 指定此进程可以打开的最大进程数
LimitNPROC=65535
# 最大虚拟内存
LimitAS=infinity
# 最大文件大小
LimitFSIZE=infinity
# 超时设置 0-永不超时
TimeoutStopSec=0
# SIGTERM是停止java进程的信号
KillSignal=SIGTERM
# 信号只发送给给JVM
KillMode=process
# java进程不会被杀掉
SendSIGKILL=no
# 正常退出状态
SuccessExitStatus=143
LimitNOFILE=131072
LimitNPROC=8192
[Install]
WantedBy=multi-user.target

5.3:注册为linux服务
systemctl enable /opt/project/es/elasticsearch.service
重新加载服务
systemctl daemon-reload
5.4: es服务操作
启动es服务
systemctl start elasticsearch.service
停止es服务
systemctl stop elasticsearch.service
重启es服务
systemctl restart elasticsearch.service
es服务状态信息
systemctl status elasticsearch.service
通过systemctl status elasticsearch.service命令检查es服务的状态信息,如果出现
active (running)字眼(一般为绿色)代表启动成功,或者curl 127.0.0.1:9200检查es的输出
六:es常用http操作(最好在linux下,win下有各种符号问题)
6.1 查询es状态信息
curl 192.168.80.128:9200
6.2 查询索引信息(archives_item是索引名称)
curl --location --request GET 192.168.80.128:9200/archives_item
6.3 查询指定文本指定分词的结果,查询ik_max_word分词模式下”中华人民共和国“词语分词结果
curl --location --request GET ‘192.168.80.128:9200/_analyze’
–header ‘Content-Type: application/json’
–data ‘{
“analyzer”:“ik_max_word”,
“text”:“中华人民共和国”
}’
6.4 合并索引数据,该操作会把旧文档彻底删除以释放空间,
archives_item为索引名称,_forcemerge代表合并操作
curl --location --request GET ‘192.168.80.128:9200/archives_item/_forcemerge’
删除索引
curl -XDELETE http://192.168.80.128:9200/indexName
6.5查询数据,archives_item为索引名称
curl --location --request GET ‘192.168.80.128:9200/archives_item/_doc/_search’
乐观锁并发控制:
https://www.elastic.co/guide/cn/elasticsearch/guide/current/optimistic-concurrency-control.html
elasticsearch通过version来进行控制并发修改的问题,使用乐观锁
目前7.x版本可以支持一个index下唯一一个type,但是后续会删除,_doc 使用这个类型作为type以适配版本的升级问题

es 目前不支持修改映射,所以如果需要改变索引需要重新建立索引,只能删除索引之后再新增索引,数据迁入
修改映射步骤:
1、新增一个索引,建立映射,使用es的数据导入方式将旧映射导入到新映射(数据量大应该考虑使用代码出来)

2、为新索引起别名为旧索引的名称,并删除旧索引
3、(不是必须),重建旧索引,并将数据再复制回去
别名与索引不能重复
es配置外网访问无法启动:设置堆栈最大与最小一致,在config/jvm.options.d目录下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值