Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux 安装部署 Elasticsearch 8.5.0

Linux 安装部署 Elasticsearch 8.5.0

原创
作者头像
是条鱼呀
发布于 2024-03-16 14:21:51
发布于 2024-03-16 14:21:51
41300
代码可运行
举报
运行总次数:0
代码可运行

Elasticsearch单节点部署

(1) root用户下进行操作,或者用sudo命令操作

  • 下载安装包,解压
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 tar -xzf elasticsearch-8.5.0-linux-x86_64.tar.gz
 cd elasticsearch-8.5.0/
  • 新建用户:ES为了安全考虑,不允许在root用户下启动ES程序,因此需要新建一个名为elastic的用户(可以起别的名字)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 groupadd elastic
 useradd -g elastic elastic
 # 密码设置为elastic
 passwd elastic
  • 为新用户赋予文件夹权限
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 chown -R elastic:elastic elasticsearch-8.5.0
 chmod -R 777 elasticsearch-8.5.0
  • 新用户添加至 sudoerslist,也可以不添加
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 sudo cd elasticsearch-8.5.0
 visudo
 添加 elastic ALL=(ALL) ALL
  • 配置JVM内存大小

进入config/jvm.options.d 目录,新建 jvm.options 文件, 添加以下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 -Xms2g
 -Xmx2g
  • 安装IK分词器(如果有中文搜索分词需求)

上传ik压缩包到 elasticsearch 目录,解压到 /plugins/ik 文件夹中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 cd /elasticsearch-8.5.0/plugins/
 mkdir ik
 cd ik
 cp /tmp/elasticsearch-analysis-ik-8.5.0.zip .
 unzip elasticsearch-analysis-ik-8.5.0.zip
  • 更改优化服务器配置

修改 /etc/security/limits.conf 配置文件,添加以下内容并保存。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 *       soft    nofile  65536
 *       hard    nofile  131072
 *       soft    nproc   2048
 *       hard    nproc   4096

修改 /etc/sysctl.conf 配置文件,添加以下内容并保存,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 vm.max_map_count=655360

用 sysctl -p命令使修改生效。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 sysctl -p

调整文件打开数限制

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 ulimit -HSn 65535
  • 配置安全证书

执行以下命令(提示输入文件名时回车跳过,会使用默认文件名,提示输入密码时输入elastic或者其他字符串作为密码)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 # 签发ca证书
 cd /elasticsearch-8.5.0/bin
 ./elasticsearch-certutil ca
 ​
 # 用ca证书签发节点证书
 cd /elasticsearch-8.5.0/bin
 ./elasticsearch-certutil cert --ca elastic-stack-ca.p12  
 ​
 # 证书默认在elasticsearch-8.5.0目录生成,将证书放到certs目录(config目录下手动创建certs目录)
 cd /elasticsearch-8.5.0
 mv elastic-certificates.p12  elastic-stack-ca.p12 config/certs 
  • 修改配置文件

