龚哥 發表於 2022-3-2 23:53:00

Ubuntu安装Elasticsearch

<p><strong>1、安装</strong></p>
<p>方式一:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">#导入密钥
</span><span style="color: rgba(0, 0, 255, 1)">wget</span> -qO - https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg</span>
<span style="color: rgba(0, 0, 0, 1)">
#将存储库定义保存到 </span>/etc/apt/sources.list.d/elastic-<span style="color: rgba(128, 0, 128, 1)">7</span><span style="color: rgba(0, 0, 0, 1)">.x.list:
</span><span style="color: rgba(0, 0, 255, 1)">echo</span> <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">deb https://artifacts.elastic.co/packages/7.x/apt stable main</span><span style="color: rgba(128, 0, 0, 1)">"</span> | <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">tee</span> /etc/apt/sources.list.d/elastic-<span style="color: rgba(128, 0, 128, 1)">7</span><span style="color: rgba(0, 0, 0, 1)">.x.list

#安装
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> apt-get update &amp;&amp; <span style="color: rgba(0, 0, 255, 1)">sudo</span> apt-get <span style="color: rgba(0, 0, 255, 1)">install</span> elasticsearch</pre>
</div>
<p>方式二:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">#手动下载安装
</span><span style="color: rgba(0, 0, 255, 1)">wget</span> https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.1-amd64.deb</span>
<span style="color: rgba(0, 0, 255, 1)">wget</span> https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.1-amd64.deb.sha512</span>
shasum -a <span style="color: rgba(128, 0, 128, 1)">512</span> -c elasticsearch-<span style="color: rgba(128, 0, 128, 1)">7.17</span>.<span style="color: rgba(128, 0, 128, 1)">1</span>-<span style="color: rgba(0, 0, 0, 1)">amd64.deb.sha512
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> dpkg -i elasticsearch-<span style="color: rgba(128, 0, 128, 1)">7.17</span>.<span style="color: rgba(128, 0, 128, 1)">1</span>-<span style="color: rgba(0, 0, 0, 1)">amd64.deb

#删除下载文件
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">rm</span> -r elasticsearch-<span style="color: rgba(128, 0, 128, 1)">7.17</span>.<span style="color: rgba(128, 0, 128, 1)">1</span>-amd64.deb &amp;&amp; <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">rm</span> -r elasticsearch-<span style="color: rgba(128, 0, 128, 1)">7.17</span>.<span style="color: rgba(128, 0, 128, 1)">1</span>-<span style="color: rgba(0, 0, 0, 1)">amd64.deb.sha512

