【无标题】Elasticsearch for windows

一、windows安装Elasticsearch

1、Elasticsearch:用于存储数据、计算和搜索;

2、Logstash/Beats:用于数据搜集

3、Kibana:用于数据可视化

以上三个被称为ELK,常用语日志搜集、系统监控和状态分析

Elasticsearch安装(用于数据存储、计算和搜索):Download Elasticsearch | Elastic

Kibana安装():Download Kibana Free | Get Started Now | Elastic

IK分词器下载:Releases · infinilabs/analysis-ik · GitHub

二、下载Elasticsearch、Kibana、IK;

1、因为ES和Kibana属于同一家公司的产品,所以kibana的下载方式和elasticsearch基本一致,可放在同级文件夹。

2、ik分词器的版本一定要和elasticsearch保持一致,在elasticsearch目录的plugins目录中创建名为ik的文件夹,将下载好的ik分词器解压在创建的ik文件夹中

二、修改elasticsearch配置文件

1、首先在elasticsearch的config目录下,打开elasticsearch.yml

es集群名称

cluster.name: es-cluster

elasticsearch数据存放目录

path.data: D:\software\elasticSearch\elasticsearch-7.12.1\data\data

elasticsearch日志存放目录

path.logs: D:\software\elasticSearch\elasticsearch-7.12.1\data\logs

服务启动地址

network.host: 127.0.0.1

监听端口号

http.port: 9200/

#集群名字

cluster.name: my-elasticseach

#节点名字

node.name: node-01

network.host: 0.0.0.0

#访问es默认使用端口

http.port: 9200

ip访问策略 如果使用ip访问不了 一般就是这个配置出现问题

http.cors.enabled: true

#当设置允许跨域,默认为*,表示支持所有域名

http.cors.allow-origin: "*"

ES/bin/执行密码重置

elasticsearch-reset-password -u elastic

2、

其次在elasticsearch的bin目录下,修改elasticsearch配置文件

这里修改的目的是:大多数企业使用的是jdk1.8版本,而ES7.12.1使用的是jdk11版本,这里修改为ES使用内置的jdk,避免因为项目使用的jdk版本和ES使用的jdk版本不一致导致的一些问题

添加一下几行内容

#使用ES内置的jdk

export JAVA_HOME=D:\software\elasticSearch\elasticsearch-7.12.1\jdk\

export PATH=JAVA_HOME\\bin:PATH

#添加jdk判断

if -x "$JAVA_HOME\\bin" ; then

JAVA="D:\software\elasticSearch\elasticsearch-7.12.1\jdk\bin"

else

JAVA=`which java`

fi

完整配置如下:

#!/bin/bash

CONTROLLING STARTUP:

This script relies on a few environment variables to determine startup

behavior, those variables are:

ES_PATH_CONF -- Path to config directory

ES_JAVA_OPTS -- External Java Opts on top of the defaults set

Optionally, exact memory values can be set using the `ES_JAVA_OPTS`. Example

values are "512m", and "10g".

ES_JAVA_OPTS="-Xms8g -Xmx8g" ./bin/elasticsearch

#使用ES内置的jdk

#---开始---

export JAVA_HOME=D:\software\elasticSearch\elasticsearch-7.12.1\jdk\

export PATH=JAVA_HOME\\bin:PATH

#---结束---

source "`dirname "$0"`"/elasticsearch-env

CHECK_KEYSTORE=true

DAEMONIZE=false

for option in "$@"; do

case "$option" in

-h|--help|-V|--version)

CHECK_KEYSTORE=false

;;

-d|--daemonize)

DAEMONIZE=true

;;

esac

done

if -z "$ES_TMPDIR" ; then

ES_TMPDIR=`"JAVA" "XSHARE" -cp "$ES_CLASSPATH" org.elasticsearch.tools.launchers.TempDirectory`

fi

get keystore password before setting java options to avoid

conflicting GC configurations for the keystore tools

unset KEYSTORE_PASSWORD

KEYSTORE_PASSWORD=

if \[ $CHECK_KEYSTORE = true ] \

&& bin/elasticsearch-keystore has-passwd --silent

then

if ! read -s -r -p "Elasticsearch keystore password: " KEYSTORE_PASSWORD ; then

