当前位置: 首页 > news >正文

在Anolis OS 8上部署Elasticsearch 7.16.1与JDK 11的完整指南

目录

1. 环境与版本选择

1.1 操作系统选择:Anolis OS 8

1.2 版本匹配说明

1.3 前置条件检查

2. JDK 11安装与配置

2.1 安装流程

2.2 配置详解

3. Elasticsearch 7.16.1安装与优化

3.1 基础安装

 3.2 目录规划与权限

3.3 核心配置文件详解

3.4 JVM调优

4. 用户权限管理与服务启动

4.1 专用用户创建

4.2 服务启动与验证

5. 安全加固与密码认证

5.1 密码初始化

 5.2 认证访问测试

6. IK分词器扩展安装

6.1 下载与安装

 6.2 验证分词效果

7. 服务验证与故障排查

7.1 常见错误与解决

7.2 日志分析

8. 性能调优与高级配置

8.1 文件描述符限制

8.2 线程池优化

9. 附录:常见问题解答

10. 参考资料


1. 环境与版本选择

1.1 操作系统选择:Anolis OS 8

Anolis OS是龙蜥社区推出的开源Linux发行版,兼容CentOS生态,适用于企业级应用场景。选择其作为部署环境的原因包括:

  • 长期支持(LTS):提供稳定的内核和软件包更新。
  • 安全性:默认集成SELinux和防火墙管理工具。
  • 兼容性:完美支持Java生态及大数据组件。

1.2 版本匹配说明

  • Elasticsearch 7.16.1:该版本修复了多个已知漏洞(如CVE-2021-44228),同时需JDK 11支持。
  • JDK 11.0.19:Oracle官方长期支持版本(LTS),提供ZGC低延迟垃圾回收器优化。

1.3 前置条件检查

  • 关闭防火墙或配置端口白名单:
systemctl stop firewalld          # 临时关闭防火墙
systemctl disable firewalld       # 永久禁用
  • 确保系统内存≥4GB(推荐8GB以上),磁盘空间≥40GB。

2. JDK 11安装与配置

2.1 安装流程

# 解压JDK安装包(假设已上传至/home目录)
tar -zxvf jdk-11.0.19_linux-x64_bin.tar.gz -C /home/# 配置环境变量
cat <<EOF >> /etc/profile
export JAVA_HOME=/home/jdk-11.0.19
export JRE_HOME=\$JAVA_HOME/jre
export CLASSPATH=.:\$JAVA_HOME/lib:\$JRE_HOME/lib:\$CLASSPATH
export PATH=\$PATH:\$JAVA_HOME/bin
EOF# 立即生效配置
source /etc/profile# 验证安装
java -version   # 应输出"Java(TM) SE Runtime Environment 18.9 (build 11.0.19+8-LTS-227)"

2.2 配置详解

  • JAVA_HOME:指向JDK根目录,为编译工具(如javac)提供路径。
  • JRE_HOME:Java运行时环境,用于执行编译后的字节码。
  • CLASSPATH:定义类加载路径,避免手动指定依赖。
  • PATH:将JDK工具链加入全局命令搜索路径。

3. Elasticsearch 7.16.1安装与优化

3.1 基础安装

# 下载并解压
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.1-linux-x86_64.tar.gz
tar -zxf elasticsearch-7.16.1-linux-x86_64.tar.gz -C /usr/local/# 配置环境变量
echo 'export PATH=$PATH:/usr/local/elasticsearch-7.16.1/bin' >> /etc/profile
source /etc/profile

 3.2 目录规划与权限

# 创建数据与日志目录
mkdir -p /home/elasticsearch/{data,logs}
chmod -R 777 /home/elasticsearch   # 生产环境建议细化权限(
http://www.xdnf.cn/news/212365.html

相关文章:

  • C++之AVL树
  • Android Studio for Platform(ASFP)真机调试
  • Qt5与现代OpenGL学习(四)X轴方向旋转60度
  • 《Vue3学习手记7》
  • RVO2(C#版)源码分析
  • 什么是ICSP编程
  • [展示]集成式深度学习对音频降噪的基准测试BenchMark
  • 【图片识别改名】批量读取图片区域文字识别后批量改名,基于Python和腾讯云的实现方案
  • [随笔] 升级uniapp旧项目的vue、pinia、vite、dcloudio依赖包等
  • BG开发者日志429:故事模式的思路
  • Mac 创建QT按钮以及一些操作
  • iVX 可视化调试:重塑 AI 编程规则的变革
  • 【11408学习记录】考研英语语法核心:倒装句考点全解+真题演练
  • 如何用vivado导出pin delay
  • 第33周JavaSpringCloud微服务 多人协作下的调试
  • CSRF(cross-site request forgery)跨域请求访问
  • Reverse-WP记录9
  • 51la统计坏了吗?用悟空统计保障运营决策安全详解
  • 斯坦福课程 MSE 318/CME 338: Large-Scale Numerical Optimization
  • Linux权限拓展
  • Headers池技术在Python爬虫反反爬中的应用
  • Kotlin 常见问题
  • 简单音频比较
  • 数据库day-08
  • C#中winform窗体如何捕获键盘按键事件
  • 深度学习篇---模型权重变化与维度分析
  • 阿里云 OpenManus 实战:高效AI协作体系
  • “情况说明“以后,Unity XR 开发者如何选择?
  • HTTP(超文本传输协议)全面总结
  • 蓝桥杯 10. 凯撒加密