安裝Elasticsearch到Linux(源碼)


運行環境

系統版本:CentOS Linux release 7.3.1611 (Core)
軟件版本:Elasticsearch-7.1.0
硬件要求:最低2核4GB

安裝過程

1、源碼安裝JDK

1.1、從官網下載源碼包

官網下載地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html。
可能需要注冊一個Oracle賬號。

root@localhost:~# wget https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz?AuthParam=1555053295_8cf8b2b24ab4f6973dcc2a05d83be26d

1.2、解壓源碼包到安裝目錄

root@localhost:~# mv jdk-8u201-linux-x64.tar.gz* jdk-8u201-linux-x64.tar.gz
root@localhost:~# mkdir /usr/local/jdk
root@localhost:~# tar xzvf jdk-8u201-linux-x64.tar.gz -C /usr/local/jdk/

1.3、配置環境變量

配置環境變量,使命令在全局生效。

root@localhost:~# vim /etc/profile
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_201
export PATH=$JAVA_HOME/bin:$PATH
root@ubuntu:~# source /etc/profile

1.4、查看版本

root@localhost:~# 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)

2、系統配置

配置完成后,由於要修改用戶服務可開啟的最大進程數,所以需要重啟服務器。

[root@localhost ~]# vim /etc/security/limits.conf
root soft nofile 65536
root hard nofile 65536
* soft nofile 65536
* hard nofile 65536
[root@localhost ~]# vim /etc/security/limits.d/20-nproc.conf
*          soft    nproc     65536
root       soft    nproc     unlimited
[root@localhost ~]# vim /etc/sysctl.conf
vm.max_map_count=262144
#Elasticsearch默認使用mmapfs來存儲索引,mmap計數可能由於系統限制值太低了,可能會導致ES出現內存不足的一場,我們需要將其設置為更大。
[root@localhost ~]# sysctl -p
[root@localhost ~]# swapoff -a
[root@localhost ~]# reboot

3、下載Elasticsearch軟件包

Elasticsearch軟件包由ELK官網提供。

[root@localhost ~]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.0-linux-x86_64.tar.gz

4、安裝Elasticsearch

[root@localhost ~]# mkdir /usr/local/elk
[root@localhost ~]# tar xzvf elasticsearch-7.1.0-linux-x86_64.tar.gz -C /usr/local/elk/

5、配置Elasticsearch

我們構建一個單節點的Elasticsearch集群,單機運行。

[root@localhost ~]# vim /usr/local/elk/elasticsearch-7.1.0/config/elasticsearch.yml
cluster.name: my-application
# Elasticsearch集群名
node.name: node-1
# 該主機節點名
path.data: /data/elasticsearch/data
# 數據存儲目錄路徑
path.logs: /data/elasticsearch/logs
# 日志存儲目錄路徑
# bootstrap.memory_lock: true
network.host: 0.0.0.0
# 監聽的主機地址
http.port: 9200
# 監聽的主機端口,用於接收客戶端HTTP請求的端口
transport.port: 9300
# 監聽的主機端口,用於集群內主機傳輸通信所使用的端口
discovery.seed_hosts: ["172.16.254.129"]
# 集群內發現發送主機列表
cluster.initial_master_nodes: ["node-1"]
# 用於集群初始化所指定的master節點主機
#gateway.recover_after_nodes: 3
#action.destructive_requires_name: true
cluster.routing.allocation.disk.threshold_enabled: false
#關閉ES根據磁盤使用率分配分片(副本)數據功能,避免由於磁盤可用空間低於默認值而導致的ES自動停止。
#cluster.routing.allocation.disk.watermark.low: 10gb
#cluster.routing.allocation.disk.watermark.high: 20gb

6、創建相關存儲目錄

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

7、創建運行用戶,並授權相關目錄

Elasticsearch默認不允許使用ROOT用戶運行服務。

[root@localhost ~]# useradd -M elk
[root@localhost ~]# chown -R elk.elk /data/elasticsearch/
[root@localhost ~]# chown -R elk.elk /usr/local/elk/elasticsearch-7.1.0

8、啟動Elasticsearch服務

[root@localhost ~]# sudo -u elk /usr/local/elk/elasticsearch-7.1.0/bin/elasticsearch -d
[root@localhost ~]# tail -n 200 -f /data/elasticsearch/logs/my-application.log
[root@localhost ~]# netstat -lnupt |grep 9200
tcp6       0      0 :::9200                 :::*                    LISTEN      2481/java
tcp6       0      0 :::9300                 :::*                    LISTEN      9932/java


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM