1. 程式人生 > >Linux搭建環境之安裝elasticsearch篇

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節點