ElasticSearch

最近在搞elasticsearch,之前我安装了1.7版本的,很顺利。后来我准备装个5.6的,结果遇到了各种坑,所以还是总结下我跳过的每一个坑把。。。

ElasticSearch跟solr一样也是一个基于Lucene的搜索服务器,solr搭建集群的时候还需要依赖zookeeper进行集群的管理,而elasticsearch自身就带有分布式管理功能,在处理实时搜索应用时效率明显高于solr。elasticsearch和solrCloud都有索引index,和分片shard的概念,我理解的就是一个index由多个shard组成,每个shard又有多个副本,分配到每个节点上,从而缓解在一台服务器的压力,也能实现分布式搜索。

elasticsearch5.x版本比之前比较坑的就是他多了很多的环境校验,首先JDK必须1.8以上的,所以我们需要先下载JDK1.8,并配置环境变量,配置环境变量这里需要注意JAVA_HOME一定要放在最前面,否则不会生效。


然后别忘了执行 source etc/profile 使环境变量配置生效,再执行java -version 查看JDK版本。

下载elasticsearch 5.6.3 tar包并解压,为了方便我先建了一个集群的目录 mkdir elasticsearchCloud01,并将解压后的文件在这个目录下复制三份模拟三个节点,命令是

cp  -R elasticsearch-5.6.3/. /elasticsearchCloud/elasticsearch01 

cp  -R elasticsearch-5.6.3/. /elasticsearchCloud/elasticsearch02

cp  -R elasticsearch-5.6.3/. /elasticsearchCloud/elasticsearch03

然后就是修改每个的配置文件 vim config/elasticsearch.yml

主要是修改:cluster.name: vnb  这个是集群的名字,每个节点这个名字要一致

node.name: node-1 节点名字,其他两个我配置的是node-2,node-3

network.host: 192.168.200.5  这里是服务器的ip

http.port: 9200 端口号,其他两个我分别配置的是8200,和7200

http.cors.enabled: true  允许跨域 REST 请求,配置这里主要是让head插件可以跨域访问es

http.cors.allow-origin: "*"  指定rest请求来自何处,这里配置的是*

node.master: true  是否是主节点,这个设置true ,其他两个设置false

node.data: true  指示节点是否为数据节点

配置好后,接下来我就启动主节点,cd到elasticsearch01下,启动./bin/elasticsearch,然后第一个坑开始了,启动报错如下:


什么?elasticsearch5.x版本竟然不允许用root用户启动?什么逻辑?没办法我只能切换到普通用户,su wang,然后用wang这个用户启动elasticsearch,结果报错如下:


好吧,wang这个用户没有权限,我的错。。切换到root用户,赋予elasticsearchCloud01目录下的所有文件和目录的主给wang:

chown -R wang ../elasticsearchCloud01

然后再次切换到wang用户,启动elasticsearch,结果报错如下:


问题是无法创建本地线程问题,用户最大可创建线程数太小,好吧,切换到root用户,vi /etc/security/limits.d/90-nproc.conf,修改* soft nproc 2048

注意上面有两个问题,第二个system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

问题原因:因为Centos6不支持SecComp,而ES5.x默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动,所以在elasticsearch.yml里更改

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

再次切换到wang用户,启动elasticsearch,然后又报这个错


elasticsearch5.x默认分配jvm空间大小为2g,所以修改jvm空间分配,vim config/jvm.options,修改为:

-Xms512m

-Xmx512m

在重新启动,结果还是不行。。。


vim config/elasticsearch.yml

增加配置:node.max_local_storage_nodes: 256 保存退出,重新启动:这回终于好了,浏览器返回如下信息:



接下来就是配置head插件了,具体配置可以参考,http://blog.csdn.net/m0_37886429/article/details/68924087,讲的蛮详细的。。。

head插件配置好后,启动三个ES,再启动head插件,然后在浏览器访问可以看到ES界面:

那些年我遇到的坑:


这个是我复制个节点的时候,把data下了数据也一起复制过来了,解决办法,删除data下的数据。

config/elasticsearch.yml配置说明:

cluster.name:elasticsearch #集群的名称,同一个集群该值必须设置成相同的

node.name:"es2" #该节点的名字

node.master:true #该节点有机会成为master节点

node.data:true #该节点可以存储数据

node.rack:rack2 #该节点所属的机架

index.number_of_shards:5 #shard的数目

index.number_of_replicas:3 #数据副本的数目

network.bind_host:0.0.0.0 #设置绑定的IP地址,可以是IPV4或者IPV6

network.publish_host:10.0.0.209 #设置其他节点与该节点交互的IP地址

network.host:10.0.0.209 #该参数用于同时设置bind_host和publish_host

transport.tcp.port:9300 #设置节点之间交互的端口号

transport.tcp.compress:true #设置是否压缩tcp上交互传输的数据

http.port:9200 #设置对外服务的http端口号

http.max_content_length:100mb #设置http内容的最大大小

http.enabled:true #是否开启http服务对外提供服务

discovery.zen.minimum_master_nodes:2 #设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)

discovery.zen.ping.timeout:120s #设置集群中自动发现其他节点时ping连接的超时时间

discovery.zen.ping.multicast.enabled:true #设置是否打开多播发现节点

discovery.zen.ping.unicast.hosts:["10.0.0.209:9300","10.0.0.206:9300","10.0.0.208:9300"] #设置集群中的Master节点的初始列表,可以通过这些节点来自动发现其他新加入集群的节点


接下来就是在java代码中实现了,我在本地搭建了一个springboot的工程,结合api实现也是很简单的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容