进入config 目录,编辑 elasticsearch.yml 文件, 修改或添加以下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 # ---------------------------------- Cluster -----------------------------------
 #
 # Use a descriptive name for your cluster:
 # 集群名称
 cluster.name: ES
 #
 # ------------------------------------ Node ------------------------------------
 #
 # Use a descriptive name for the node:
 #
 # 具体节点的名称
 node.name: node1
 #
 # Add custom attributes to the node:
 #
 #node.attr.rack: r1
 #
 # ---------------------------------- Network -----------------------------------
 #
 # By default Elasticsearch is only accessible on localhost. Set a different
 # address here to expose this node on the network:
 #
 # 节点IP地址(主机的IP地址)
 network.host: xxx.xx.xx.xx
 #
 # By default Elasticsearch listens for HTTP traffic on the first free port it
 # finds starting at 9200. Set a specific HTTP port here:
 #
 http.port: 9200
 #
 # 配置跨域
 http.cors.enabled: true
 http.cors.allow-origin: "*"
 http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
 # For more information, consult the network module documentation.
 #
 # --------------------------------- Discovery ----------------------------------
 #
 # Pass an initial list of hosts to perform discovery when this node is started:
 # The default list of hosts is ["127.0.0.1", "[::1]"]
 #
 #
 # Bootstrap the cluster using an initial set of master-eligible nodes:
 #
 #
 # For more information, consult the discovery and cluster formation module documentation.
 #
 #----------------------- BEGIN SECURITY AUTO CONFIGURATION -----------------------
 #
 # The following settings, TLS certificates, and keys have been automatically      
 # generated to configure Elasticsearch security features on 12-12-2023 00:39:26
 #
 # --------------------------------------------------------------------------------
 ​
 # Enable security features
 xpack.security.enabled: true
 ​
 xpack.security.enrollment.enabled: true
 ​
 # Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
 xpack.security.http.ssl:
   enabled: true
   keystore.path: certs/elastic-stack-ca.p12
 ​
 # Enable encryption and mutual authentication between cluster nodes
 xpack.security.transport.ssl:
   enabled: true
   verification_mode: certificate
   keystore.path: certs/elastic-certificates.p12
   truststore.path: certs/elastic-certificates.p12
 # Create a new cluster with the current node only
 # Additional nodes can still join the cluster later
 # 节点的ip地址, 首次启动完成后删除或注释此配置项
 cluster.initial_master_nodes: ["xxx.xx.xx.xx"]
 ​
 #----------------------- END SECURITY AUTO CONFIGURATION -------------------------
 ​
 # Allow other nodes to join the cluster from anywhere
 # Connections are encrypted and mutually authenticated
 transport.host: 0.0.0.0
 ​
 ingest.geoip.downloader.enabled: false
  • 再次分配文件夹权限(保证新用户权限覆盖文件夹中所有新生成的文件)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 chown -R elastic:elastic elasticsearch-8.5.0
 chmod -R 777 elasticsearch-8.5.0

(2) 新用户下进行

执行以下命令,提示输入密码时输入elastic,即生成安全证书时设置的密码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 ./bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
 ./bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password
 ./bin/elasticsearch-keystore add xpack.security.http.ssl.keystore.secure_password
 ./bin/elasticsearch-keystore add xpack.security.http.ssl.truststore.secure_password
  • 启动节点
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 # 切换新用户
 su elastic
 cd elasticsearch-8.5.0/bin
 ./elasticsearch
  • 启动成功后,节点启动页面会打印如下信息,分别是系统为 elastic 用户生成的密码,CA证书指纹,用于连接 kibana 的 token , 用于给集群添加新节点的 token。建议保存下来,两个 token 有 30min 有效时间,可以不保存,需要时再用下面的命令重新生成
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 ✅ Elasticsearch security features have been automatically configured!
 ✅ Authentication is enabled and cluster connections are encrypted.
 ​
 ℹ️  Password for the elastic user (reset with `bin/elasticsearch-reset-password -u elastic`):
   *_LNlFhqK5ULjbCyEYee
 ​
 ℹ️  HTTP CA certificate SHA-256 fingerprint:
   6aea402bdf44d4f64d77b9c01ac87904264c07943a4087af0492e84247f9ab86
 ​
 ℹ️  Configure Kibana to use this cluster:
 • Run Kibana and click the configuration link in the terminal when Kibana starts.
 • Copy the following enrollment token and paste it into Kibana in your browser (valid for the next 30 minutes):
   eyJ2ZXIiOiI4LjUuMCIsImFkciI6WyIxMC40MC4wLjA6OTIwMCJdLCJmZ3IiOiI2YWVhNDAyYmRmNDRkNGY2NGQ3N2I5YzAxYWM4NzkwNDI2NGMwNzk0M2E0MDg3YWYwNDkyZTg0MjQ3ZjlhYjg2Iiwia2V5IjoiOE5RU1hJd0JkcGJWLTFXV3ZKdVY6VkRPYTJIOWdTNjIxdGVWbkFjTFRDQSJ9
 ​
 ℹ️ Configure other nodes to join this cluster:
 • Copy the following enrollment token and start new Elasticsearch nodes with `bin/elasticsearch --enrollment-token <token>` (valid for the next 30 minutes):
   eyJ2ZXIiOiI4LjUuMCIsImFkciI6WyIxMC40MC4wLjA6OTIwMCJdLCJmZ3IiOiI2YWVhNDAyYmRmNDRkNGY2NGQ3N2I5YzAxYWM4NzkwNDI2NGMwNzk0M2E0MDg3YWYwNDkyZTg0MjQ3ZjlhYjg2Iiwia2V5IjoiOHRRU1hJd0JkcGJWLTFXV3ZKdXU6SXJObjMtVUxSanlSek4wdzRPOGtoUSJ9

