【ElasticSearch笔记】安装ES和Kibana

目录

一、原生二进制文件安装

ES

1. 安装Java JDK(可选)

2. 下载ElasticSearch二进制包

3. 创建运行ES的普通用户

4. 根据需求修改ES配置文件

5. 设置JVM堆大小 干货 | 吃透Elasticsearch 堆内存

6. 创建ES数据及日志存储目录

7. 修改安装目录及存储目录权限

8. 注册开机自启动(可选)

9. 安装与查看ES插件(可选)

Kibana(可选)

1. 下载Kibana二进制压缩包

2. 解压压缩包

3. 启动服务

4 配置中文

5. 安装与查看Kibana插件(可选)

二、使用Docker安装

1. 使用docker-compose启动Elasticsearch + Logstash + Kibana

三、附录

ES常见问题排查

max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

Exception in thread “main” org.elasticsearch.bootstrap.BootstrapException: java.nio.file.AccessDeniedException

BindTransportException [Failed to bind to [9300-9400]

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

bootstrap checks failed

内存不够报错

max number of threads [1024] for user [es] is too low, increase to at least [2048]

max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]

内存没有被锁定


一、原生二进制文件安装

ES

官方文档:安装 Elasticsearch |Elasticsearch 指南 [8.12] |弹性的

1. 安装Java JDK(可选)

7.0开始,内置了Java环境,此步骤可跳过

配置环境变量:$JAVA_HOME

各版本对Java的依赖:

版本选择:最好是Java8、Java11、Java14

ES与JDK兼容性:支持一览表 | Elastic

JDK下载地址:Java Downloads | Oracle

2. 下载ElasticSearch二进制包

下载地址:Download Elasticsearch | Elastic

解压后目录说明:

【ElasticSearch笔记】安装ES和Kibana_第1张图片

3. 创建运行ES的普通用户

useradd es
echo "123456" | passwd --stdin "es"

4. 根据需求修改ES配置文件

# 解压二进制源码包
tar xzf elasticsearch-6.5.4.tar.gz -C /usr/local/

cd /usr/local/elasticsearch-6.5.4/config/

# 编辑配置文件,底部追加
vim elasticsearch.yml

# 集群名称,各节点配成相同的集群名称
cluster.name: elk
# 节点名称,各节点配置不同
node.name: elk01
# 指示某个节点是否符合成为主节点的条件
node.master: true
# 指示节点是否为数据节点。数据节点包含并管理索引的一部分
node.data: true
# 数据存储目录
path.data: /data/elasticsearch/data
# 日志存储目录
path.logs: /data/elasticsearch/logs
# 内存锁定,是否禁用交换
bootstrap.memory_lock: false
# 系统调用过滤器
bootstrap.system_call_filter: false
# 绑定节点IP
network.host: 0.0.0.0
# 端口
http.port: 9200

# 提供其他 Elasticsearch 服务节点的单点广播发现功能
# discovery.zen.ping.unicast.hosts: ["192.168.246.234", "192.168.246.231","192.168.246.235"] 
# 集群中可工作的具有Master节点资格的最小数量,官方的推荐值是 (N/2)+1,其中N是具有master资格的节点的数量。
# discovery.zen.minimum_master_nodes: 2
# 节点在发现过程中的等待时间
# discovery.zen.ping_timeout: 150s
# 节点发现重试次数
# discovery.zen.fd.ping_retries: 10
# client.transport.ping_timeout: 60s

# 是否允许跨源 REST 请求,用于允许head插件访问ES
http.cors.enabled: true
# 允许的源地址
http.cors.allow-origin: "*"

5. 设置JVM堆大小 干货 | 吃透Elasticsearch 堆内存

# vim jvm.options
-Xms1g ----修改成 -Xms2g
-Xmx1g ----修改成 -Xms2g

或者: 推荐设置为4G,请注意下面的说明: 
sed -i 's/-Xms1g/-Xms4g/' /usr/local/elasticsearch-6.5.4/config/jvm.options 
sed -i 's/-Xmx1g/-Xmx4g/' /usr/local/elasticsearch-6.5.4/config/jvm.options

注意: 确保堆内存最小值(Xms)与最大值(Xmx)的大小相同,防止程序在运行时改变堆内存大小。 堆内存大

小不要超过系统内存的50%

6. 创建ES数据及日志存储目录

mkdir -p /data/elasticsearch/data
mkdir -p /data/elasticsearch/logs

7. 修改安装目录及存储目录权限

chown -R es:es /data/elasticsearch
chown -R es:es /usr/local/elasticsearch-6.5.4

8. 注册开机自启动(可选)

编辑elasticsearch.service文件,没有则创建

vi /usr/lib/systemd/system/elasticsearch.service

编写服务

[Unit]
Description=elasticsearch
After=network.target

