配置好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")
便可