1. 程式人生 > >Centos7 單機安裝Elasticsearch6.3.0

Centos7 單機安裝Elasticsearch6.3.0

設置 表達 應該 bili zip val 否支持 allow else

安裝Elasticsearch至少需要JAVA1.8以上的版本,這裏直接用yum安裝

1 # yum -y install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64

ELasticsearch官方下載,這裏使用的tar包安裝,官網也有做好的RPM包直接安裝

1 # wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.0.tar.gz

配置sysctl.conf

 1 #修改sysctl配置
 2 vim /etc/sysctl.conf
3 #添加如下配置 4 vm.max_map_count=262144
5 #讓配置生效 6 sysctl -p 7 #查看配置的數目 8 sysctl -a|grep vm.max_map_count

elasticsearch從5.0版本之後不允許root賬戶啟動

 1 #添加用戶
 2 adduser elsearch
 3 
 4 #設定密碼
 5 passwd elsearch
 6 
 7 #添加權限
 8 chown -R research:research /data/elasticsearch-6.3.0
 9 
10 #切換用戶
11 su elsearch
12 
13 #啟動elasticsearch
14 
15 ./elasticsearch-6.3.0/bin/elasticsearch
16 配置limits.conf
17 
18 vim /etc/security/limits.conf
19 20 * soft nofile 65535 21 * hard nofile 65535 22 23 改為 24 * soft nofile 65536 25 * hard nofile 65536 26 27 #切換用戶 28 su elsearch 29 30 配置所有用戶訪問 31 vim /data/elasticsearch-6.3.0/config/elasticsearch.yml 32 添加一下內容 33 network.host: 0.0.0.0

curl查看9200端口,筆記本使用Chrome瀏覽器打不開換火狐可以,不知為何

 1 [root@node2 ~]# curl localhost:9200
2 { 3 "name" : "XifVC-v", 4 "cluster_name" : "elasticsearch", 5 "cluster_uuid" : "xasjIJiDSM6bAOeMHeF2GQ", 6 "version" : { 7 "number" : "6.3.0", 8 "build_flavor" : "default", 9 "build_type" : "tar", 10 "build_hash" : "424e937", 11 "build_date" : "2018-06-11T23:38:03.357887Z", 12 "build_snapshot" : false, 13 "lucene_version" : "7.3.1", 14 "minimum_wire_compatibility_version" : "5.6.0", 15 "minimum_index_compatibility_version" : "5.0.0" 16 }, 17 "tagline" : "You Know, for Search" 18 }

安裝Elasticsearch head插件

1 wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.5.0-linux-x64.tar.gz
2 
3 [elsearch@node2 ~]$ sudo tar zxvf node-v4.5.0-linux-x64.tar.gz -C /usr/local/
4 配置環境變量
5 export NODE_HOME=/usr/local/node-v4.5.0-linux-x64
6 export PATH=$PATH:$NODE_HOME/bin
7 export NODE_PATH=$NODE_HOME/lib/node_modules

安裝npm

[root@node2 ~]# npm install -g cnpm --registry=https://registry.npm.taobao.org

下載head插件
[elsearch@node2 ~]$ wget https://github.com/mobz/elasticsearch-head/archive/master.zip
[elsearch@node2 ~]$ sudo unzip master.zip 
[root@node2 ~]# npm install -g grunt

[root@node2 ~]# npm install -g grunt-cli --registry=https://registry.npm.taobao.org --no-proxy

下載依賴包

[root@node2 ~]# cd /usr/local/elasticsearch-head-master/
[root@node2 elasticsearch-head-master]# npm install
接下來是漫長的等待時間

啟動head

[elsearch@node2 elasticsearch-head-master]$ sudo vim Gruntfile.js
                connect: {
                        server: {
                                options: {
                                        hostname:0.0.0.0,
                                        port: 9100,
                                        base: .,
                                        keepalive: true
                                }
                        }
                }

        });

在當前目錄啟動head
通過命令grunt server 啟動head

[root@node2 elasticsearch-head-master]# grunt server
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100

啟動之後打開鏈接發現集群狀態未連接,網上查了資料是

Cross-origin resource sharing (CORS) is a mechanism that allows restricted resources ,即跨域訪問。

這個字段默認為false,在Elasticsearch安裝集群之外的一臺機上用Sense、Head等監控插件訪問Elasticsearch是不允許的。這個字段最早可以追溯到1.4.x版本,而非5.x特有。

具體這個http.cors.x字段還有哪些用途和用法,見下表:

http.cors.enabled 是否支持跨域,默認為false
http.cors.allow-origin 當設置允許跨域,默認為*,表示支持所有域名,如果我們只是允許某些網站能訪問,那麽可以使用正則表達式。比如只允許本地地址。 /https?:\/\/localhost(:[0-9]+)?/
http.cors.max-age 瀏覽器發送一個“預檢”OPTIONS請求,以確定CORS設置。最大年齡定義多久的結果應該緩存。默認為1728000(20天)
http.cors.allow-methods 允許跨域的請求方式,默認OPTIONS,HEAD,GET,POST,PUT,DELETE
http.cors.allow-headers 跨域允許設置的頭信息,默認為X-Requested-With,Content-Type,Content-Length
http.cors.allow-credentials 是否返回設置的跨域Access-Control-Allow-Credentials頭,如果設置為true,那麽會返回給客戶端。

所以我在配置文件中添加

http.cors.enabled: true
http.cors.allow-origin: "*"

摘自https://www.cnblogs.com/zklidd/p/6433123.html

重啟ELasticSearch之後再啟動head

技術分享圖片

Bigdesk直接可以通過python提供的http服務器,python -m SimpleHTTPServer運行,服務器運行,端口號是8000,默認情況下linux系統下安裝過了python,所以下載下來壓縮包,直接運行服務就可以了。

下載地址

#官網地址
https://github.com/hlstudio/bigdesk

#我的七牛地址
http://yellowcong.qiniudn.com/bigdesk-master.zip

安裝

#下載
wget http://yellowcong.qiniudn.com/bigdesk-master.zip

#解壓
unzip bigdesk-master.zip

#進入到sit目錄
cd /bigdesk-master/_site

#啟動web服務器
#監聽端口號是 8000
python -m SimpleHTTPServer

Centos7 單機安裝Elasticsearch6.3.0