生成kibana连接token的命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 ./bin/elasticsearch-create-enrollment-token -f --scope kibana -E xpack.security.http.ssl.verification_mode=certificate

生成用于添加新节点的token的命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 ./bin/elasticsearch-create-enrollment-token -f --scope node -E xpack.security.http.ssl.verification_mode=certificate
  • 关闭节点
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 # 如果没有以守护进程的方式启动,直接ctrl+c就可以关闭程序
 # 如果以守护进程的方式启动则需要查询进程PID再杀死进程关闭程序
 ps -ef | grep elasticsearch
 kill -9 <进程PID>
  • 节点配置成systemd服务
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 su root 
 cd /lib/systemd/system/      ###配置服务的目录
 vim /lib/systemd/system/elasticsearch.service     ###写入如下内容
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 [Unit]
 Description=elasticsearch
 After=network.target
 ​
 [Service]
 Type=simple
 User=elastic
 # elasticsearch安装目录
 ExecStart=/opt/elasticsearch-8.5.0/bin/elasticsearch
 PrivateTmp=true
 # 指定此进程可以打开的最大文件数
 LimitNOFILE=65535
 # 指定此进程可以打开的最大进程数
 LimitNPROC=65535
 # 最大虚拟内存
 LimitAS=infinity
 # 最大文件大小
 LimitFSIZE=infinity
 Restart=on-failure
 ​
 [Install]
 WantedBy=multi-user.target
  • 配置开机自启,并启动节点
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 # 更新systemd配置文件
 systemctl daemon-reload
 # 使服务生效
 systemctl enable elasticsearch
 # 启动服务
 systemctl start elasticsearch
 # 查看服务状态
 systemctl status elasticsearch

进入 https://xxx.xx.xx.xxx:9200/ 查看节点是否启动成功

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
AIRS强对流天气识别跟踪与外推系统
当前,全球变暖正以前所未有的速度发生,这导致冰川融化、海洋变暖、海平面上升,从而又促使更多、更频繁的极端天气事件发生,对人类社会的生产生活与社会治理带来严峻挑战。
郭好奇同学
2022/06/07
8900
AIRS强对流天气识别跟踪与外推系统
热带深对流事件相关的最低温度记录(附所有代码)
本文主要研究了西太平洋地区的观测到的迄今为止亮温最低的深对流事件,并利用多种观测资料进行了更深入的分析,作者认为这种深对流的低温现象可能会变的更加普遍。
郭好奇同学
2021/08/26
8260
热带深对流事件相关的最低温度记录(附所有代码)
国产气象预报模式第一梯队!
此项技术是科技冬奥的核心技术之一,已经形成重要成果,正在交通、电力、防汛、环境保护、城市规划等领域进行推广。
郭好奇同学
2022/04/12
9660
国产气象预报模式第一梯队!
利用机器学习改善深对流参数化方案中的对流触发函数
大气环流模式(GCM)中深对流参数化的对流触发函数的缺陷对气候模拟具有关键影响。本研究利用机器学习分类模型XGBoost开发新的对流触发函数。对流事件相关的大尺度环境信息来自南部大平原(SGP)和Manaus(MAO)站点的大气辐射测量的长期限制变分分析数据,两个站点分别代表了中纬度大陆和热带对流。针对两个站点分别训练和评估机器学习模型,并针对两个站点联合训练和评估了一个统一模型。
bugsuse
2022/09/23
3580
利用机器学习改善深对流参数化方案中的对流触发函数
强对流天气的“照妖镜”
强对流天气尺度小,突发性强,天气剧烈,破坏性强(图1),是我国春夏季常常发生的“作妖”天气,而南方甚至全年都可能出现,其“作妖”的方式主要有:雷暴大风、冰雹、暴雨、龙卷风。
bugsuse
2020/05/26
1.5K0
强对流天气的“照妖镜”
基于Himawari-8卫星数据利用深度学习进行对流短临预报(附代码)
近期Ryan Lagerquist等发表在《Monthly Weather Review》上的一篇文章,主要是基于Himawari-8卫星多个红外通道亮温观测以及雷达观测数据利用U-net及其变体模型(U-net++,Temporal U-net)并结合FSS评分指标作为损失函数进行对流覆盖区域的临近预报,并分析了卫星红外通道亮温观测的重要性。
bugsuse
2022/09/23
1.9K18
基于Himawari-8卫星数据利用深度学习进行对流短临预报(附代码)
BLE安全之配对流程剖析(3)
  上一章介绍了配对流程的第二阶段,剖析了配对第二阶段的配对算法的选择和鉴权方式的选择。接下来就进入了ble配对的阶段三,在该阶段双方会根据生成的STK或LTK来生成其他的密钥,就是配对的密钥分配阶段。
