ElaticSearch

ElaticSearch:

  • 全文搜索 超级强,比如模糊查询、关键词高亮等

  • 海量数据 高效查询,比传统关系数据库快得多(尤其是搜索)

  • 灵活的数据结构(Schema灵活,可以动态字段)

  • 分布式高可用,天然支持横向扩展

ElaticSearch安装

安装包下载

Download Elasticsearch | ElasticDownload Elasticsearch or the complete Elastic Stack (formerly ELK stack) for free and start searching and analyzing in minutes with Elastic....https://www.elastic.co/downloads/elasticsearch

Elasticsearch需要Java环境,8.x之后不需要自己安装JDK,自带的合适版本的JDK

mkdir /usr/local/develop

将压缩包上传

解压

tar -zxvf elasticsearch-9.0.0-linux-x86_64.tar.gz

cd elasticsearch-9.0.0

前台运行

./bin/elasticsearch

默认不允许root用户运行

创建一个普通用户,比如叫 esuser

useradd esuser

给用户设置密码(按提示输入密码)

passwd esuser

给这个用户授权访问ES目录(把elasticsearch-9.0.0权限给esuser)

chown -R esuser:esuser /usr/local/develop/elasticsearch-9.0.0

因为在develop目录下 需要develop的写权限(除非你已经通过root解压了)

切换到esuser

su - esuser

进入ES目录

cd /usr/local/develop/elasticsearch-9.0.0

安装

./bin/elasticsearch-plugin install https://get.infini.cloud/elasticsearch/analysis-ik/8.4.1

最新IK分词器插件8.4.1 发现IK分词器9.0.0还没有 不兼容

tar -zxvf elasticsearch-8.4.1-linux-x86_64.tar.gz

安装IK分词器

先手动下载插件(避免网络问题导致失败)

wget https://get.infini.cloud/elasticsearch/analysis-ik/8.4.1 -O /tmp/ik.zip

然后从本地安装

./elasticsearch-8.4.1/bin/elasticsearch-plugin install file:///tmp/ik.zip

指定最大最小内存 并在后台启动

ES_JAVA_OPTS="-Xms1g -Xmx1g" ./elasticsearch-8.4.1/bin/elasticsearch -d

启动之后

复制代码
curl -k -u elastic:你的密码 https://localhost:9200   是可以的
curl -k -u elastic:你的密码 https://47.76.126.58:9200   无法连接

在配置文件中

#cluster.initial_master_nodes: "iZj6xxxxxxxxxx" 将这行注释

另外添加

network.bind_host: 0.0.0.0

discovery.type: single-node

注意 第一次启动建议前台启动

./bin/elasticsearch

需要拿到一些token 登录密码什么的

然后ctrl+c

在后台启动 ./bin/elasticsearch -d

ES_JAVA_OPTS="-Xms1g -Xmx1g" ./elasticsearch-8.4.1/bin/elasticsearch -d 临时指定内存大小启动,也可以配置文件配置

也可以 在运行时候修改密码 这个密码是SpringBoot整合elaticsearch时候要用的

./elasticsearch-8.4.1/bin/elasticsearch-reset-password -u elastic

修改token 默认30分钟 这个token是Kibana Elasticsearch 用的可视化管理工具用的

./bin/elasticsearch-create-enrollment-token -s kibana

如果后台启动 可以

修改密码

./elasticsearch-8.8.2/bin/elasticsearch-reset-password -u elastic

输入y 然后会重新给你密码

额外创建一个token

./elasticsearch-8.8.2/bin/elasticsearch-create-enrollment-token -s kibana

也可以前台启动 然后记录下密码 和token 然后再后台启动

查看ES是不是运行起来了

curl -k -u elastic:你的密码 https://localhost:9200

安装Kibana

Download Kibana Free | Get Started Now | Elastic

下载后上传服务器

cd /usr/local/develop

tar -zxvf kibana-9.0.0-linux-x86_64.tar.gz

编辑kibana-9.0.0/config下的kibana.yml

启动kibana

./kibana-9.0.0/bin/kibana

报错原因

  • Kibana 9.0.0版本 不允许用elastic这个超级管理员账号直接连接了!

  • 它要求用一个叫做 service account token 的方式,来连接Elasticsearch。

  • 不能直接用 elastic用户名密码了,这是为了安全(防止Kibana不小心用超级管理员权限搞乱系统数据)。

第一种方式:用Service Account Token

./elasticsearch-9.0.0/bin/elasticsearch-service-tokens create elastic/kibana my-kibana-token

elastic/kibana表示专门给kibana用的 写死 my-kibana-token可以改

SERVICE_TOKEN elastic/kibana/my-kibana-token = asssssssdKQXJfd0NHVFJ3YVBYNmF0UTB4aVlB

重新编辑

server.port: 5601

server.host: "0.0.0.0"

elasticsearch.hosts: "https://你的ES服务器IP:9200"

不用username和password了!

elasticsearch.username: "kibana_system"

elasticsearch.password: "xxxxx"

改用service token

elasticsearch.serviceAccountToken:"Axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

开发环境,SSL验证先关掉(如果没正式证书)

elasticsearch.ssl.verificationMode: "none"

开放9200 和5601端口

启动kibana

./kibana-9.0.0/bin/kibana

nohup ./kibana-9.0.0/bin/kibana > kibana.log 2>&1 & 后台启动

用户名 elastic 密码

第二种方式: kibana_system传统账号密码模式

把原先的kibana杀掉

如果忘记了 kibana_system账号

./elasticsearch-8.4.1/bin/elasticsearch-reset-password -u kibana_system

server.port: 5601

server.host: "0.0.0.0"

elasticsearch.hosts: "https://127.0.0.1:9200"

elasticsearch.username: "kibana_system"

elasticsearch.password: "你的新密码,比如 kibana123"

开发环境关闭SSL证书验证

elasticsearch.ssl.verificationMode: "none"

nohup ./kibana-9.0.0/bin/kibana --allow-root > kibana.log 2>&1 &

用kibana_system 登录提示没有权限 kibana_system 是用来和elastic通信用的

可以用elastic

显示的全英文

在kibana配置文件种加

i18n.locale: "zh-CN"

杀掉kibana重启

相关推荐
黄同学real8 小时前
HJL WebAPI 项目日志入库实战:从建表到自动清理
后端
孟陬8 小时前
国外技术周刊 #140:在 Jeff Bezos 的私密 Campfire 峰会上,我学到了关于亿万富翁的事
前端·后端
小闹5498 小时前
CLAUDE CODE生成可视化数据库工具
后端
星星电灯猴8 小时前
全面解决Charles抓取HTTPS请求响应中文乱码问题的方法与技巧
后端·ios
道友可好9 小时前
写给 AI 的入职手册,AGENTS.md
前端·人工智能·后端
sandnes9 小时前
把ToolUse循环做到生产级-错误处理与可靠性五件套
后端
掘金者阿豪9 小时前
全维度拆解具身智能:底层技术 + 实战落地 + 全球产业竞争
后端
秋天的一阵风9 小时前
✨ 代码秒跳转、自动补全?全靠 LSP 和 AST!
前端·后端·ai编程
用户298698530149 小时前
Java 中的 HTML 解析:从文件读取、URL 抓取到数据提取
java·后端
AskHarries10 小时前
ZJF.AI:简单、稳定、免费的图片托管与外链分享平台
后端