elasticsearch 5.x 搭建学习过程

来源:互联网 发布:未转变者服务器端口 编辑:程序博客网 时间:2024/06/06 00:55

网上找了大部分的教程都是1.x 2.x 的搭建  找个5.x 版本的搭建资料去参考真不容易啊

liunx 下安装。cd /usr/local 目标路径 自定义的,我这里下的是最新的5.6.1的包 

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.1.tar.gz

下载完成 解压 tar -zxvfelasticsearch-5.6.1.tar.gz

需要jdk 8以上的环境 安装JD8这里就不说了,自己百度。我用的是最新的8.0_144版本

启动 ES bin目录下 ./elasticsearch

报错 0x00007f2cae000000, 33554432, 0) failed; error='Cannot allocate memory' (errno=12)

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)

由于elasticsearch5.0默认分配jvm空间大小为2g,修改jvm空间分配,ES_HOME/config/jvm.options  -xms2g -xmx修改为 -xms512m -xmx512m


继续启动 报错 can not run elasticsearch as root 显然不能用root用户启动,那么我们新建一个用户去启动。

切换到 root  新建用户,adduser esUser

继续启动,继续报错 

权限不够,用root赋予ES用户文件夹权限 chown esUser /usr/local -R

切换到esUser

启动继续报错,不是权限的问题,新的问题

启动报错的部分问题 参考http://blog.csdn.net/u012246178/article/details/63253531

经过各种修改配置文件,解决,启动正常,通过 curl localhost:9200 访问,返回

{  "name" : "Oj6a5e4",  "cluster_name" : "elasticsearch",  "cluster_uuid" : "qbhH0ylgQp-PBARMkB_Peg",  "version" : {    "number" : "5.6.1",    "build_hash" : "667b497",    "build_date" : "2017-09-14T19:22:05.189Z",    "build_snapshot" : false,    "lucene_version" : "6.6.1"  },  "tagline" : "You Know, for Search"}

name 为es启动时自动分配给当前节点的名字,

cluster_name 当前节点所属集群的名称,默认为elasticsearch

剩下的就是一些版本的信息,说明本地访问成功,然而因为我是阿里云搭建的,我想本地测试,

那么我要开通对外网的接口访问功能了。

首先stop es,我用了最粗暴的方法 lsof -i:9200 查看9200端口的进程相关信息,

获取到PID,kill -9 pid ,

修改%ES_HOME%/config/elasticseache.yml  

放开 network:192.168.0.1 的注释 并为修改为 network:0.0.0.0 

重新启动es ,启动成功

然后通过 IP:9200 访问 失败,再次查看liunx ,成功啊 ??? 然后各种修改配置文件 ,折腾了我一下午,居然是阿里云的安全组策略,我勒个去。。坑死爹。。

新增安全组策略 开放9200端口,访问成功。


 Ip:9200/_cat?indics  这个命令可以获取到es当前所有的索引信息,

health status index    uuid                   pri rep docs.count docs.deleted store.size pri.store.sizeyellow open   customer MN7ieNzwSwGrfCfMBK0IWQ   5   1        103            0    147.9kb        147.9kb
health 健康状态 有绿色 黄色 红色。对应索引的数据状态

index 为当前es所拥有的索引,name 为 customer

/_cat 为es提供的一些系统级api,可以查看一些系统信息


从而引出索引 index ,我对索引的理解是对应数据库的库,

每个库都有自己的表,对应到es 就是 type(类型),

每个表都有自己的数据记录(行),那么每条记录 对应到es上就是 doc (文档,)

但是不同的地方是数据库里 每个表的每行记录都是固定的几个字段,不管是你增删改查,都要遵循这几个字段进行操作。

而在es中 ,每个类型里的每个文档可以有不同的字段。对于类型来说,你的文档不管几个字段,我通吃。


然后开始练习es的各种语法的联系,这里参考一下 http://blog.csdn.net/cnweike/article/details/33736429

进行一些初步的了解,然后就可以整合前段时间搭建的spring cloud demo。

原创粉丝点击