#运行 Elasticsearch systemd
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> /bin/systemctl daemon-reload</pre>
</div>
<p><strong>2、启动Elasticsearch</strong></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> systemctl enable elasticsearch.service &amp;&amp; <span style="color: rgba(0, 0, 255, 1)">sudo</span> systemctl start elasticsearch.service</pre>
</div>
<p><strong>3、验证Elasticsearch是否正常</strong></p>
<div class="cnblogs_code">
<pre>curl -X GET <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">localhost:9200/</span><span style="color: rgba(128, 0, 0, 1)">"</span></pre>
</div>
<p>也可查看官方安装文档:https://www.elastic.co/guide/en/elasticsearch/reference/7.17/deb.html<br></p>
<p><strong>4、安装ik和pinyin分词插件</strong></p>
<p>查看es安装的版本,然后找到对应ik分词版本,要对应哟,将下载的ik包解压到es对应的目录下,然后重新启动es即可;</p>
<p>ik安装:<br>ik下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases</p>
<div class="cnblogs_code">
<pre>ubuntu@VM-<span style="color: rgba(128, 0, 128, 1)">0-3</span>-ubuntu:~$ cd /usr/share/elasticsearch/plugins &amp;&amp; <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">mkdir</span><span style="color: rgba(0, 0, 0, 1)"> ik
ubuntu@VM</span>-<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">3</span>-ubuntu:/usr/share/elasticsearch/<span style="color: rgba(0, 0, 0, 1)">plugins$ cd ik
ubuntu@VM</span>-<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">3</span>-ubuntu:/usr/share/elasticsearch/plugins/ik$ <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">wget</span> https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.1/elasticsearch-analysis-ik-7.17.1.zip</span>
ubuntu@VM-<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">3</span>-ubuntu:/usr/share/elasticsearch/plugins/ik$ <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">unzip</span> elasticsearch-analysis-ik-<span style="color: rgba(128, 0, 128, 1)">7.17</span>.<span style="color: rgba(128, 0, 128, 1)">1</span>.<span style="color: rgba(0, 0, 255, 1)">zip</span><span style="color: rgba(0, 0, 0, 1)">
ubuntu@VM</span>-<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">3</span>-ubuntu:/usr/share/elasticsearch/plugins/ik$ <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">rm</span> -r elasticsearch-analysis-ik-<span style="color: rgba(128, 0, 128, 1)">7.17</span>.<span style="color: rgba(128, 0, 128, 1)">1</span>.<span style="color: rgba(0, 0, 255, 1)">zip</span><span style="color: rgba(0, 0, 0, 1)">
ubuntu@VM</span>-<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">3</span>-ubuntu:/usr/share/elasticsearch/plugins/ik$ <span style="color: rgba(0, 0, 255, 1)">ls</span><span style="color: rgba(0, 0, 0, 1)">
commons</span>-codec-<span style="color: rgba(128, 0, 128, 1)">1.9</span>.jar    config                              httpclient-<span style="color: rgba(128, 0, 128, 1)">4.5</span>.<span style="color: rgba(128, 0, 128, 1)">2</span>.jarplugin-<span style="color: rgba(0, 0, 0, 1)">descriptor.properties
commons</span>-logging-<span style="color: rgba(128, 0, 128, 1)">1.2</span>.jarelasticsearch-analysis-ik-<span style="color: rgba(128, 0, 128, 1)">7.17</span>.<span style="color: rgba(128, 0, 128, 1)">1</span>.jarhttpcore-<span style="color: rgba(128, 0, 128, 1)">4.4</span>.<span style="color: rgba(128, 0, 128, 1)">4</span>.jar    plugin-<span style="color: rgba(0, 0, 0, 1)">security.policy</span></pre>
</div>
<p>pinyin安装:<br>pinyin下载地址:https://github.com/medcl/elasticsearch-analysis-pinyin/releases</p>
<div class="cnblogs_code">
<pre>ubuntu@VM-<span style="color: rgba(128, 0, 128, 1)">16</span>-<span style="color: rgba(128, 0, 128, 1)">8</span>-ubuntu:/usr/share/elasticsearch/plugins$ <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">mkdir</span><span style="color: rgba(0, 0, 0, 1)"> pinyin
ubuntu@VM</span>-<span style="color: rgba(128, 0, 128, 1)">16</span>-<span style="color: rgba(128, 0, 128, 1)">8</span>-ubuntu:/usr/share/elasticsearch/<span style="color: rgba(0, 0, 0, 1)">plugins$ cd pinyin
ubuntu@VM</span>-<span style="color: rgba(128, 0, 128, 1)">16</span>-<span style="color: rgba(128, 0, 128, 1)">8</span>-ubuntu:/usr/share/elasticsearch/plugins/pinyin$ <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">wget</span> https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v7.17.1/elasticsearch-analysis-pinyin-7.17.1.zip</span>
ubuntu@VM-<span style="color: rgba(128, 0, 128, 1)">16</span>-<span style="color: rgba(128, 0, 128, 1)">8</span>-ubuntu:/usr/share/elasticsearch/plugins/pinyin$ <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">unzip</span> elasticsearch-analysis-pinyin-<span style="color: rgba(128, 0, 128, 1)">7.17</span>.<span style="color: rgba(128, 0, 128, 1)">1</span>.<span style="color: rgba(0, 0, 255, 1)">zip</span><span style="color: rgba(0, 0, 0, 1)">
ubuntu@VM</span>-<span style="color: rgba(128, 0, 128, 1)">16</span>-<span style="color: rgba(128, 0, 128, 1)">8</span>-ubuntu:/usr/share/elasticsearch/plugins/pinyin$ <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">rm</span> -r elasticsearch-analysis-pinyin-<span style="color: rgba(128, 0, 128, 1)">7.17</span>.<span style="color: rgba(128, 0, 128, 1)">1</span>.<span style="color: rgba(0, 0, 255, 1)">zip</span><span style="color: rgba(0, 0, 0, 1)">
ubuntu@VM</span>-<span style="color: rgba(128, 0, 128, 1)">16</span>-<span style="color: rgba(128, 0, 128, 1)">8</span>-ubuntu:/usr/share/elasticsearch/plugins/pinyin$ <span style="color: rgba(0, 0, 255, 1)">ls</span><span style="color: rgba(0, 0, 0, 1)">
elasticsearch</span>-analysis-pinyin-<span style="color: rgba(128, 0, 128, 1)">7.17</span>.<span style="color: rgba(128, 0, 128, 1)">1</span>.jarnlp-lang-<span style="color: rgba(128, 0, 128, 1)">1.7</span>.jarplugin-descriptor.properties</pre>
</div>
<p>STConvert安装:<br>STConvert下载地址:https://github.com/medcl/elasticsearch-analysis-stconvert/releases<br></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">#重启后插件生效
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span><span style="color: rgba(0, 0, 0, 1)"> systemctl restart elasticsearch
#查看已安装的插件
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> /usr/share/elasticsearch/bin/elasticsearch-plugin list</pre>
</div>
<p><strong>5、其它</strong></p>
<p>Elasticsearch 有三个配置文件:</p>
<p>elasticsearch.yml用于配置 Elasticsearch<br>jvm.options用于配置 Elasticsearch JVM 设置<br>log4j2.properties用于配置 Elasticsearch 日志记录</p>
<p>这些文件位于 config 目录中</p>
<p>Elasticsearch数据和日志目录</p>
<div class="cnblogs_code">
<pre><span>数据目录位于
/var/lib/<span>elasticsearch

日志目录位于
/var/log/<span>elasticsearch

配置文件目录位于
/etc/elasticsearch<br><br>打开配置文件<br>sudo vim /etc/elasticsearch/elasticsearch.yml<br></span></span></span></pre>
</div>
<p>修改配置</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">更改数据和日志目录
</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">、先停止实例
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">kill</span> -<span style="color: rgba(128, 0, 128, 1)">9458</span><span style="color: rgba(0, 0, 0, 1)"> pid

</span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">、创建目录
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">mkdir</span> -p /home/d/elasticsearch/<span style="color: rgba(0, 0, 0, 1)">data
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">mkdir</span> -p /home/d/elasticsearch/<span style="color: rgba(0, 0, 0, 1)">log

</span><span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">、授权为es用户
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">chown</span> -R elasticsearch:elasticsearch /home/d/elasticsearch/<span style="color: rgba(0, 0, 0, 1)">data
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">chown</span> -R elasticsearch:elasticsearch /home/d/elasticsearch/<span style="color: rgba(0, 0, 0, 1)">log

</span><span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">、修改es配置文件
path.data: </span>/home/d/elasticsearch/<span style="color: rgba(0, 0, 0, 1)">data
path.logs: </span>/home/d/elasticsearch/<span style="color: rgba(0, 0, 0, 1)">log

</span><span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">、重启es
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> systemctl restart elasticsearch</pre>
</div>
<p>&nbsp;开启远程访问</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">打开es配置文件
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> vim /etc/elasticsearch/<span style="color: rgba(0, 0, 0, 1)">elasticsearch.yml

修改以下节点
network.host: </span><span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span><span style="color: rgba(0, 0, 0, 1)">
discovery.seed_hosts: [</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">172.17.0.3</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">]

重启生效
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span><span style="color: rgba(0, 0, 0, 1)"> systemctl restart elasticsearch

访问测试
curl </span>-X GET <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">172.17.0.3:9200/</span><span style="color: rgba(128, 0, 0, 1)">"</span></pre>
</div>
<p>&nbsp;network.host:https://www.elastic.co/guide/en/elasticsearch/reference/7.17/important-settings.html#network.host</p>
<p>&nbsp;开启安全验证</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">开启最低安全验证
打开es配置文件
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> vim /etc/elasticsearch/<span style="color: rgba(0, 0, 0, 1)">elasticsearch.yml
添加以下设置
xpack.security.enabled: </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">
如果是单节点,添加以下设置可确保您的节点不会无意中连接到可能在您的网络上运行的其他集群
discovery.type: single</span>-<span style="color: rgba(0, 0, 0, 1)">node

重启es
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span><span style="color: rgba(0, 0, 0, 1)"> systemctl restart elasticsearch

随机生成密码
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> /usr/share/elasticsearch/bin/elasticsearch-setup-<span style="color: rgba(0, 0, 0, 1)">passwords auto

使用自己的密码
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> /usr/share/elasticsearch/bin/elasticsearch-setup-<span style="color: rgba(0, 0, 0, 1)">passwords interactive

重启es
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span><span style="color: rgba(0, 0, 0, 1)"> systemctl restart elasticsearch

例如:
ubuntu@VM</span>-<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">3</span>-ubuntu:/$ <span style="color: rgba(0, 0, 255, 1)">sudo</span> /usr/share/elasticsearch/bin/elasticsearch-setup-<span style="color: rgba(0, 0, 0, 1)">passwords interactive
Initiating the setup of passwords </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue y


Enter password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> :
Reenter password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> :
Enter password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> :
passwords must be at least [</span><span style="color: rgba(128, 0, 128, 1)">6</span>] characters <span style="color: rgba(0, 0, 255, 1)">long</span><span style="color: rgba(0, 0, 0, 1)">
Try again.
Enter password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> :
Reenter password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> :
Passwords </span><span style="color: rgba(0, 0, 255, 1)">do</span><span style="color: rgba(0, 0, 0, 1)"> not match.
Try again.
Enter password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> :
Reenter password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> :
Enter password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> :
Reenter password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> :
Enter password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> :
Reenter password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> :
Enter password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> :
Reenter password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> :
Enter password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> :
Reenter password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> :
Changed password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> user
Changed password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> user
Changed password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> user
Changed password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> user
Changed password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> user
Changed password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> user
Changed password </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> user



#测试验证
curl </span>-X GET <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">172.17.0.3:9200/</span><span style="color: rgba(128, 0, 0, 1)">"</span> -<span style="color: rgba(0, 0, 0, 1)">u username:password


#修改密码
curl </span>-XPOST -u elastic <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">172.17.0.3:9200/_security/user/账号/_password</span><span style="color: rgba(128, 0, 0, 1)">"</span> -H <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Content-Type: application/json</span><span style="color: rgba(128, 0, 0, 1)">'</span> -d<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">{"password" : "旧密码"}</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
#回车后输入新密码,返回{}表示设置成功</span></pre>
</div>
<p>安全相关说明:https://www.elastic.co/guide/en/elasticsearch/reference/7.17/setup-xpack.html</p>
<p><strong>生产优化</strong></p>
<p>1、更改资源限制</p>
<p>通过编辑文件为特定用户设置持久限制。将elasticsearch用户的最大打开文件数设置为65,535:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> vim /etc/security/<span style="color: rgba(0, 0, 0, 1)">limits.conf

在打开的文件中加入
elasticsearch</span>-nofile<span style="color: rgba(128, 0, 128, 1)">65535</span></pre>
</div>
<p>2、禁用所有交换文件编辑</p>
<p>通常 Elasticsearch 是在一个盒子上运行的唯一服务,它的内存使用由 JVM 选项控制。应该不需要启用交换。<br>在 Linux 系统上,您可以通过运行以下命令临时禁用交换:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> swapoff -a</pre>
</div>
<p>配置swappiness<br>Linux 系统上可用的另一个选项是确保将 sysctl 值 vm.swappiness设置为1. 这减少了内核交换的倾向,并且在正常情况下不应该导致</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">临时调整,会在机器重启后恢复原先设置的值
sysctl vm.swappiness</span>=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">

