配置好java環境變量java
從官網下載elasticsearch,解壓,進入Elasticsearch目錄python
在linux環境下輸入如下執行命令便可啓動:linux
bin/elasticsearch
默認啓動外網是沒法訪問的,須要對配置文件進行修改:windows
vi config/elasticsearch.yml
添加以下內容:瀏覽器
network.host: 0.0.0.0 http.port: 8086
關閉es再次啓動:(一般來講會遇到以下錯誤,由於es對資源需求量較大,通常linux默認配置並無達到es資源需求)bash
【報錯1】max file descriptors [4096] for elasticsearch process likely too low, consider increasing to at least [65536]elasticsearch
須要修改系統文件/etc/security/limits.conf並添加(或修改)以下行ide
* soft nofile 65536 * hard nofile 131072
其中的*號表明該配置對全部用戶適用spa
注意!修改完後再啓動es會發現錯誤依舊存在,這時候應先退出登陸(windows適用putty遠程登陸linux的用戶應退出putty),再次登陸,方可生效。code
【報錯2】max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
須要修改系統文件/etc/sysctl.conf並添加(或修改)以下行
vm.max_map_count=655360
保存退出後,須要運行以下命令使其生效:
sysctl -p
此時咱們經過瀏覽器打開頁面,就能訪問ES了:
若是咱們配置了特殊的端口(例如本文中配置爲8086,而不是默認的9200)應該如何訪問呢?咱們以python爲例:
from datetime import datetime from elasticsearch import Elasticsearch es = Elasticsearch(hosts="roc-3:8086") index = 'my-index3' doc_type = "test-type" id_num = 01 es.indices.create(index=index) es.index(index=index, doc_type=doc_type, id=id_num, body={"any": "data01", "timestamp": datetime.now(), "quantity": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]} ) res = es.get(index=index, doc_type=doc_type, id=id_num) for k in res.keys(): print(k, res[k])
只須要把默認的
es = Elasticsearch()
改爲
es = Elasticsearch(hosts="roc-3:8086")
便可