菜鸟学ElasticSearch:了解一下基本的配置

原创
2016/11/27 22:56
阅读数 184

前提条件:本文中涉及的es版本为2.2.0。如果你手上的版本是2.*.*,可基本参考本文中所提及的内容,如果是5.*.*或者1.*.*,甚至0.*.*,建议就别参考了,es大版本之间的差异还是相当大的,小版本的话还好,大体上大同小异,可以相互参考下。

       最近加了一个es群,发现里面很多人都在问es怎么部署,或者是部署后,为啥这也连不上,那也连不上了。其实就我个人的使用经验来说,es的部署还是很简单的,基本就是下载对应操作系统的安装压缩包,然后放到指定的目录,然后config目录里的elasticsearch.yml配置文件,然后运行bin目录下的elasticsearch.bat(linux系统 ./elasticsearch)。

       接下来,我们可以在浏览器里输入地址“http://localhost:9200/”,然后就能看到如下信息:

       此时就说明你的es服务已经启动成功了,是不是很简单。

       这里需要注意的一点就是启动前配置elasticsearch.yml这一步。很多新手一来,就直接启动服务了,而没有去修改配置文件。这样操作的话,es服务就会使用默认的配置去运行,虽然服务启动没啥问题,但接下来进行后面操作的时候,就会经常因为不知道默认配置的内容而无法进行。

       于是,接下来我们就来说说elasticsearch.yml这个配置文件。

       可以配置的内容很多,有些是服务器的基本信息配置,有些是集群配置,有些性能调优的配置。我自己也只用到了很少一部分,更多的配置建议去官网看看对应的说明。

       这里也就讲讲一些基本配置。

cluster.name:集群的名称。是通过client访问es集群的一个重要属性。

node.name:节点的名称。是通过client访问es节点的一个重要属性。

network.host:ip监听设置(包括http,tcp)。

http.port:http端口设置。默认为9200。

http.enabled:是否启用http设置。默认为true。如果es服务架设在公网的,请不要轻易开启此设置。

transport.tcp.port:tcp端口设置。默认为9300。client访问就是通过该端口实现。

如果大家连接到es服务有问题,或者说看到没有活动的节点的错误提示等问题的话,基本就是上面这几个设置没有对应上或者出了问题导致的了。

node.master:主节点设置。true代表当前节点可以推举为节点的主节点,控制整个集群,false则反之。

node.data:数据节点设置。true代表当前节点为数据节点,进行保存数据和执行数据相关的操作,如增删改查、搜索和聚合,false则反之。

关于master和data节点,如果两个都设置为false的时候,它既不能保持数据也不能成为主节点,该节点可以作为客户端节点,可以响应用户的情况,并把相关操作发送到其他节点。

discovery.zen.ping.multicast.enabled:true代表设置是否打开多播发现节点。如果做集群,建议设置为true。

discovery.zen.ping.unicast.hosts:设置初始化集群的节点。格式为[ip1:prot1,ip2:port2,…]。需要注意的是,这里的ip和port均为tcp的。(补充一点,这里也可以只填写node.master节点)

index.number_of_shards:默认分片数设置。

index.number_of_replicas:默认副本数设置。

index.refresh_interval:索引更新间隔。单位为秒。

 

       以上设置都完成后,再启动es服务。大家就可以开始试试之前遇到在这个配置修改后,有没有改观。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部