Linux搭建環境之安裝elasticsearch篇
1.下載elasticsearch安裝包
下載elasticsearch安裝包官方文件https://www.elastic.co/downloads/elasticsearch
2.上傳elasticsearch安裝包
2.1解壓elasticsearch
tar -zxvf elasticsearch-6.4.3.tar.gz |
2.2修改elasticsearch.yml
network.host: 192.168.212.151
http.port: 9200
2.3啟動elasticsearch報錯
Cd /usr/local/elasticsearch-6.4.3/bin
./elasticsearch
can not run elasticsearch as root
解決方案:
因為安全問題elasticsearch
不讓用root使用者直接執行,所以要建立新使用者
第一步:liunx建立新使用者 adduser XXX 然後給建立的使用者加密碼 passwd XXX 輸入兩次密碼。
第二步:切換剛才建立的使用者 su XXX 然後執行elasticsearch 會顯示Permission denied 許可權不足。
第三步:給新建的XXX賦許可權,chmod 777 * 這個不行,因為這個使用者本身就沒有許可權,肯定自己不能給自己付許可權。所以要用root使用者登入付許可權。
第四步:root給XXX賦許可權,chown -R XXX /你的elasticsearch安裝目錄。
然後執行成功。
建立一個分組
groupadd esmayikt useradd esyushengjun -g esmayikt -p 123456 chown -R esyushengjun:esmayikt elasticsearch-6.4.3 su esyushengjun 切換使用者
繼續報錯
bootstrap checks failed max virtual memory areas vm.max_map_count [65530] is
vi /etc/sysctl.conf
vm.max_map_count=655360
sysctl p
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
重啟伺服器即可
3.訪問elasticsearch
關閉防火牆
systemctl stop firewalld.service
http://192.168.212.151:9200
效果如下:
9300與9200區別
9300埠: ES節點之間通訊使用
9200埠: ES節點 和 外部 通訊使用
4.介面工具Kibana安裝
下載:https://www.elastic.co/downloads/kibana
tar -zxvf kibana-6.4.3-linux-x86_64.tar.gz
vim config/kibana.yml
# 將預設配置改成如下:
server.port: 5601
server.host: "192.168.212.151"
elasticsearch.url: "http:// 192.168.212.151:9200"
啟動Kibana
./bin/kibana
http://192.168.212.179:5601/app/kibana
5.叢集搭建實現
準備三臺伺服器叢集
伺服器名稱 |
IP地址 |
node-1 |
192.168.212.182 |
node-2 |
192.168.212.183 |
node-3 |
192.168.212.184 |
vi elasticsearch.yml
cluster.name: myes ###保證三臺伺服器節點叢集名稱相同
node.name: node-1 #### 每個節點名稱不一樣 其他兩臺為node-1 ,node-2
network.host: 192.168.212.180 #### 實際伺服器ip地址
discovery.zen.ping.unicast.hosts: ["192.168.212.184", "192.168.212.185","192.168.212.186"]##多個服務叢集ip
discovery.zen.minimum_master_nodes: 1
關閉防火牆 systemctl stop firewalld.service
預設底層開啟9300 叢集
驗證叢集效果
http://192.168.212.185:9200/_cat/nodes?pretty
注意克隆data檔案會導致資料不同步
報該錯誤解決辦法
failed to send join request to master
因為克隆導致data檔案也克隆呢,直接清除每臺伺服器data檔案。
*號表示為master節點