物联网布道师
2023/02/28
2K0
BLE安全之配对流程剖析(3)
【直播预约】手把手教您如何轻松应对流量高峰
前言 在品牌竞争日益激烈的时代,秒杀活动以及类似于双十一、618的活动越来越多,用户流量突增可能会影响系统稳定性。因此需要对业务系统进行性能测试,提前发现性能瓶颈,应对流量高峰。保障系统的稳定。 使用开源压测进行性能测试,通常只支持有限的协议和场景,需要人工进行可视化和自动化的管理和配置;监控和数据收集一般需要手动配置和管理,且难以进行实时监控和调整;人力成本较高。 秒杀抢购、活动大促等场景,需要大量机器多地域部署模拟海量用户的真实场景,需消耗的资源成本较高。 我们该如何低成本进行一键性能测试? 2023年
腾讯云可观测平台
2023/05/04
4200
【直播预约】手把手教您如何轻松应对流量高峰
第四十四期:高效团队养成
回想你事业中一段特别快乐的工作经历。是什么让那段经历富有乐趣?最简单的答案就是“挑战”。好的工作体验总是伴随着一定的挑战性。
terrence386
2022/07/15
1820
印度进口战斗机想退货,因系统无法识别自家口音
内容概览:当语音识别遇上方言,会是一个很棘手的问题。而如果对垒双方,变成了战斗机的语言控制,和带有印度方言的英语发音,这个问题又会怎么样?近日,现实中就上演了这样的一幕。
HyperAI超神经
2020/03/03
3900
中文综述|机器学习在强对流监测预报中的应用进展
近年来, 机器学习理论和方法应用蓬勃发展, 已在强对流天气监测和预报中广泛应用。各类机器学习算法, 包括传统机器学习算法(如随机森林、决策树、支持向量机、神经网络等)和深度学习方法, 已在强对流监测、短时临近预报、短期预报领域发挥了积极的重要作用, 其应用效果往往明显优于依靠统计特征或者主观经验积累的传统方法。机器学习方法能够更有效提取高时空分辨率的中小尺度观测数据的强对流特征, 为强对流监测提供更全面、更强大的自动识别和追踪能力; 能够有效综合应用多源观测数据、分析数据和数值预报模式数据, 为强对流临近预报预警提取更多有效信息; 能够有效对数值模式预报进行释用和后处理, 提升全球数值模式、高分辨率区域数值模式在强对流天气预报上的应用效果。最后, 给出了目前机器学习方法应用中存在的问题和未来工作展望。
郭好奇同学
2021/08/26
7960
中文综述|机器学习在强对流监测预报中的应用进展
社交,或成元宇宙的「滑铁卢」
自Meta开始,元宇宙似乎就与社交联系在了一起。这并不是偶然。相对于将元宇宙应用到其他领域,社交似乎是最轻便的。从如此多的玩家将元宇宙的落地和应用聚焦在社交的身上,我们就可以看出一丝端倪。然而,如果将元宇宙与社交划等号,未免有些太过武断了。除了社交,元宇宙应当有更多新的内涵与意义。站在更高的视角来看待元宇宙,并寻找元宇宙的正确发展之道,或许才是关键所在。
孟永辉
2022/08/01
1530
社交,或成元宇宙的「滑铁卢」
基层、中层和高层,你在哪里?
2年前,网上有一篇很有名的文章《任正非的用人之道:砍掉高层手脚,中层的屁股,基层的脑袋》,当时以为是标题党,就没仔细看,时至今日,开始研究组织架构,思考企业这个组织中的高效运转问题,才反过来去好好读了几遍,有种错过了几百万的感觉。
崔文远TroyCui
2019/02/26
4880
Python可视化 | 中尺度对流系统反射率截面
中尺度对流系统,简称MCS(Mesoscale Convective System),是造成暴雨 、冰雹 、雷雨大风和龙卷等灾害性天气的重要系统。
郭好奇同学
2021/08/26
1.1K0
Python可视化 | 中尺度对流系统反射率截面
[五色令人目盲|五音令人耳聋]Rayleigh-Benard对流视听盛宴~根本停不下来!
如下是一份计算Rayleigh-Benard 对流的Matlab源代码,源码来源与说明点击“阅读原文”:
周星星9527
2019/09/29
4870
[五色令人目盲|五音令人耳聋]Rayleigh-Benard对流视听盛宴~根本停不下来!
Vue3快速入门——列表遍历v-for
Vue.js 是一款用于构建用户界面的渐进式JavaScript框架。Vue3是Vue.js的最新版本,它带来了许多新特性和改进,其中之一就是更强大的遍历功能。在前面入门了Vue3,通过四步骤让后端人员成功入门Vue3,本文将为继续介绍其他基础知识,如何在Vue3中使用v-for指令遍历列表,帮助您快速入门Vue3。
小明爱吃火锅
2024/04/16
1K0
Class下的getEnumConstants
人生是一次航行。航行中必然遇到从各个方面袭来的劲风,然而每一阵风都会加快你的航速。只要你稳住航舵,即使是暴风雨,也不会使你偏离航向。 ——西·切威廉斯【美】 我们使用枚举过程中,可能会有这种需求 通过传入一个枚举的Class获取枚举里的各个常量值 其实这里有一个函数可以满足我们的需求 java.lang.Class#getEnumConstants 在java.lang.Class类下有个函数getEnumConstants 我们可以这么使用 public static void main(Stri
阿超
2022/08/16
4830
Class下的getEnumConstants
观点 | 医疗AI:新瓶装旧酒VS新瓶装新酒?——道彤投资创始合伙人孙琦
“AI只是个算法,没有独立的门槛。”,“医疗AI只是一阵风,就像互联网医疗一样”,面对医疗AI的种种质疑,道彤投资创始合伙人孙琦这样说。 今年以来,医疗AI的投融资非常热,就像前两年的互联网医疗、精准医疗热一样,很多创业者及资本涌入其中。来自CB Insights报告显示,2017年第一季度,AI初创企业融资成交了245笔,融资总额超过17亿美元。医疗健康一直是AI的重要领域,在海外及中国市场,均出现了单笔亿元以上的融资。 在这个过程中,也有很多声音与质疑。比如医疗AI到底是不是一阵风?AI+还是+A
AI科技大本营
2018/04/27
6980
观点 | 医疗AI:新瓶装旧酒VS新瓶装新酒?——道彤投资创始合伙人孙琦
科研进展 | 热带波动与对流耦合机制新思考——非瞬时wave-CISK
长期以来,热带对流--波动--环流之间的相互作用及耦合机制研究是热带大气动力学中的一个难点。目前国际上较为流行的准平衡(Quasi-equilibrium)框架下的相关理论从整体上忽略了潜热加热所强迫的低层水汽辐合的作用,也即忽略了有关对流加热的反馈在整个耦合过程中作用,这为从物理上理解热带对流--波动--环流的耦合以及在模式中的应用带来了非常大的局限。
气象学家
2020/06/29
9160
科研进展 | 热带波动与对流耦合机制新思考——非瞬时wave-CISK
大气专家解读“白银马拉松事故” 三点经验教训冀各界警惕关注
中新网北京8月11日电 (记者 孙自法) 造成21人遇难、8人受伤的甘肃“白银马拉松事故”虽然已经过去近3个月,但事故背后原因分析、经验教训总结备受学界和公众持续关注。
bugsuse
2022/09/23
2010
大气专家解读“白银马拉松事故” 三点经验教训冀各界警惕关注
推荐阅读
相关推荐
AIRS强对流天气识别跟踪与外推系统
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验