Centos 7安装Elasticsearch 7.6
<h2 id="centos-7安装elasticsearch-76">Centos 7安装Elasticsearch 7.6</h2><h3 id="elasticsearch与jdk版本对应关系">Elasticsearch与JDK版本对应关系</h3>
<blockquote>
<p>在安装 <code>Elasticsearch</code> 时,要注意 <code>Elasticsearch</code> 与 <code>JDK</code> 的版本对应关系。且 <code>Elasticsearch7.6</code> 已经内置了 <code>JDK</code> 环境,不需要本地安装环境支持。</p>
</blockquote>
<p>Elasticsearch与JDK版本具体的对应关系可访问官网查看,链接如下:</p>
<p>Elasticsearch与JDK版本对应关系</p>
<h3 id="elasticsearch-76安装">Elasticsearch 7.6安装</h3>
<h4 id="1--下载与解压">1下载与解压</h4>
<p><strong>本地Linux系统版本:</strong></p>
<p><img src="https://img2022.cnblogs.com/blog/2616186/202206/2616186-20220618135528237-594179122.png" alt="" loading="lazy"></p>
<pre><code class="language-bash"># 下载Elasticsearch 7.6
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-linux-x86_64.tar.gz
# 解压
tar -zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz
# 将文件移动到/usr/local目录
cp -r ./elasticsearch-7.6.2 /usr/local
</code></pre>
<p>最终安装路径:<code>/usr/local/elasticsearch-7.6.2</code></p>
<h4 id="2--软件配置">2软件配置</h4>
<p>出于安全考虑,<code>Elasticsearch</code> 禁止使用 <code>root</code> 帐号启动,会报错。</p>
<pre><code class="language-bash">java.lang.RuntimeException: can not run elasticsearch as root
</code></pre>
<p><strong>创建启动Elasticsearch的新用户</strong></p>
<pre><code class="language-bash"># 创建用户
useradd lzy
# 设置密码
passwd 123456
# 创建 data 和 logs 文件夹
mkdir -p /home/lzy/software/elasticsearch/data
mkdir -p /home/lzy/software/elasticsearch/logs
# 修改文件夹权限
chmod -R 777 /usr/local/elasticsearch-7.6.2
chmod -R 777 /home/lzy/software/elasticsearch
</code></pre>
<p><strong>配置 <code>elasticsearch.yml</code></strong></p>
<pre><code class="language-bash">cd /usr/local/elasticsearch-7.6.2/config
vim elasticsearch.yml
</code></pre>
<pre><code class="language-yaml"># 表示支持跨域访问
http.cors.enabled: true
# 支持跨域访问时,默认值为"*",表示支持所有域名访问
http.cors.allow-origin: "*"
# 自定义集群名和节点名
cluster.name: lzy-elasticsearch
node.name: node-1
# 数据路径
path.data: /home/lzy/software/elasticsearch/data
# 日志路径
logs.data: /home/lzy/software/elasticsearch/logs
# 配置远程访问
network.host: 0.0.0.0
# 配置访问端口
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
</code></pre>
<p><strong>配置 <code>Java</code> 虚拟机参数</strong></p>
<pre><code class="language-bash">vim jvm.options
# JVM初始分配的堆内存
-Xms512m
# JVM最大允许分配的堆内存
-Xmx512m
</code></pre>
<p><strong>配置 <code>vm.max_map_count</code> 参数</strong></p>
<pre><code class="language-bash">vim /etc/sysctl.conf
vm.max_map_count = 655360
# 保存之后在终端执行下列命令,刷新参数
sysctl -p
</code></pre>
<p>不设置该参数会报错:<code>max virtual memory areas vm.max_map_count is too low, increase to at least </code></p>
<p><strong>设置 <code>limits.conf</code></strong></p>
<pre><code class="language-bash">vim /etc/security/limits.conf
# 设置每个进程可开启的最大文件数
lzy soft nofile 65535
lzy hard nofile 65535
</code></pre>
<p>不设置该参数会报错:<code>max file descriptors for elasticsearch process is too low, increase to at least </code></p>
<h4 id="3--启动-elasticsearch">3启动 Elasticsearch</h4>
<pre><code class="language-bash"># 切换帐号
su lzy
# 启动Elasticsearch
cd /usr/local/elasticsearch-7.6.2/bin
./elasticsearch
</code></pre>
<p><strong>本地访问</strong></p>
<p><img src="https://img2022.cnblogs.com/blog/2616186/202206/2616186-20220618135518572-1929791822.png" alt="" loading="lazy"></p>
<p><strong>远程访问</strong></p>
<p><img src="https://img2022.cnblogs.com/blog/2616186/202206/2616186-20220618135537701-149294425.png" alt="" loading="lazy"></p>
<h4 id="4--设置密码">4设置密码</h4>
<pre><code class="language-bash">cd /usr/local/elasticsearch-7.6.2/config
vim elasticsearch.yml
</code></pre>
<pre><code class="language-yaml"># 在文件尾部加上下列设置
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
</code></pre>
<p><strong>启动 <code>Elasticsearch</code></strong></p>
<pre><code class="language-bash">su lzy
cd /usr/local/elasticsearch-7.6.2/bin
# 后台启动
./elasticsearch -d
# 设置密码
./elasticsearch-setup-passwords interactive
</code></pre>
<p><img src="https://img2022.cnblogs.com/blog/2616186/202206/2616186-20220618135550774-80892805.png" alt="" loading="lazy"></p>
<p><strong>需要携带用户名和密码访问</strong></p>
<p><img src="https://img2022.cnblogs.com/blog/2616186/202206/2616186-20220618135440485-743693349.png" alt="" loading="lazy"></p>
<h4 id="5--tips">5Tips</h4>
<p>如果使用的是阿里云服务器,需要配置安全组或者防火墙,否则无法通过 <code>http://ip:9200</code> 远程访问。笔者自己使用的是阿里云轻量应用服务器,配置防火墙即可。</p>
<p><img src="https://img2022.cnblogs.com/blog/2616186/202206/2616186-20220618135459381-880049346.png" alt="" loading="lazy"></p>
<p><strong>在服务器终端添加端口</strong></p>
<pre><code class="language-bash"># 查看防火墙状态
systemctl status firewalld
# 开启端口
# The permanent option --permanent can be used to set options permanently
firewall-cmd --zone=public --add-port=9200/tcp --permanent
# Reload firewall rules and keep state information
firewall-cmd --reload
</code></pre>
<p>这样就可以顺利通过 <code>http://ip:9200</code> 远程访问服务器启动的Elasticsearch。</p>
<h4 id="6--参考文章">6参考文章</h4>
<p> 非常详细的CentOS 7 安装 Elasticsearch 7.6</p>
<p> centos7 安装 elasticsearch 7.6.2及分词器</p><br><br>
来源:https://www.cnblogs.com/ylyzty/p/16388208.html
頁:
[1]