永久调整
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> vim /etc/<span style="color: rgba(0, 0, 0, 1)">sysctl.conf

在打开的文件中加入
vm.swappiness </span>=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">

生效激活
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> sysctl -p</pre>
</div>
<p>3、虚拟内存编辑</p>
<p>Elasticsearchmmapfs默认使用一个目录来存储它的索引。默认操作系统对 mmap 计数的限制可能太低,这可能会导致内存不足异常。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">临时设置
sysctl </span>-<span style="color: rgba(0, 0, 255, 1)">w</span> vm.max_map_count=<span style="color: rgba(128, 0, 128, 1)">262144</span><span style="color: rgba(0, 0, 0, 1)">

永久设置
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> vim /etc/<span style="color: rgba(0, 0, 0, 1)">sysctl.conf

在打开的文件中加入
vm.max_map_count</span>=<span style="color: rgba(128, 0, 128, 1)">262144</span><span style="color: rgba(0, 0, 0, 1)">

生效激活
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> sysctl -p</pre>
</div>
<p>&nbsp;4、TCP重传超时编辑</p>
<p>每对 Elasticsearch 节点通过多个 TCP 连接进行通信,这些连接 保持打开状态,直到其中一个节点关闭或节点之间的通信因底层基础设施故障而中断。大多数 Linux 发行版默认重新传输任何丢失的数据包 15 次。重传呈指数级下降,因此这 15 次重传需要 900 多秒才能完成。这意味着使用这种方法检测网络分区或故障节点需要很多分钟。Windows 默认只重传 5 次,对应的超时时间约为 6 秒,默认设置过多,甚至对大多数 Elasticsearch 安装使用的高质量网络有害,可以将TCP重新传输的最大次数减少到5次,五次重传对应的超时时间约为6秒。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">临时设置
sysctl </span>-<span style="color: rgba(0, 0, 255, 1)">w</span> net.ipv4.tcp_retries2=<span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">

永久设置
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> vim /etc/<span style="color: rgba(0, 0, 0, 1)">sysctl.conf

在打开的文件中加入
net.ipv4.tcp_retries2 </span>= <span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">

生效激活
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> sysctl -<span style="color: rgba(0, 0, 0, 1)">p


ubuntu@VM</span>-<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">3</span>-ubuntu:~$ <span style="color: rgba(0, 0, 255, 1)">sudo</span> vim /etc/<span style="color: rgba(0, 0, 0, 1)">sysctl.conf
ubuntu@VM</span>-<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">3</span>-ubuntu:~$ <span style="color: rgba(0, 0, 255, 1)">sudo</span> sysctl -<span style="color: rgba(0, 0, 0, 1)">p
kernel.sysrq </span>= <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
net.ipv6.conf.all.disable_ipv6 </span>= <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
net.ipv6.conf.default.disable_ipv6 </span>= <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
net.ipv6.conf.lo.disable_ipv6 </span>= <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
kernel.printk </span>= <span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">
vm.swappiness </span>= <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
vm.max_map_count </span>= <span style="color: rgba(128, 0, 128, 1)">262144</span><span style="color: rgba(0, 0, 0, 1)">
net.ipv4.tcp_retries2 </span>= <span style="color: rgba(128, 0, 128, 1)">5</span></pre>
</div>
<p>&nbsp;</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">#查看索引设置
#查看所有
curl </span>-X GET <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">172.17.0.3:9200/_all/_settings</span><span style="color: rgba(128, 0, 0, 1)">"</span> -<span style="color: rgba(0, 0, 0, 1)">u username:password
#查看单个
curl </span>-X GET <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">172.17.0.3:9200/my-index/_settings</span><span style="color: rgba(128, 0, 0, 1)">"</span> -u username:password</pre>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>参考文献:https://www.elastic.co/guide/en/elasticsearch/reference/7.17/important-settings.html</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;https://www.elastic.co/guide/en/elasticsearch/reference/7.17/system-config.html</p><br><br>
来源:https://www.cnblogs.com/anech/p/15957607.html
頁: [1]
查看完整版本: Ubuntu安装Elasticsearch