windows下,elasticsearch的安装

本文详细介绍了在Windows系统中如何安装Elasticsearch,包括单实例下载安装步骤、设置为Windows服务、安装ElasticSearch-head插件以及解决访问异常问题。同时,文章还讲解了Elasticsearch集群的搭建过程。
摘要由CSDN通过智能技术生成

单实例下载安装

1.下载地址:https://www.elastic.co/cn/downloads/elasticsearch

2.下载后解压,如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTM4MTg2Mw==,size_16,color_FFFFFF,t_70

 

bin文件夹:es的操作命令包,包括启动命令;

config文件夹:配置文件目录;

data文件夹:es的数据存储目录,可以直接拷贝到其他地方或从其他地方直接拷贝使用;

jdk文件夹:es运行依赖的java环境,在低版本中没有此文件夹,则需要单独安装java环境(如果有jdk目录且安装了java环境,默认以安装的java环境运行);

lib文件夹:es的依赖库,比如Lucene;

logs文件夹:es运行日志;

modules文件夹:包含所有的es模块;

plugins文件夹:包含所有已经安装的插件;

3.进入bin目录下,双击执行elasticsearch.bat(或在bin目录下运行cmd命令执行elasticsearch),即可启动es,如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTM4MTg2Mw==,size_16,color_FFFFFF,t_70

4.出现上图所示的"started"日志则表示启动成功,可以访问127.0.0.1:9200测试(es默认监听9200端口),如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTM4MTg2Mw==,size_16,color_FFFFFF,t_70

以上信息和es监听端口一样,都可以通过../config/elasticsearch.yml 文件修改。

5.将es注册为windows服务

bin目录下有一个elasticsearch-service.bat脚本。
进入bin目录下执行:elasticsearch-service.bat install,执行成功之后即可在windows服务中找到es了,可以方便在此启动或关闭es服务,如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTM4MTg2Mw==,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTM4MTg2Mw==,size_16,color_FFFFFF,t_70

elasticsearch-service.bat后面可以执行如下命令:
install: 安装Elasticsearch服务;
remove: 删除已安装的Elasticsearch服务(如果启动则停止服务);
start: 启动Elasticsearch服务(如果已安装);
stop: 停止服务(如果启动);
manager:启动GUI来管理已安装的服务,比如修改es运行java依赖环境;

安装ElasticSearch-head插件

head插件是基于web的es可视化操作工具,该插件运行需要依赖nodejs环境:

1.安装nodejs环境

下载地址:https://nodejs.org/en/download/

选择下载适合自己电脑环境的.msi格式的安装程序,如下:

20201201215155504.png

此安装程序就和普通的windows应用安装过程一样,选择任意的目录安装即可,安装完成后的目录如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTM4MTg2Mw==,size_16,color_FFFFFF,t_70

其中,npm是目前版本的nodejs,安装时会一起安装,不用单独安装,作用是用来管理nodejs依赖包的。安装完成后的测试如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTM4MTg2Mw==,size_16,color_FFFFFF,t_70

2.安装grunt(可以不安装)

grunt是JavaScript的一个构建工具,可以进行打包压缩、测试、执行等等的工作。在很老的旧版本head插件中,必须使用grunt命令去构建项目,所以需要安装,目前配合nodejs的npm命令即可构建。

附上grunt官网安装参考:https://www.gruntjs.net/getting-started

切换到nodejs的安装目录中,执行命令:npm install -g grunt-cli
-g代表全局安装。安装路径为C:\Users\{yourname}\AppData\Roaming\npm,并且自动加入系统环境变量(安装过程稍慢,可以抽支烟休息下。以上所有过程以及后面的下载过程可以在github上找爬墙工具,一支烟的时间就可以下载完所需工具)。安装完成之后,执行查看版本号命令:grunt -version,即可测试是否安装成功,如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTM4MTg2Mw==,size_16,color_FFFFFF,t_70

3.下载head插件

下载地址:https://github.com/mobz/elasticsearch-head

下载完成后解压,如下:

2020120122304638.png

elasticsearch-head-master重要文件说明:

elasticsearch-head-master/Gruntfile.js文件:可以修改head插件监听的端口,限制访问head插件的机器等,如下:

找到connect属性,其中port是head插件监听的端口,hostname属性是后加上去的,表示那些机器可以访问head插件,默认是本机,加上hostname属性之后,则其他机器可以访问本机的head插件。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTM4MTg2Mw==,size_16,color_FFFFFF,t_70

elasticsearch-head-master/_site/app.js文件:可以修改监听的es地址和端口;

找到下面这行代码可以修改监听es的地址和端口。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTM4MTg2Mw==,size_16,color_FFFFFF,t_70

4.打包运行head插件

进入elasticsearch-head-master目录,执行命令:npm install,打包head插件项目,如下:

20201207204226360.png

接着再执行npm run start(安装了grunt之后还可以执行:grunt server),启动head插件,如下:

