redhat 9.2 安装 elasticsearch-7.17.3 过程记录

  1. 确认 redhat 版本号:
bash 复制代码
 > cat /etc/redhat-release:
 > Red Hat Enterprise Linux release 9.2 (Plow)
  1. 新建 elasticsearch 目录:
bash 复制代码
 > cd /data/software && mkdir  elasticsearch && cd elasticsearch
  1. 下载 elasticsearch-7.17.3-linux-x86_64.tar.gz:
bash 复制代码
> wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.3-linux-x86_64.tar.gz

下载失败也可以去其他地方下载( 比如迅雷 ),然后上传到该目录。

  1. 解压 elasticsearch-7.17.3-linux-x86_64.tar.gz:
bash 复制代码
> tar -xzf elasticsearch-7.17.3-linux-x86_64.tar.gz
bash 复制代码
> cd elasticsearch-7.17.3 && mkdir data && mkdir tmpdir
  1. cd config && vim elasticsearch.yml,添加如下内容:
bash 复制代码
 cluster.initial_master_nodes: ["es-node-1"]  	// 不加启动 es 会报错 the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
 path.data: /data/software/elasticsearch/elasticsearch-7.17.3/data
 path.logs: /data/software/elasticsearch/elasticsearch-7.17.3/logs
 network.host: 0.0.0.0 							// 不加只能使用 http://127.0.0.1:9200 访问,不能用 具体 ip 访问
 ingest.geoip.downloader.enabled: false   		// 不加可能如果网络不好,java 调用 es api 会超时,然后 es 日志会发现类似 "error downloading geoip database [GeoLite2-Country.mmdb]" 的错误
  1. 修改 es 的默认 /tmp 目录:

有时候启动 es 会报类似 "Exception in thread "main" java.nio.file.AccessDeniedException: /tmp/elasticsearch-8523317643108022907..." 的错误,因为 No space left 或者 no permission 等,可以手动修改 es 默认使用的 /tmp 目录:

bash 复制代码
    1. vim  /data/software/elasticsearch/elasticsearch-7.17.3/bin/elasticsearch,在 "if [ -z "$ES_TMPDIR" ]; then" 上一行新增 ES_TMPDIR="/data/software/elasticsearch/elasticsearch-7.17.3/tmpdir"
    2. vim /data/software/elasticsearch/elasticsearch-7.17.3/bin/elasticsearch-env,在 "if [ ! -z "$ES_JAVA_HOME" ]; then" 上一行新增 ES_JAVA_HOME="/data/software/elasticsearch/elasticsearch-7.17.3/jdk"
	
  1. 启动 es:
bash 复制代码
    1. cd /data/software/elasticsearch/elasticsearch-7.17.3/bin && ./elasticsearch        // 前台启动 
	2. cd /data/software/elasticsearch/elasticsearch-7.17.3/bin && ./elasticsearch -d     // 后台启动 
  1. 安装 ik分词器:

  2. 下载 elasticsearch-analysis-ik-7.17.3.zip( 下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.3/elasticsearch-analysis-ik-7.17.3.zip )

  3. cd /data/software/elasticsearch/elasticsearch-7.17.3/plugins && mkdir analysis-ik

  4. 将下载好的 elasticsearch-analysis-ik-7.17.3.zip 上传到 analysis-ik 目录

  5. unzip elasticsearch-analysis-ik-7.17.3.zip

  6. 重启 elasticSearch

  7. elasticSearch 常见 API:

  8. http://127.0.0.1:9200/_cat/nodes?v # 查看所有节点

  9. http://127.0.0.1:9200/_cat/health?v # 查看 elasticSearch 健康状况

  10. http://127.0.0.1:9200/_cat/indices?v # 查看所有索引信息

  11. http://127.0.0.1:9200/index_article # 查看索引 index_article 的信息

  12. http://127.0.0.1:9200/index_article DELETE # 删除索引 index_article

  13. http://127.0.0.1:9200/index_article/_mapping DELETE # 删除索引 index_article

  14. http://127.0.0.1:9200/index_article/_search # 查询索引 index_article 中的全部数据

  15. http://127.0.0.1:9200/_analyze # 测试分词器分词效果

POST

{

"text":"I prefer having your accompanying for life-long time to the short-time tenderness",

"analyzer":"standard"

}

  1. 设置用户名、密码:

  2. 修改 /data/software/elasticsearch/elasticsearch-7.17.3/config/elasticsearch.yml,添加 "xpack.security.enabled: true"

  3. cd /data/software/elasticsearch/elasticsearch-7.17.3/bin 执行 ./elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass "",发现证书 elastic-certificates.p12 生成到了 /data/software/elasticsearch/elasticsearch-7.17.3/config 中

  4. 修改 /data/software/elasticsearch/elasticsearch-7.17.3/config/elasticsearch.yml,添加以下4行:

bash 复制代码
    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
  1. 重启 es,浏览器请求 http://127.0.0.1:9200/ 提示让输入用户名和密码了

  2. 设置密码:

cd /data/software/elasticsearch/elasticsearch-7.17.3/bin 执行 ./elasticsearch-setup-passwords interactive,选择 y,根据提示为分别为用户 elastic、apm_system、kibana_system、logstash_system、beats_system、remote_monitoring_user 设置密码

相关推荐
我命由我123454 分钟前
Android WebView - loadUrl 方法的长度限制
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
前端架构师-老李11 分钟前
Maven安装以及环境变量配置(macOS)
java·macos·maven
带刺的坐椅34 分钟前
(对标 Spring IA 和 LangChain4j)Solon AI & MCP v3.7.0, v3.6.4, v3.5.8 发布(支持 LTS)
java·spring·ai·solon·mcp·langchain4j
7澄136 分钟前
深入解析 LeetCode 1572:矩阵对角线元素的和 —— 从问题本质到高效实现
java·算法·leetcode·矩阵·intellij-idea
诗9趁年华40 分钟前
缓存三大问题深度解析:穿透、击穿与雪崩
java·spring·缓存
阳光明媚sunny41 分钟前
分糖果算法题
java·算法
whltaoin41 分钟前
【JAVA全栈项目】弧图图-智能图床SpringBoot+MySQL API接口结合Redis+Caffeine多级缓存实践解析
java·redis·spring·缓存·caffeine·多级缓存
一 乐1 小时前
医疗管理|医院医疗管理系统|基于springboot+vue医疗管理系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·医疗管理系统
华仔啊1 小时前
SpringBoot 2.x 和 3.x 的核心区别,这些变化你必须知道
java·spring boot·后端
laocooon5238578861 小时前
大数的阶乘 C语言
java·数据结构·算法