ES安装及避坑指南

一、准备
二、安装启动
三、远程访问(防火墙设置)
四、kibana 安装
五、避坑
ES基本使用
Elasticsearch(ES) 基本知识

一、用户创建及下载安装

  • 创建用户
useradd esUser
passwd esUser
# 输入密码
  • 下载
wget -P /opt/ https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.4-linux-x86_64.tar.gz

tar -zxf /opt/elasticsearch-7.17.4-linux-x86_64.tar.gz -C /usr/local

mv /usr/local/elasticsearch-7.17.4-linux-x86_64 /usr/local/elasticsearch

chown esUser:esUser -R /usr/local/elasticsearch

tips
1、ES基于java开发,依赖于jdk;8.0开始内嵌了jdk
2、https://www.elastic.co/cn/downloads/past-releases#elasticsearch 可选择历史版本

二、修改配置、启动ES

  • 修改ES使用的jvm内存大小
vi /usr/local/elasticsearch/config/jvm.options
#-Xms4g
#-Xms4g
修改为 (内存大小根据自己服务器配置修改)
-Xms256m
-Xms256m
  • 修改ES相关配置
vi /usr/local/elasticsearch/config/elasticsearch.yml
修改以下配置 (默认端口9200)
# 支持远程访问
network.host: 0.0.0.0
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]
  • 启动ES (30s - 1min)
su - esUser
cd /usr/local/elasticsearch/bin
# -d 表示后台启动
./elasticsearch -d
  • 本地验证
    curl “127.0.0.1:9200”
    请求响应如下即成功

{
“name” : “ecs-210256”,
“cluster_name” : “elasticsearch”,
“cluster_uuid” : “q8pKqNc7RaS2voVtNqXuTg”,
“version” : {
“number” : “7.17.4”,
“build_flavor” : “default”,
“build_type” : “tar”,
“build_hash” : “79878662c54c886ae89206c685d9f1051a9d6411”,
“build_date” : “2022-05-18T18:04:20.964345128Z”,
“build_snapshot” : false,
“lucene_version” : “8.11.1”,
“minimum_wire_compatibility_version” : “6.8.0”,
“minimum_index_compatibility_version” : “6.0.0-beta1”
},
“tagline” : “You Know, for Search”
}

三、远程访问

  • 放开云服务器安全规则关闭防火墙即可通过 ip:9200 在浏览器访问
  • 若开启防火墙,放开9200 端口操作如下:
logout (切回root用户)
vi /etc/sysconfig/iptables
添加
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9200 -j ACCEPT
保存退出后重启
systemctl restart iptables

浏览器远程访问验证: 服务器ip:9200

四、Kibana安装

  • 1.下载
wget -P /opt/ https://artifacts.elastic.co/downloads/kibana/kibana-7.17.4-linux-x86_64.tar.gz
tar -zxf /opt/kibana-7.17.4-linux-x86_64 -C /usr/local
mv /usr/local/kibana-7.17.4-linux-x86_64 /usr/local/kibana
  • 2.修改配置
vi /usr/local/kibana/config/kibana.yml
# 默认端口为5601
# 支持远程访问
server.host: "0.0.0.0"
  • 3.启动kibana (30s - 1min)
cd /usr/local/kibana/bin
# 允许使用root用户启动 
./kibana --allow-root &

  • 4.防火墙放行5601 ,浏览器远程访问即可
    在这里插入图片描述

五、遇到的一些问题

1、根据官方文档 https://www.elastic.co/cn/support/matrix#matrix_jvm ,8.x版本需要使用jdk17,并且内嵌至ES压缩包了,只需配置ES_JAVA_HOME 为 ES 压缩包jdk路径即可

2、启动es服务的时候,是不允许使用超级管理员root账户
在这里插入图片描述
处理:按第一步 创建用户

3、max virtual memory areas vm.max_map_count [65530] is too low
处理:修改配置文件 vim /etc/sysctl.conf
添加:
vm.max_map_count=655360
保存退出 执行 sysctl -p ;重启即可

4、the default discovery settings are unsuitable for production use; at least
原因:开启远程访问之后没有设置集群节点信息
处理:按第二点下 修改ES相关配置 进行处理

5、max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
处理:修改配置文件 vi /etc/security/limits.conf
hard nofile 65536
soft nofile 65536

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