ELK之源码安装Elasticsearch以及报错汇总

                         ELK之源码安装Elasticsearch以及报错汇总

1、服务器环境

[root@elk ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@elk ~]# uname -r
3.10.0-327.4.5.el7.x86_64
[root@elk ~]# free  -m
              total        used        free      shared  buff/cache   available
Mem:           3791        1435         324           8        2031        2133
Swap:           999           0         999

2、源码安装JDK

[root@elk ~]#  mkdir /usr/local/java/
[root@elk ~]#  tar  xf  jdk-8u201-linux-x64.tar.gz  -C  /usr/local/java/

3、配置环境变量 

[root@elk ~]# cat  /etc/profile
...
JAVA_HOME=/usr/local/java/jdk1.8.0_201
JRE_HOME=/usr/local/java/jdk1.8.0_201/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

[root@elk ~]# source  /etc/profile

4、查看版本

[root@elk ~]# java  -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

5、下载 Elasticsearch源码包【Linux: elasticsearch-7.6.2-linux-x86_64.tar.gz

[root@elk ~]# curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-linux-x86_64.tar.gz

官网地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-install.html

6、解压源码包【注意:不能解压在/root目录下,否则权限不足不能启动

[root@elk ~]# tar  xf  /root/elasticsearch-7.6.2-linux-x86_64.tar.gz   -C  /home

7、配置Elasticsearch

[root@elk ~]# vim  /home/elasticsearch-7.6.2/config/elasticsearch.yml
cluster.name: elk
# Elasticsearch集群名
node.name: elk
# 该主机节点名
path.data: /mnt/elasticsearch/data
# 数据存储目录路径
path.logs: /mnt/elasticsearch/logs
# 日志存储目录路径
network.host: 0.0.0.0
# 监听所有地址
http.port: 9200
# 监听的主机端口,用于接收客户端HTTP请求的端口
discovery.seed_hosts: ["elk"]
# 集群内发现发送主机列表

8、创建数据存储和日志存储目录

[root@elk ~]# mkdir -p /mnt/elasticsearch/data
[root@elk ~]# mkdir -p /mnt/elasticsearch/logs

9、创建用户,并授权相关目录【注意:Elasticsearch 默认不能以root身份启动

[root@elk ~]# useradd -M elk
[root@elk ~]# chown -R elk.elk  /mnt/elasticsearch/
[root@elk ~]# chown -R elk.elk  /home/elasticsearch-7.6.2/

10、系统配置【关键】

[root@elk ~]#  vim /etc/security/limits.conf

...
#添加以下两行
*  hard nofile 65536
*  soft nofile 65536
[root@elk ~]#  vim /etc/security/limits.d/20-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     4096
root       soft    nproc     unlimited
[root@elk ~]#  vim /etc/sysctl.conf
vm.max_map_count=262144
#mmap计数由于系统限制值太低了,可能会导致ES出现内存不足而不能启动,我们需要将其值设大
[root@elk ~]#  sysctl -p
#由于要修改用户服务可开启的最大进程数,配置完后需要重启服务器
[root@elk ~]#  init 6 

 11、以非root身份启动Elasticsearch【注意:Elasticsearch 默认不能以root身份启动

[root@elk ~]# sudo -u elk  /home/elasticsearch-7.6.2/bin/elasticsearch   -d
[root@elk ~]# tailf   /mnt/elasticsearch/logs/elk.log

[root@elk ~]# ss  -antulp | grep 9200
tcp    LISTEN     0      128      :::9200                 :::*                   users:(("java",pid=2451,fd=235))

12、访问验证 http://192.168.66.72:9200

 

PS: 安装过程遇到的坑

1)坑一:原因是以root身份启动 解决办法:以非root身份,如笔者以elk启动

2)坑二:原因是源码包加压在了/root目录下,权限不足

 解决办法:加压至非root家目录,笔者加压至/home目录下 

3)坑三:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

 解决办法:/etc/security/limits.conf下面添加如下两行

[root@elk ~]# vim  /etc/security/limits.conf 
...
*  hard  nofile 65536
*  soft  nofile 65536

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章