20201207204239108.png

备注:以后每次启动head插件,都在head插件所在目录执行npm run start即可启动。

5.修改es允许跨域访问

进入es安装目录的config文件夹下,修改elasticsearch.yml文件,配置完后重启下es服务。如下:

20201201225027710.png

# 允许head插件跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"

到此,elasticsearch和elasticsearch-head插件已安装配置完毕。

访问localhost:9100,即可进入通过head插件管理es,如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTM4MTg2Mw==,size_16,color_FFFFFF,t_70

到此,windows下,单实例版的ES已安装完成。

集群安装

1.将原先下载好的elasticsearch复制2份到任意目录(土豪机器多,可以复制到不同的主机)。注意:这里一定要是纯净的,未解压或刚解压未运行的都行

2.配置主节点,进入../config/elasticsearch.yml 文件

# 允许head插件跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"

# -----集群主节点配置-----
# 集群名称
cluster.name: elasticsearch-cluster
# 节点名称
node.name: master
# 是否作为主节点
node.master: true
# 绑定地址
network.host: 127.0.0.1
# 监听端口,默认是9200
http.port: 9200

3.配置从节点1,进入另外一个es的配置文件中

# -----集群从节点1配置-----
# 集群名称.整个集群需要名称保持一致
cluster.name: elasticsearch-cluster
# 节点名称
node.name: slave1
# 是否作为主节点.这里是从节点,不配置即可
# node.master: true|false
# 绑定地址
network.host: 127.0.0.1
# 监听端口,默认是9200.这里9200已经被主节点占用
http.port: 9201

# 发现集群主节点的配置,如果没有此项配置,从节点将找不到主节点
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]

4.配置从节点2,进入另外一个es的配置文件中

# -----集群从节点2配置-----
# 集群名称.整个集群需要名称保持一致
cluster.name: elasticsearch-cluster
# 节点名称
node.name: slave2
# 是否作为主节点.这里是从节点,不配置即可
# node.master: true|false
# 绑定地址
network.host: 127.0.0.1
# 监听端口,默认是9200.这里9200已经被主节点占用,9201被从节点1占用
http.port: 9202

# 发现集群主节点的配置,如果没有此项配置,从节点将找不到主节点
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]

5.分别重启(启动)三个es,然后访问head插件,如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTM4MTg2Mw==,size_16,color_FFFFFF,t_70

至此,elasticsearch的集群安装配置完成。

访问异常

配置完集群访问后,如果重启,建议先启动从节点,再启动主节点。

如果删掉从节点或只启动主节点,会有如下异常信息(集群被锁异常):

    org.elasticsearch.cluster.block.ClusterBlockException: blocked by: [SERVICE_UNAVAILABLE/1/state not recovered / initialized];
    at org.elasticsearch.cluster.block.ClusterBlocks.globalBlockedException(ClusterBlocks.java:190) ~[elasticsearch-7.10.0.jar:7.10.0]

org.elasticsearch.cluster.block.ClusterBlockException: blocked by: [SERVICE_UNAVAILABLE/1/state not recovered / initialized];
	at org.elasticsearch.cluster.block.ClusterBlocks.globalBlockedException(ClusterBlocks.java:190) ~[elasticsearch-7.10.0.jar:7.10.0]
......

解决:

删除data文件夹下的_state文件夹(../data/nodes/0/_state,不要删除整个data文件,不然数据没了),再重启。

 

 

