<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Heck's  Blog]]></title> 
<link>https://www.heckjj.com/index.php</link> 
<description><![CDATA[一瞬间的决定，往往可以改变很多，事实上，让自己成功的往往不是知识，是精神！ 如果你总是为自己找借口，那只好让成功推迟。执行力，今天！]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Heck's  Blog]]></copyright>
<item>
<link>https://www.heckjj.com/post//</link>
<title><![CDATA[Windows上安装Elasticsearch]]></title> 
<author>Heck &lt;@hecks.tk&gt;</author>
<category><![CDATA[运营管理]]></category>
<pubDate>Mon, 27 Feb 2023 15:28:06 +0000</pubDate> 
<guid>https://www.heckjj.com/post//</guid> 
<description>
<![CDATA[ 
	Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎，基于RESTful web接口。Elasticsearch是用Java语言开发的，并作为Apache许可条款下的开放源码发布，是一种流行的企业级搜索引擎。Elasticsearch用于云计算中，能够达到实时搜索，稳定，可靠，快速，安装使用方便。官方客户端在Java、.NET（C#）、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示，Elasticsearch是最受欢迎的企业搜索引擎，其次是Apache Solr，也是基于Lucene。<br/><br/>Download Elasticsearch<br/><br/><a href="https://www.elastic.co/cn/downloads/elasticsearch" target="_blank">https://www.elastic.co/cn/downloads/elasticsearch</a><br/><br/><br/>因为这里本机已经安装运行，为了演示从零开始，我们在Windows沙盒中演示，Win10操作系统的沙盒http://www.javacui.com/tool/660.html 。<br/>因为沙盒开始是一个纯净的系统，所以需要安装ZIP工具，安装文本编辑工具方便修改配置文件。<br/><br/><br/>这里下载了elasticsearch-8.2.2-windows-x86_64，可以根据网站提示下载最新版本，虽然ES依赖JDK，但是ES安装文件内置了JDK，因为纯净的系统上无需安装再次安装JDK，直接运行bin下elasticsearch.bat即可。<br/><br/>初次启动，显示的配置信息，一定要保存下来，以备使用。<br/><br/><br/>访问https://127.0.0.1:9200，注意是HTTPS不是HTTP，用户名密码刚才控制台已经打印出来了。<br/><br/><br/>证明安装成功。<br/><br/><br/>问题1：内存直接占满<br/><br/>此时你打开任务管理器，发现一个问题，ES启动后，占据了沙盒的全部内存。我的本机是32G的，启动也是直接打满，导致系统卡爆。<br/><br/>因此我们需要配置启动内存，配置文件conf/jvm.options<br/><br/><br/>################################################################<br/>## IMPORTANT: JVM heap size<br/>################################################################<br/>##<br/>## The heap size is automatically configured by Elasticsearch<br/>## based on the available memory in your system and the roles<br/>## each node is configured to fulfill. If specifying heap is<br/>## required, it should be done through a file in jvm.options.d,<br/>## which should be named with .options suffix, and the min and<br/>## max should be set to the same value. For example, to set the<br/>## heap to 4 GB, create a new file in the jvm.options.d<br/>## directory containing these lines:<br/>##<br/>-Xms1g<br/>-Xmx1g<br/>在这里修改为合适的内存，这里修改为1G，沙盒全部内存是4G，合理配置即可。<br/><br/><br/>问题2：二次启动报错<br/><br/>修改配置文件后，再次启动，这时不会再次打印第一次启动时的配置信息了。但是报错了<br/><br/><br/>[2022-06-16T10:40:55,562][ERROR][o.e.i.g.GeoIpDownloader&nbsp;&nbsp;] [06A8DD4C-A847-4] exception during geoip databases update<br/>org.elasticsearch.ElasticsearchException: not all primary shards of [.geoip_databases] index are active<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.elasticsearch.ingest.geoip.GeoIpDownloader.updateDatabases(GeoIpDownloader.java:135) ~[ingest-geoip-8.2.2.jar:8.2.2]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.elasticsearch.ingest.geoip.GeoIpDownloader.runDownloader(GeoIpDownloader.java:275) [ingest-geoip-8.2.2.jar:8.2.2]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.elasticsearch.ingest.geoip.GeoIpDownloaderTaskExecutor.nodeOperation(GeoIpDownloaderTaskExecutor.java:102) [ingest-geoip-8.2.2.jar:8.2.2]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.elasticsearch.ingest.geoip.GeoIpDownloaderTaskExecutor.nodeOperation(GeoIpDownloaderTaskExecutor.java:48) [ingest-geoip-8.2.2.jar:8.2.2]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.elasticsearch.persistent.NodePersistentTasksExecutor$1.doRun(NodePersistentTasksExecutor.java:42) [elasticsearch-8.2.2.jar:8.2.2]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:773) [elasticsearch-8.2.2.jar:8.2.2]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26) [elasticsearch-8.2.2.jar:8.2.2]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.Thread.run(Thread.java:833) [?:?]<br/>因为他启动时会去更新地图的一些数据库，这里直接禁掉即可，用到时再说，配置文件conf/elasticsearch.yml，增加配置<br/><br/>ingest.geoip.downloader.enabled: false<br/><br/><br/>问题3：本地测试不想用用户密码和SSL<br/><br/>本身ES服务器也不会对外开放，增加用户密码和SSL对于初学来说，徒增不必要的麻烦，这里直接干掉，还是那句话，用到再说。<br/><br/>配置文件conf/elasticsearch.yml，修改配置<br/><br/># Enable security features<br/>xpack.security.enabled: false<br/> <br/>xpack.security.enrollment.enabled: false<br/> <br/># Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents<br/>xpack.security.http.ssl:<br/>&nbsp;&nbsp;enabled: false<br/>&nbsp;&nbsp;keystore.path: certs/http.p12<br/> <br/># Enable encryption and mutual authentication between cluster nodes<br/>xpack.security.transport.ssl:<br/>&nbsp;&nbsp;enabled: false<br/>&nbsp;&nbsp;verification_mode: certificate<br/>&nbsp;&nbsp;keystore.path: certs/transport.p12<br/>&nbsp;&nbsp;truststore.path: certs/transport.p12<br/># Create a new cluster with the current node only<br/># Additional nodes can still join the cluster later<br/>cluster.initial_master_nodes: [&quot;06A8DD4C-A847-4&quot;]<br/> <br/># Allow HTTP API connections from anywhere<br/># Connections are encrypted and require user authentication<br/>http.host: 0.0.0.0<br/> <br/># Allow other nodes to join the cluster from anywhere<br/># Connections are encrypted and mutually authenticated<br/>#transport.host: 0.0.0.0<br/>原来都是true，这里都改成了false，前面是要求用户登录的，后面是要求SSL的，没必要，干掉。<br/><br/>再次启动访问http://127.0.0.1:9200 ,可以直接打开使用。<br/><br/>
]]>
</description>
</item><item>
<link>https://www.heckjj.com/post//#blogcomment</link>
<title><![CDATA[[评论] Windows上安装Elasticsearch]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://www.heckjj.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>