[Service]
Type=forking
User=es
ExecStart=/usr/local/elasticsearch-7.10.1/bin/elasticsearch -d
PrivateTmp=true
# 指定此进程可以打开的最大文件数
LimitNOFILE=65535
# 指定此进程可以打开的最大进程数
LimitNPROC=65535
# 最大虚拟内存
LimitAS=infinity
# 最大文件大小
LimitFSIZE=infinity
# 超时设置 0-永不超时
TimeoutStopSec=0
# SIGTERM是停止java进程的信号
KillSignal=SIGTERM
# 信号只发送给给JVM
KillMode=process
# java进程不会被杀掉
SendSIGKILL=no
# 正常退出状态
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

刷新配置信息

systemctl daemon-reload

启动服务

systemctl start elasticsearch.service

设置开机自启

systemctl enable elasticsearch.service

9. 安装与查看ES插件(可选)

官方文档:Introduction to plugins | Elasticsearch Plugins and Integrations [8.12] | Elastic

查看以安装插件:bin/elasticsearch-plugin list

安装插件:bin/elasticsearch-plugin install plugin_name

web页面查看已安装插件:http://localhost:9200/_cat/plugins

Kibana(可选)

官方文档:安装 Kibana |Kibana 指南 [8.12] |弹性的 (elastic.co)

1. 下载Kibana二进制压缩包

下载地址:Download Kibana Free | Get Started Now | Elastic

2. 解压压缩包

tar -xzf kibana-8.12.0-linux-x86_64.tar.gz

3. 启动服务

cd kibana-8.12.0/
./bin/kibana

4 配置中文

vim config/kibana.yml

5. 安装与查看Kibana插件(可选)

参考文档:Kibana plugins | Kibana Guide [8.12] | Elastic

安装插件:bin/kibana-plugin install plugin_name

查看插件:bin/kibana-plugin list

删除插件:bin/kibana-plugin remove plugin_name

二、使用Docker安装

安装docker Docker Desktop: The #1 Containerization Tool for Developers | Docker

安装docker-compose Overview of installing Docker Compose | Docker Docs

一个开源的 ELK(Elasticsearch + Logstash + Kibana) docker-compose 配置 https://github.com/deviantony/docker-elk

1. 使用docker-compose启动Elasticsearch + Logstash + Kibana

下载docker-compose

docker-compose.yml

启动服务(在docker-compose.yml所在目录运行)

docker-compose up -d

【ElasticSearch笔记】安装ES和Kibana_第2张图片

点击访问Kibana

查看服务状态

docker-compose ps

停止服务

docker-compose down

三、附录

ES常见问题排查

max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

每个进程最大同时打开文件数太小,可通过下面2个命令查看当前数量

uLimit -Hn

ulimit -Sn

修改/etc/security/limits.conf文件,在文末增加配置,用户退出后重新登录生效

* soft nofile 65536

* hard nofile 65536

Exception in thread “main” org.elasticsearch.bootstrap.BootstrapException: java.nio.file.AccessDeniedException

文件的属主属组修改为 esuadmin,要是用root

chown -R esuadmin:esuadmin elasticsearch-7.4.2

BindTransportException [Failed to bind to [9300-9400]

这个错误需要配置外网可访问,用 vi 打开elasticsearch-7.6.2/config/elasticsearch.yml

network.host: 0.0.0.0

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

su root

echo "vm.max_map_count=655360" > /etc/sysctl.conf

sysctl -p

bootstrap checks failed

elasticsearch-7.6.2/config/elasticsearch.yml 文件, 把 cluster.name、node.name、initial_master_nodes 参数设置默认值

cluster.name: wooola-es

node.name: node-1

cluster.initial_master_nodes: ["node-1"]

内存不够报错

Java HotSpot (TM) 64-Bit Server VM waming: INFO: os::commit memory(Ox00000000e5330000, 449642496, Q) failed; error-'Cannot allocate memory' (erro-12)

find / -type f -name 'jvm.options'

vi jvm.options:修改:-Xns4g,-Xnx4g

max number of threads [1024] for user [es] is too low, increase to at least [2048]

vi /etc/security/limits.d/90-nproc.conf:修改

soft nproc 1024

# 修改为

soft nproc 2048

max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]

vi /etc/security/limits.conf:添加

soft nofile 65536

hard nofile 131072

soft nproc 2048

hard nproc 4096

内存没有被锁定

memory Locking requested for elasticsearch process but memory is not Locked

vim elasticsearch.ymL:修改

bootstrap.memory_Lock: true

vim /etc/sys temd/ system.conf:修改

DefaultLimitNOFILE=65536

DefaultLimitNPROC=32000

DefaultLimitMEMLOCK=infinity

PS:修改完此文件需重启系统才可生效,es即可启动成功!

你可能感兴趣的:(ElasticSearch,elasticsearch)