在Linux上直接安裝ElasticSearch
1. 安裝前環境准備
安裝JDK環境,並配置環境變量,這里可以參考我以前寫過的博客 https://www.cnblogs.com/ywb-articles/p/10554332.html
2.下載ElasticSearch
直接在官網下載即可,鏈接:https://www.elastic.co/downloads/elasticsearch
各種安裝方式見https://www.elastic.co/guide/en/elasticsearch/reference/7.0/rpm.html#rpm-repo
我這里直接選擇壓縮包
解壓
tar -zxvf elasticsearch -7.0.0-linux-x86_64.tar.gz
3.elasticsearch不能用root用戶啟動,創建elasticsearch用戶
useradd elasticsearch
4.給該文件夾賦予elasticsearch用戶權限
chmod 777 -R elasticsearch-7.0.0
5.進入elasticsearch用戶
su elasticsearch
6.進入解壓后的文件夾的bin目錄中,輸入./elasticsearch即可啟動elasticsearch (elasticsearch的啟動速度比較慢,請耐心等待)
7.測試是否啟動成功
curl http://localhost:9200
8.若結果如下圖所示,說明啟動成功,如果不成功,可以先看看下面的配置或者查看日志文件
關於配置文件
1.在config文件夾中,有如下幾個文件,如下圖
(1) log4j2.properties是日志文件
(2) 其中jvm.options可以設置elasticsearch占用的堆內存大小,例如下圖,修改最大最小堆內存為256M
(3) elasticsearch.yml文件中可以開啟elasticsearch遠程訪問
2.在外部無法訪問elasticsearch,如下圖所示
因此elasticsearch需要開啟遠程訪問,修改elasticsearch.yml,添加代碼如下
network.host: 0.0.0.0
重新啟動后即可遠程訪問
3.若重啟報如下錯誤
則可能是elasticsearch未正常關閉,或者配置文件修改有誤,需要查看進程,並查看配置文件
ps -ef | grep elastic
通過kill -9關閉的進程
再次重啟后。
4.若重啟報以下錯誤
解決辦法:
1.編輯 /etc/security/limits.conf,追加以下內容(這幾個步驟執行完畢后可能需要重新登錄,直接切換一次用戶即可)
* soft nofile 65535 * hard nofile 65535
* soft nproc 4096
* hard nproc 4096
2.編輯 /etc/sysctl.conf,追加以下內容
vm.max_map_count=655350
重啟,若還有問題,如下圖所示
解決辦法:
修改elasticsearch.yml配置文件,找到 #cluster.initial_master_nodes: ["node-1", "node-2"] ,修改如下
cluster.initial_master_nodes: ["node-1"]
重啟成功后,即可遠程訪問,如下圖
docker安裝elasticsearch步驟:
1.安裝docker后,通過docker pull elasticsearch7.0.0拉取鏡像
2.修改配置文件(可以通過find命令查找)
elasticsearch.yml文件配置如下
cluster.name: "docker-cluster" network.host: 0.0.0.0 cluster.initial_master_nodes: ["node-1"] discovery.seed_hosts: ["127.0.0.1", "[::1]"]
jvm.options文件配置修改如下行
-Xms256M
-Xmx256M
sysctl.conf,追加以下內容
vm.max_map_count=655300
3.運行鏡像即可
如果docker ps沒有該信息,可能是啟動失敗了,通過docker ps -a 查看,可以再執行docker logs 容器id 查看錯誤日志
4.外網訪問9200端口即可
如果出現WARNING: IPv4 forwarding is disabled. Networking will not work.
修改sysctl.conf文件,修改net.ipv4.ip_forward=1后再重啟網卡