echo "Failed to read keystore password on console" 1>&2

exit 1

fi

fi

The JVM options parser produces the final JVM options to start Elasticsearch.

It does this by incorporating JVM options in the following way:

- first, system JVM options are applied (these are hardcoded options in the

parser)

- second, JVM options are read from jvm.options and jvm.options.d/*.options

- third, JVM options from ES_JAVA_OPTS are applied

- fourth, ergonomic JVM options are applied

ES_JAVA_OPTS=`export ES_TMPDIR; "JAVA" "XSHARE" -cp "ES_CLASSPATH" org.elasticsearch.tools.launchers.JvmOptionsParser "ES_PATH_CONF" "$ES_HOME/plugins"`

#添加jdk判断

#---开始---

if -x "$JAVA_HOME\\bin" ; then

JAVA="D:\software\elasticSearch\elasticsearch-7.12.1\jdk\bin"

else

JAVA=`which java`

fi

#---结束---

manual parsing to find out, if process should be detached

if \[ $DAEMONIZE = false ]; then

exec \

"$JAVA" \

"$XSHARE" \

$ES_JAVA_OPTS \

-Des.path.home="$ES_HOME" \

-Des.path.conf="$ES_PATH_CONF" \

-Des.distribution.flavor="$ES_DISTRIBUTION_FLAVOR" \

-Des.distribution.type="$ES_DISTRIBUTION_TYPE" \

-Des.bundled_jdk="$ES_BUNDLED_JDK" \

-cp "$ES_CLASSPATH" \

org.elasticsearch.bootstrap.Elasticsearch \

"@" \<\<\<"KEYSTORE_PASSWORD"

else

exec \

"$JAVA" \

"$XSHARE" \

$ES_JAVA_OPTS \

-Des.path.home="$ES_HOME" \

-Des.path.conf="$ES_PATH_CONF" \

-Des.distribution.flavor="$ES_DISTRIBUTION_FLAVOR" \

-Des.distribution.type="$ES_DISTRIBUTION_TYPE" \

-Des.bundled_jdk="$ES_BUNDLED_JDK" \

-cp "$ES_CLASSPATH" \

org.elasticsearch.bootstrap.Elasticsearch \

"$@" \

<<<"$KEYSTORE_PASSWORD" &

retval=$?

pid=$!

$retval -eq 0 || exit $retval

if ! -z "$ES_STARTUP_SLEEP_TIME" ; then

sleep $ES_STARTUP_SLEEP_TIME

fi

if ! ps -p $pid > /dev/null ; then

exit 1

fi

exit 0

fi

exit $?

3、

修改kibana配置文件

在kibana的安装目录的config目录下,修改kibana.yml配置文件

监听端口号

server.port: 5601

服务启动地址

server.host: "localhost"

es节点地址,可配置多个

elasticsearch.hosts: "http://localhost:9200"

4、

启动elasticsearch

在elasticsearch安装目录的bin目录中,双击elasticsearch.bat。

可以看到启动过程中成功加载ik分词器插件

5、接下来访问elasticsearch。在浏览器输入http://localhost:9200

6、

启动Kibana

在kibana的按照目录下,找到bin目录,双击kibana.bat即可启动kibana服务

7、启动完成后,浏览器访问http://localhost:5601,

相关推荐
云计算磊哥@1 小时前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发
天天进步20152 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
极客先躯2 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
Java面试题总结3 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
志栋智能3 小时前
超自动化巡检:提升MTTR,缩短业务影响时间
运维·自动化
kong@react4 小时前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker
睡不醒男孩0308234 小时前
第八篇:如何构建一站式 PostgreSQL 性能优化与智能管控平台?从盲目排查到 CLup 自动化运维演进
运维·postgresql·性能优化
某林2124 小时前
Isaac Sim 5.1.0 无头服务器部署与 RTX 显存段错误排障全记录
运维·服务器·docker·容器·isaac
m0_738120725 小时前
Docker 环境下 Vulfocus 靶场搭建全流程(附镜像源问题解决方案)
运维·服务器·网络·安全·docker·容器
二等饼干~za8986685 小时前
2026 主流 GEO 源码厂商实测:云罗 GEO、摘星智能、棋引科技技术与落地能力对比
大数据·运维·科技