1. 程式人生 > >ElasticSearch 6 安裝及相關坑解析

ElasticSearch 6 安裝及相關坑解析

首先 下載

https://www.elastic.co/downloads/elasticsearch

然後

解壓到 使用者目錄 比如:~/module

然後 配置環境變數 比如:export ES_HOME=/home/zhy/module/elasticsearch-6.4.1
                                          export PATH=$PATH:${ES_HOME}/bin

 

vim 安裝目錄下的config/elasticsearch.yml

cluster.name: my-es6
node.name: node-1
node.master: true


path.data: /home/zhy/module/elasticsearch-6.4.1/data
path.logs: /home/zhy/module/elasticsearch-6.4.1/logs

network.host: 0.0.0.0
http.port: 9200
#
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["zhy.cauchy8389.com:9300"]
discovery.zen.minimum_master_nodes: 1

# ---------------------------------- Gateway -----------------------------------
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-credentials: true


bootstrap.memory_lock: false
bootstrap.system_call_filter: false

解釋說明:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false 一看就知道是關於內用訪問的方面的配置

cluster.name 叢集名字,同一個叢集中使用相同名字,單機就隨意
node.name: node-01 節點名字
node.master: 是否為叢集的master機器
node.data: true 是否作為資料節點
network.host: 192.168.0.153 這個不用自然是配置ip地址的
http.port: 9200 埠號,不配置的話預設9200
discovery.zen.ping.unicast.hosts: [“192.168.0.153”,”192.168.0.154”,”192.168.0.155”] 這個就是配置叢集的時候要用的到了,[]中填上叢集中其他叢集的ip的地址,如果是master的話請把所有salve的機器地址填上
discovery.zen.minimum_master_nodes: 2 關於這個值配置多少合適的話大家去搜一下,自己權衡一下叢集,這裡我用了3臺機器模擬叢集,所以填上2。
http.cors.enabled: true 這個引數的設定和下面一個配置就關於ip的訪問策略了,如果你發現其他ip地址訪問不了就有可以這引數沒有配置
http.cors.allow-origin: “*”

 

sudo vim /etc/security/limits.conf

* - nofile 65536
* soft memlock unlimited
* hard memlock unlimited
* soft nproc 4096
* hard nproc 4096

把vi /etc/security/limits.d/90-nproc.conf 裡面nproc一行注掉

#*          soft    nproc     1024
root       soft    nproc     unlimited

修改 /etc/sysctl.conf

vm.max_map_count=655360

fs.file-max=655360

然後sysctl -p使系統配置生效

以上步驟後最好重啟下 reboot

這時候 elasticsearch -d 就能啟動成服務了,然後jps看下java程序中有elasticsearch沒有。

附:head外掛的安裝

wget https://github.com/mobz/elasticsearch-head/archive/master.zip

unzip

cd elasticsearch-head-master

安裝node :網上說的亂七八糟的都不需要,只要按照如下步驟:

先下載node 解壓到/home/zhy/module/elasticsearch-6.4.1/nodejs

然後:

cd elasticsearch-head-master

sudo ln -s /home/zhy/module/elasticsearch-6.4.1/nodejs/bin/node /usr/local/bin/
sudo ln -s /home/zhy/module/elasticsearch-6.4.1/nodejs/bin/npm /usr/local/bin/

npm install -g grunt-cli //執行後會生成node_modules資料夾

npm install

sudo ln -s /home/zhy/module/elasticsearch-6.4.1/nodejs/bin/grunt /usr/local/bin/

檢視 grunt -version 顯示版本號就正確了。

修改vim Gruntfile.js檔案:增加hostname屬性,設定為*

connect: {
    server: {
        options: {
            port: 9100,
            hostname: '*',
            base: '.',
            keepalive: true
        }
    }
}

修改 vim _site/app.js 檔案:修改head的連線地址:
this.base_uri = this.config.base_uri || this.prefs.get(“app-base_uri”) || “http://localhost:9200“;
修改成ElasticSearch的機器地址
this.base_uri = this.config.base_uri || this.prefs.get(“app-base_uri”) || “http://elastichost:9200“;

修改完成你就可以啟動head外掛了:在 elasticsearch-head-master下啟動服務

grunt server &

訪問地址:http://elastichost:9100
如果你在瀏覽器中訪問不了,請檢查防火牆是否關閉。