第一步:必須要有jre支持
elasticsearch是用Java實現的,跑elasticsearch必須要有jre支持,所以必須先安裝jre
可以參考 http://blog.java1234.com/blog/articles/307.html
第二步:下載elasticsearch
進入官方下載 https://www.elastic.co/downloads/elasticsearch
因為是centos中運行 所以我們選 tar.gz壓縮包;
下載后 用ftp上傳到centos里 我們把這個文件上傳到 /home/data/下
第三步:安裝和配置elasticsearch
進入data目錄 解壓
[root@bogon ~]# cd /home/data/
[root@bogon data]# tar -zxvf elasticsearch-5.5.2.tar.gz
新建目錄 剪切文件到新目錄
[root@bogon data]# cd
[root@bogon ~]# mkdir /home/es/
[root@bogon ~]# mv /home/data/elasticsearch-5.5.2 /home/es/
========================重點,修改配置 start=============================================
修改limits.conf與sysctl.conf文件的系統參數,如下圖所示。
本文的用戶是elastic,不是圖片中的esUser,紅框中的改成
# elastic-user
elastic soft nofile 65536
elastic hard nofile 65536
最后執行如下命令:
sysctl -p
從指定的文件加載系統參數,如不指定即從/etc/sysctl.conf中加載, 這樣就不需要重啟系統
安裝與配置
a、解壓完成后,進入config目錄,編輯elasticsearch.yml文件。該文件配置需要注意!!!將下述代碼中標紅“你的IP地址”更改為 自己的IP地址,添加配置時需注意配置文件":"后要有空格。如下所示。
[root@izwz9eu3mkqq1njlkrfhc8z ~]# vim /home/es/elasticsearch-6.3.0/config/elasticsearch.yml
#這是集群名字,起名為elasticsearch
#es啟動后會將具有相同集群名字的節點放到一個集群下。
cluster.name: elasticsearch
#
#節點名字。
node.name: "node1"
#
# 數據存儲位置,配置之后該目錄會自動生成
path.data: /usr/java/elasticsearch/elasticsearch-6.3.2/data
#
# 日志文件的路徑,配置之后該目錄會自動生成
path.logs: /usr/java/elasticsearch/elasticsearch-6.3.2/logs
#
#
#設置綁定的ip地址,可以是ipv4或ipv6的,默認為0.0.0.0
#network.bind_host: xxxxxx
#
#設置其它節點和該節點交互的ip地址,如果不設置它會自動設置,值必須是個真實的ip地址
#network.publish_host: xxxxxx
#
#同時設置bind_host和publish_host上面兩個參數,該地址為默認地址
network.host: 0.0.0.0
#
#
# 設置節點間交互的tcp端口,默認是9300
#transport.tcp.port: 9300
#
# 設置是否壓縮tcp傳輸時的數據,默認為false,不壓縮
transport.tcp.compress: true
#
# 設置對外服務的http端口,默認為9200
#http.port: 9200
#
# 使用http協議對外提供服務,默認為true,開啟
#http.enabled: false
#
#discovery.zen.ping.unicast.hosts:["節點1的 ip","節點2 的ip","節點3的ip"]
#這是一個集群中的主節點的初始列表,當節點(主節點或者數據節點)啟動時使用這個列表進行探測
discovery.zen.ping.unicast.hosts: ["你的IP地址"]
#
#指定集群中的節點中有幾個有master資格的節點。
#對於大集群可以寫(2-4)。
discovery.zen.minimum_master_nodes: 1
#解決head的集群健康值問題,后續會安裝head插件
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
b、若服務器運行內存不大,也可能還有一個錯誤是關於Jvm內存分配的問題,需要修改Jvm配置。如下所示。我的阿里雲是4g內存,(以后看情況可以改成
-Xms2g
-Xmx2g
),如果你的阿里雲配置是1g的話就改一下,默認Xms1g啟動不來。
1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# vim /home/es/elasticsearch-6.3.0/config/jvm.options
========================重點,修改配置 end=============================================
我們執行,來啟動 elasticsearch
[root@bogon ~]# sh /home/es/elasticsearch-5.5.2/bin/elasticsearch
意思是不能用root用戶來啟動,那我們新建一個用戶來啟動
[root@bogon ~]# useradd elastic
[root@bogon ~]# chown -R elastic:elastic /home/es/elasticsearch-5.5.2/
新建elastic用戶 並且把目錄權限賦予給elastic
我們切換成elastic用戶,然后執行
[root@bogon ~]# su elastic
[elastic@bogon root]$ sh /home/es/elasticsearch-5.5.2/bin/elasticsearch
出來一大串info 說明成功了,但是這種方式是前台運行,不方便我們操作其他的 我們加下 -d 后台運行
先ctrl+c退出執行;
[elastic@bogon root]$ sh /home/es/elasticsearch-5.5.2/bin/elasticsearch -d
我們來檢查下是否啟動成功下面是查看ElasticSearch進程情況,可以執行命令: kill -9 進程ID 來結束程序。
[elastic@bogon root]$ ps -ef | grep elasticsearch
下面是測試是否有如下提示:
1 [esUser@izwz9eu3mkqq1njlkrfhc8z root]$ curl http://localhost:9200/?pretty
我們用谷歌瀏覽器請求下 http://192.168.1.108:9200/ (把實例的ip改成你的ip)