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

 

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