前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >elasticsearch.bat闪退的解决方案

elasticsearch.bat闪退的解决方案

作者头像
全栈程序员站长
发布2022-02-20 09:29:31
1.2K0
发布2022-02-20 09:29:31
举报

大家好,又见面了,我是全栈君。

使用Easticsearc时侯启动时,点击elasticsearch.bat发生闪退。 原因:允许elasticsearch跨越访问时,在修改了elasticsearch的配置文件,并且以非UTF-8的格式修改的,结果 就报错了。 添加跨域访问: http.cors.enabled: true http.cors.allow‐origin: "*" 日志: java.lang.IllegalArgumentException: unknown setting [http.cors.allow�\origin] did you mean [http.cors.allow-origin]? 问题:查看日志文件可以看出allowe-origin中的符号没有识别。 解决:原因是在修改elasticsearch.yml时用的notepad++,默认的是ANSI 编码,重新修改配置文件,以UTF-8编码修改并保存。(注意:修改elasticsearch.yml最好只用utf-8编码)

elasticsearch:6.2.1

jdk:1.8.0.241 [ java -version]

我的elasticsearch.yml 配置 ,如下:

代码语言:javascript
复制
# ======================== Elasticsearch Configuration =========================
#
# NOTE: Elasticsearch comes with reasonable defaults for most settings.
#       Before you set out to tweak and tune the configuration, make sure you
#       understand what are you trying to accomplish and the consequences.
#
# The primary way of configuring a node is via this file. This template lists
# the most important settings you may want to configure for a production cluster.
#
# Please consult the documentation for further information on configuration options:
# https://www.elastic.co/guide/en/elasticsearch/reference/index.html
#
# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
##配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称。
cluster.name: lxw-application
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
##节点名,通常一台物理服务器就是一个节点,es会默认随机指定一个名字,建议指定一个有意义的名称,方便管理
node.name: lxw-node-1
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
node.master: true  #主节点
node.data: true  #数据节点
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#索引目录
path.data: D:\softwore\elasticsearch-6.2.1\data

# Path to log files:
#日志
path.logs: D:\softwore\elasticsearch-6.2.1\logs
#
# ----------------------------------- Memory -----------------------------------
#
# Lock the memory on startup:
#
#bootstrap.memory_lock: true
#
# Make sure that the heap size is set to about half the memory available
# on the system and that the owner of the process is allowed to use this
# limit.
#
# Elasticsearch performs poorly when the system is swapping the memory.
#
# ---------------------------------- Network -----------------------------------
#
# By default Elasticsearch is only accessible on localhost. Set a different
# address here to expose this node on the network:
##绑定ip地址 我的问题是改的这里
#network.host: 0.0.0.0
network.host: 127.0.0.1

#
# By default Elasticsearch listens for HTTP traffic on the first free port it
# finds starting at 9200. Set a specific HTTP port here:
#暴露的http端口
http.port: 9200

#内部端口
transport.tcp.port: 9300 

#  跨域设置
http.cors.enabled: true   
http.cors.allow-origin: "*"

#
# For more information, consult the network module documentation.
#
# --------------------------------- Discovery ----------------------------------
#
# Pass an initial list of hosts to perform discovery when this node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
#
#discovery.seed_hosts: ["host1", "host2"]
#
# Bootstrap the cluster using an initial set of master-eligible nodes:
#
#cluster.initial_master_nodes: ["node-1", "node-2"]
#
# For more information, consult the discovery and cluster formation module documentation.
#

#设置集群中master节点的初始列表
discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300", "0.0.0.0:9301", "0.0.0.0:9302"] 

 #主结点数量的最少值 ,此值的公式为:(master_eligible_nodes / 2) + 1 ,比如:有3个符合要求的主结点,那么这里要设置为2。
discovery.zen.minimum_master_nodes: 1 

# ---------------------------------- Various -----------------------------------
#
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true

报错如下:

elasticsearch.bat闪退的解决方案
elasticsearch.bat闪退的解决方案
代码语言:javascript
复制
D:\softwore\elasticsearch-6.2.1\bin>elasticsearch.bat
[2021-08-16T14:56:26,659][INFO ][o.e.n.Node               ] [lxw-node-1] initializing ...
[2021-08-16T14:56:26,753][INFO ][o.e.e.NodeEnvironment    ] [lxw-node-1] using [1] data paths, mounts [[(D:)]], net usable_space [380.2gb], net total_space [390.6gb], types [NTFS]
[2021-08-16T14:56:26,754][INFO ][o.e.e.NodeEnvironment    ] [lxw-node-1] heap size [990.7mb], compressed ordinary object pointers [true]
[2021-08-16T14:56:26,756][INFO ][o.e.n.Node               ] [lxw-node-1] node name [lxw-node-1], node ID [JdIIBJ5NRYSD52RuvkxTiQ]
[2021-08-16T14:56:26,756][INFO ][o.e.n.Node               ] [lxw-node-1] version[6.2.1], pid[13648], build[7299dc3/2018-02-07T19:34:26.990113Z], OS[Windows 10/10.0/amd64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_241/25.241-b07]
[2021-08-16T14:56:26,757][INFO ][o.e.n.Node               ] [lxw-node-1] JVM arguments [-Xms1g, -Xmx1g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Djava.io.tmpdir=C:\Users\LEJU\AppData\Local\Temp\elasticsearch, -XX:+HeapDumpOnOutOfMemoryError, -XX:+PrintGCDetails, -XX:+PrintGCDateStamps, -XX:+PrintTenuringDistribution, -XX:+PrintGCApplicationStoppedTime, -Xloggc:logs/gc.log, -XX:+UseGCLogFileRotation, -XX:NumberOfGCLogFiles=32, -XX:GCLogFileSize=64m, -Delasticsearch, -Des.path.home=D:\softwore\elasticsearch-6.2.1, -Des.path.conf=D:\softwore\elasticsearch-6.2.1\config]
[2021-08-16T14:56:27,485][INFO ][o.e.p.PluginsService     ] [lxw-node-1] loaded module [aggs-matrix-stats]
[2021-08-16T14:56:27,485][INFO ][o.e.p.PluginsService     ] [lxw-node-1] loaded module [analysis-common]
[2021-08-16T14:56:27,493][INFO ][o.e.p.PluginsService     ] [lxw-node-1] loaded module [ingest-common]
[2021-08-16T14:56:27,494][INFO ][o.e.p.PluginsService     ] [lxw-node-1] loaded module [lang-expression]
[2021-08-16T14:56:27,494][INFO ][o.e.p.PluginsService     ] [lxw-node-1] loaded module [lang-mustache]
[2021-08-16T14:56:27,496][INFO ][o.e.p.PluginsService     ] [lxw-node-1] loaded module [lang-painless]
[2021-08-16T14:56:27,497][INFO ][o.e.p.PluginsService     ] [lxw-node-1] loaded module [mapper-extras]
[2021-08-16T14:56:27,497][INFO ][o.e.p.PluginsService     ] [lxw-node-1] loaded module [parent-join]
[2021-08-16T14:56:27,498][INFO ][o.e.p.PluginsService     ] [lxw-node-1] loaded module [percolator]
[2021-08-16T14:56:27,498][INFO ][o.e.p.PluginsService     ] [lxw-node-1] loaded module [rank-eval]
[2021-08-16T14:56:27,499][INFO ][o.e.p.PluginsService     ] [lxw-node-1] loaded module [reindex]
[2021-08-16T14:56:27,499][INFO ][o.e.p.PluginsService     ] [lxw-node-1] loaded module [repository-url]
[2021-08-16T14:56:27,500][INFO ][o.e.p.PluginsService     ] [lxw-node-1] loaded module [transport-netty4]
[2021-08-16T14:56:27,500][INFO ][o.e.p.PluginsService     ] [lxw-node-1] loaded module [tribe]
[2021-08-16T14:56:27,501][INFO ][o.e.p.PluginsService     ] [lxw-node-1] no plugins loaded
[2021-08-16T14:56:28,679][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [lxw-node-1] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalArgumentException: unknown setting [http.cors.allow鈥恛rigin] did you mean [http.cors.allow-origin]?
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-6.2.1.jar:6.2.1]
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-6.2.1.jar:6.2.1]
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.2.1.jar:6.2.1]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.2.1.jar:6.2.1]
        at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.2.1.jar:6.2.1]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-6.2.1.jar:6.2.1]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:85) ~[elasticsearch-6.2.1.jar:6.2.1]
Caused by: java.lang.IllegalArgumentException: unknown setting [http.cors.allow鈥恛rigin] did you mean [http.cors.allow-origin]?
        at org.elasticsearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:346) ~[elasticsearch-6.2.1.jar:6.2.1]
        at org.elasticsearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:310) ~[elasticsearch-6.2.1.jar:6.2.1]
        at org.elasticsearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:284) ~[elasticsearch-6.2.1.jar:6.2.1]
        at org.elasticsearch.common.settings.SettingsModule.<init>(SettingsModule.java:134) ~[elasticsearch-6.2.1.jar:6.2.1]
        at org.elasticsearch.node.Node.<init>(Node.java:331) ~[elasticsearch-6.2.1.jar:6.2.1]
        at org.elasticsearch.node.Node.<init>(Node.java:246) ~[elasticsearch-6.2.1.jar:6.2.1]
        at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:213) ~[elasticsearch-6.2.1.jar:6.2.1]
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:213) ~[elasticsearch-6.2.1.jar:6.2.1]
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:323) ~[elasticsearch-6.2.1.jar:6.2.1]
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:121) ~[elasticsearch-6.2.1.jar:6.2.1]

解决方法:

将原来的:注意版本问题,不同版本兼容性不一样

elasticsearch.bat闪退的解决方案
elasticsearch.bat闪退的解决方案
elasticsearch.bat闪退的解决方案
elasticsearch.bat闪退的解决方案
elasticsearch.bat闪退的解决方案
elasticsearch.bat闪退的解决方案

补充:解决Elasticsearch(Windows)闪退问题

进入Elasticsearch安装目录下的config目录,修改elasticsearch.yml文件.在文件的末尾加入以下代码

代码语言:javascript
复制
http.cors.enabled: true 
http.cors.allow-origin: "*"
cluster.name: pengliang
node.name: master
node.master: true
network.host: 127.0.0.1

发现持续闪退。这时候我一开始只加入前两行的时候,发现可以正常运行。于是推理了一下,其实可以看日志,但是可能我比较懒,直接感觉加的ip绑定有问题,于是删除最后一行,重新保存启动,发现可以正常运行,好像是因为Elasticsearch是夸域的,具体可能是什么问题,没有细查

参考:elasticsearch.bat闪退的解决方案

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/111477.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档