- 安裝jdk
自行安裝jdk1.8
- 安裝elasticsearch(下載地址: https://www.elastic.co/cn/downloads )
- 將下載好的安裝包複製到對應目錄
- 解壓
tar -xzvf elasticsearch.tar.gz
- 修改ES配置文件,使用cd命令進入到config 文件下,執行 vi elasticsearch.yml 命令,
主要修改如下參數
- node.name: 指定當前節點的名稱;
- node.master: 指定主節點。值一個設置爲 true,另一個爲 false;
- discovery.zen.ping.unicast.hosts:這裏設置的是節點的 ip,或者自己配置 hosts 文件,指定 ip映射關係,直接寫ip對應的名稱;
- discovery.zen.minimum_master_nodes:主節點數,具體的可以參考 https://www.elastic.co/guide/en/elasticsearch/reference/5.3/important-settings.html#minimum_master_nodes
注:vi有兩個模式:一個是編輯一個是命令。我們從命令進入編輯爲:i,o,a。一般使用的是i。退出點擊esc鍵,
編輯完內容後,按下Esc鍵,並輸入“:wq”,然後回車就可以保存退出,
// master節點配置:
cluster.name: es-demo
node.name: master
node.master: true
node.attr.rack: r1
path.data: /data/elasticsearch // 存儲數據
path.logs: /data/logs/elasticsearch // 日誌
bootstrap.memory_lock: false
network.host: 192.168.48.123 # 從節點成對應的 ip
http.port: 9200
discovery.zen.ping.unicast.hosts:["192.168.48.123", "192.168.48.124"] // 所有es節點
discovery.zen.minimum_master_nodes: 1 // nodes / 2 +1
http.cors.enabled: true
http.cors.allow-origin: "*"
// node節點:
node.name 更新成 node1,
node.master: false,其他的保持一致
network.host: 192.168.48.124
參數修改參考 如下鏈接
單機配置:https://www.cnblogs.com/lizichao1991/p/7809156.html
集羣配置:https://www.linuxidc.com/Linux/2017-04/143136.htm
4、問題處理
- max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] 意思是說你的進程不夠用了
解決方案: 切到root 用戶:進入到security目錄下的limits.conf;執行命令 vim /etc/security/limits.conf 在文件的末尾添加下面的參數值:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
前面的*符號必須帶上,然後重新啓動就可以了。執行完成後可以使用命令 ulimit -n 查看進程數
- max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 需要修改系統變量的最大值了
解決方案:切換到root用戶修改配置sysctl.conf 增加配置值: vm.max_map_count=655360
執行命令 sysctl -p ,然後重新啓動ES服務 就可以了
5、啓動
在bin目錄下,輸入 sh elasticsearch -d(或nohup ./elasticsearch &)後臺運行
6、檢查集羣是否有效 curl -XGET 'http://192.168.48.123:9200/_cat/nodes?pretty
- 安裝kibana(與elasticsearch版本一致)
- Kibana官方下載地址:https://www.elastic.co/cn/downloads/kibana
- 將已下載文件複製到指定目錄,解壓 tar –zxvf kibana.tar.gz
- 然後到kibana安裝目錄的config下,編輯kibana.yml配置文件(vi kibana.yml),添加如下配置:
#配置本機ip
server.host: "192.168.48.123"
#配置es集羣url(配置master節點)
elasticsearch.url: http://192.168.48.123:9200
4. 切換到kibana安裝目錄的bin目錄下,執行kibana文件
./kibana(利用 nohup ./kibana & 可永久啓動)
- 安裝head 插件 (與kibana二選一)
- 下載head安裝包,下載地址: https://github.com/mobz/elasticsearch-head/archive/master.zip
- 上傳到虛擬機上,由於head 插件不能放在elasticsearch 文件夾裏,需要單獨放,單獨去執行;所以在elasticsearch 同級目錄下解壓 head 插件;解壓命令(unzip elasticsearch-head.zip)
- node.js安裝(安裝head時需要)
執行命令一:curl -sL https://rpm.nodesource.com/setup_8.x | bash -
命令二:yum install -y nodejs
執行完成後,可以使用命令 node -v 驗證是否安裝成功,同時npm 也安裝成功了;執行命令 npm -v 也是可以驗證
4. 安裝grunt(安裝head時需要)
cd /home/ntc/code/elasticsearch-head
安裝命令一:npm install -g grunt-cli //執行後會生成node_modules文件夾
命令二:npm install
5. 修改head源碼
vi /home/ntc/code/elasticsearch-head/Gruntfile.js
connect: {
server: {
options: {
port: 9100,
hostname: '*',
base: '.',
keepalive: true
}
}
}
6. 修改 _site/app.js
vi /home/ntc/code/elasticsearch-head/_site/app.js
把localhost修改成你es的服務器地址,如:
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.48.123:9200";
7. 修改Elasticsearch配置
修改elasticsearch.yml文件加入以下內容:
# 是否支持跨域
http.cors.enabled: true
# *表示支持所有域名
http.cors.allow-origin: "*"
8. 啓動服務
cd /home/ntc/code/elasticsearch-head //先跳轉到head目錄下
grunt server //若想在後臺運行,結尾追加“&”
- ik分詞器(與elasticsearch版本對應)
- 下載最新版本的ik分詞庫,github地址爲:https://github.com/medcl/elasticsearch-analysis-ik 下載zip包;
- 假如分詞庫未打包,請按照以下步驟操作;
1) 解壓elasticsearch-analysis-ik-master.zip 得到elasticsearch-analysis-ik-master,進入elasticsearch-analysis-ik-master目 錄,運行mvn package 進行打包,這個過程會比較慢,內存越小越慢,並且內存不夠的話,可能會失敗,如果已打包過了,就可以跳過該步驟;
2) 打包成功後,運行如下命令
Unzip -d /usr/local/elasticsearch/plugins/ik ./target/releases/elasticsearch-analysis-ik-5.3.0.zip
將打包的文件解壓到elasticsearch的plugins目錄下;
3. 假如分詞庫已打包了,請按照下面的操作步驟來處理
unzip -d /usr/local/elasticsearch/plugins/ik ./target/releases/elasticsearch-analysis-ik-5.3.0.zip
4. 重新啓動elasticsearch服務
5. 輸入下面的測試連接看看是否有相應的結果輸出 curl -XGET 'http://localhost:9200/_analyze?pretty&analyzer=ik_max_word' -d '聯想是全球最大的筆記本廠商',如安裝成功會有相應的數據輸出;
- Elasticsearch-sql安裝
Elasticsearch-sq可以通過編寫sql語句查詢es中的數據
官方安裝指導:https://github.com/NLPchina/elasticsearch-sql
- 在線安裝
執行安裝命令,選擇與es匹配的版本,在bin目錄下執行命令:Plugin install
執行成功後,可以看到es的插件中多了sql
2. 離線安裝
選擇與es匹配的版本進行下載,
https://github.com/NLPchina/elasticsearch-sql/releases/download/
將其解壓,放至es的plugins文件夾下,並更名爲sql
注:5.x/6.x 需下載安裝 extract site. 解壓後進行如下操作
cd site-server
npm install express --save
node node-server.js // 啓動 sql
3. 重啓es
4. Sql使用