好的,以下是在 Windows安装 ElasticSearch 的步骤: 1. 前置条件: - Java 运行环境,建议安装 Java 8 或以上版本。 - 下载 ElasticSearch 安装包,建议下载最新版。 2. 安装 ElasticSearch: - 解压下载的 ElasticSearch 压缩包。 - 修改 config 目录下的 elasticsearch.yml 文件: - 将 cluster.name 字段设置为一个唯一的集群名称。 - 将 node.name 字段设置为一个唯一的节点名称。 - 双击 bin 目录下的 elasticsearch.bat 文件启动 ElasticSearch 服务。 - 打开浏览器访问 http://localhost:9200/,如果看到以下信息,则说明 ElasticSearch 已经成功安装: ``` { "name" : "node-1", "cluster_name" : "my-application", "cluster_uuid" : "p7X5aTzVQ7C5KJpF6XvBBg", "version" : { "number" : "7.8.1", "build_flavor" : "default", "build_type" : "zip", "build_hash" : "b5ca9c58fb664ca8bf9e4057fc229b3396bf3a89", "build_date" : "2020-07-21T16:36:48.322471Z", "build_snapshot" : false, "lucene_version" : "8.5.1", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" } ``` 3. 配置 ElasticSearch: - 修改 elasticsearch.yml 文件以配置 ElasticSearch。例如,将 http.port 字段设置为 9200。 - 在 config 目录下创建一个新的文件 elasticsearch.bat,内容为: ``` @echo off cd /d %~dp0 bin\elasticsearch.bat ``` - 在 config 目录下创建一个新的文件 elasticsearch-service.bat,内容为: ``` @echo off setlocal set SERVICE_NAME=Elasticsearch set SERVICE_DESC=Elasticsearch set SERVICE_PATH=%~dp0 set SERVICE_START=%SERVICE_PATH%elasticsearch.bat set SERVICE_STOP=%SERVICE_PATH%bin\elasticsearch-stop.bat set SERVICE_WRAPPER=wrapper-windows-x86-32.exe set SERVICE_LOGS_PATH=%SERVICE_PATH%\logs set SERVICE_WORKING_PATH=%SERVICE_PATH% set SERVICE_TMP_PATH=%SERVICE_PATH%\tmp set SERVICE_JAVA_BIN=%JAVA_HOME%\bin\java.exe set SERVICE_JAVA_CLASSPATH=%SERVICE_PATH%\lib\*.jar set SERVICE_JAVA_OPTS=-Xms1g -Xmx1g set SERVICE_STDOUT_LOG_FILE=%SERVICE_LOGS_PATH%\stdout.log set SERVICE_STDERR_LOG_FILE=%SERVICE_LOGS_PATH%\stderr.log set SERVICE_PID_FILE=%SERVICE_TMP_PATH%\%SERVICE_NAME%.pid set SERVICE_DEPENDENCIES= set SERVICE_ACCOUNT=LocalSystem set SERVICE_STARTUP_TYPE=auto set SERVICE_FAILURE_ACTIONS=restart/60000/restart/60000/restart/60000 set SERVICE_WRAPPER_CONF=%SERVICE_PATH%\bin\wrapper.conf set SERVICE_WRAPPER_LOGFILE=%SERVICE_LOGS_PATH%\wrapper.log set SERVICE_WRAPPER_LOGLEVEL=INFO set SERVICE_WRAPPER_PIDFILE=%SERVICE_TMP_PATH%\wrapper.pid set SERVICE_WRAPPER_CONSOLE_LOGLEVEL=INFO set SERVICE_WRAPPER_LOGFILE_MAXSIZE=0 set SERVICE_WRAPPER_LOGFILE_MAXFILES=0 if not exist %SERVICE_TMP_PATH% ( mkdir %SERVICE_TMP_PATH% ) if not exist %SERVICE_LOGS_PATH% ( mkdir %SERVICE_LOGS_PATH% ) if not exist "%SERVICE_PATH%\bin\%SERVICE_WRAPPER%" ( echo "Wrapper not found at %SERVICE_PATH%\bin\%SERVICE_WRAPPER%" goto :eof ) set SERVICE_WRAPPER_CMD="%SERVICE_PATH%\bin\%SERVICE_WRAPPER%" -c %SERVICE_WRAPPER_CONF% set SERVICE_WRAPPER_CMD=%SERVICE_WRAPPER_CMD% -s %SERVICE_START% set SERVICE_WRAPPER_CMD=%SERVICE_WRAPPER_CMD% -p %SERVICE_PID_FILE% set SERVICE_WRAPPER_CMD=%SERVICE_WRAPPER_CMD% -Djava.class.path="%SERVICE_JAVA_CLASSPATH%" set SERVICE_WRAPPER_CMD=%SERVICE_WRAPPER_CMD% -Dwrapper.logfile="%SERVICE_WRAPPER_LOGFILE%" set SERVICE_WRAPPER_CMD=%SERVICE_WRAPPER_CMD% -Dwrapper.logfile.maxsize=%SERVICE_WRAPPER_LOGFILE_MAXSIZE% set SERVICE_WRAPPER_CMD=%SERVICE_WRAPPER_CMD% -Dwrapper.logfile.maxfiles=%SERVICE_WRAPPER_LOGFILE_MAXFILES% set SERVICE_WRAPPER_CMD=%SERVICE_WRAPPER_CMD% -Dwrapper.pidfile="%SERVICE_WRAPPER_PIDFILE%" set SERVICE_WRAPPER_CMD=%SERVICE_WRAPPER_CMD% -Dwrapper.console.loglevel=%SERVICE_WRAPPER_CONSOLE_LOGLEVEL% set SERVICE_WRAPPER_CMD=%SERVICE_WRAPPER_CMD% -Dwrapper.logfile.loglevel=%SERVICE_WRAPPER_LOGLEVEL% echo Installing %SERVICE_NAME% service... %SERVICE_WRAPPER_CMD% -i if not errorlevel 1 ( echo Starting %SERVICE_NAME% service... net start %SERVICE_NAME% ) else ( echo Failed to install %SERVICE_NAME% service. ) endlocal ``` - 运行 elasticsearch-service.bat 文件以安装 ElasticSearch 服务。 以上就是在 Windows安装 ElasticSearch 的步骤。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值