CentOS 8部署Elasticsearch-7.7.1

本篇主要介绍如何在CentOS环境下部署Elasticsearch,以及部署过程中遇到的一些问题,仅供参考

  • CentOS IP:192.168.182.129
部署过程
cd /usr/local/ # 导航到指定目录
mkdir elk # 创建文件夹
cd elk # 导航到刚创建的elk文件夹之下
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.1-linux-x86_64.tar.gz # 远程下载elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.1-linux-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-7.7.1-linux-x86_64.tar.gz.sha512 
tar -xzf elasticsearch-7.7.1-linux-x86_64.tar.gz # 解压
rm -f elasticsearch-7.7.1-linux-x86_64.tar.gz # 解压完之后删除压缩文件,删不删看自己心情
cd elasticsearch-7.7.1/ # 导航到解压之后的目录之下
./bin/elasticsearch -d # 启动elasticsearch,-d表示后台运行

之后可以通过浏览器访问http://localhost:9200看是否成功,如果成功会显示如下信息
CentOS 8部署Elasticsearch-7.7.1

备注:如果不仅仅是在虚机内访问,需要设置内网Ip,配置跨域访问

cd /usr/local/elk/elasticsearch-7.7.1/config # 导航到config目录下
vi elasticsearch.yml # 打开elasticsearch.yml文件准备编辑
vim elasticsearch.yml # 打开elasticsearch.yml文件准备编辑(和上面那句作用一样)

CentOS使用vi或者vim打开文件编辑时,需要先按i键,进入insert模式才可以进行修改;修改完退出时需要先按ESC键,跳到命令模式,然后使用如下命令(注意前面有个:)

:w # 保存文件但不退出vi
:w file # 将修改另外保存到file中,不退出vi
:w! # 强制保存,不推出vi
:wq # 保存文件并退出vi
:wq! # 强制保存文件,并退出vi
:q # 不保存文件,退出vi
:q! # 不保存文件,强制退出vi
:e! # 放弃所有修改,从上次保存文件开始再编辑

接着上面,然后在elasticsearch.yml下方添加如下配置

network.host=192.168.182.129 # 设置为本机IP
http.cors.enabled: true # 开启跨域访问
http.cors.allow-origin: "*" # 允许所有

重启elasticsearch,就可以在本机使用ip访问了

问题汇总
  1. the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
    解决:编辑elasticsearch.yml文件,将 #cluster.initial_master_nodes: ["node-1", "node-2"] 修改为 cluster.initial_master_nodes: ["node-1"],保存并重启elasticsearch
  2. max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    解决:在root账户下修改 /etc/sysctl.conf 文件,在下面添加: vm.max_map_count=262144,执行# sysctl -p,让/etc/sysctl.conf 立即生效
su # 切换root权限
密码:输入密码
cd /etc/ # 导航到etc目录
vi sysctl.conf # 按i键进入insert模式,在最下方添加修改内容:vm.max_map_count=262144,然后按esc跳到命令行模式
:wq # 保存并退出
sysctl -p # 让/etc/sysctl.conf 立即生效
  1. max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
    解决:在root账户下修改/etc/security/limits.conf文件
su # 进入root权限
vi?/etc/security/limits.conf # 修改/etc/security/limits.conf文件
# 新增如下内容, 其中 “jerry.yao” 为 拥有elasticsearch 启动权限的用户
jerry.yao hard nofile 65535
jerry.yao soft nofile 65535
开放端口

由于是在虚机部署,本地ping 192.168.182.129可以直接ping通,但要实现在本地电脑直接访问http://192.168.182.129:9200还需要开放虚机的指定端口

firewall-cmd --zone=public --add-port=9200/tcp --permanent   # 开放9200端口
firewall-cmd --reload   # 配置立即生效

端口开放完之后,就可以在本地进行访问了。

相关推荐