在上一篇我们说到了ElasticSearch的下载与运行,但是目前只有一个实例在运行,并且只能本地访问。那么本章将会说到如何配置实现外网访问以及分布式。

关闭之前运行的ElasticSearch,进入ElasticSearch下载目录

cd ~/elasticSearch/

可以看到之前解压出来的文件,由于手上只有一只服务器,所以就用一台服务器来模拟分布式了。

为了方便管理,先把elasticsearch-6.5.4目录改名为elasticsearch1

mv elasticsearch-6.5.4/ elasticsearch1

然后将elasticsearch1复制一份,并改名为elasticsearch2

cp -r elasticsearch1 elasticsearch2

OK,现在有elasticsearch1和elasticsearch2两个了,分别给他们配置不同的端口。

先配置第一个

vim ./elasticsearch1/config/elasticsearch.yml 

我们关注的是Cluster、Node、Network三个配置。其中Cluster是集群配置,cluster.name相同的elasticsearch会加入到同一个集群中,实现分布式;Node是当前节点,node.name在集群中拥有唯一性,可以理解为服务器的名称;Network为网络配置,主要配置端口等。

# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
#
cluster.name: my-application-dev

将cluster.name前面的#去掉,将cluster.name设置为my-application-dev 

# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
node.name: node-1
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
#

将node.name设置为node-1 

# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: 0.0.0.0
#
# Set a custom port for HTTP:
#
http.port: 9201

将network.host设置为:0.0.0.0,表示所有的IP都可以访问。将http.port设置为9201,即网络访问的端口号。 

设好第一个后,同样设置第二个

vim ./elasticsearch2/config/elasticsearch.yml 

cluster.name要跟第一个保持一致,node.name设置为"node-2",network.host跟第一个一样,http.port设置为"9202",如下图所示

两个都设置好了之后,就分别启动两个ElasticSearch了。首先启动第一个

./elasticsearch1/bin/elasticsearch

然后发现,报错了~~~

ERROR: [2] bootstrap checks failed
[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

可能会出现上面两个错误,也可能只出现一个或者不出现错误,根据实际情况来。

针对错误一:max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]

sudo vim etc/security/limits.conf

在文件的后面加上: * - nofile 65536            * - memlock unlimited 两行,如下图

针对错误二:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

sudo vim /etc/sysctl.conf

在文件的最后一行添加以下语句:vm.max_map_count=262144

然后 执行下面命令,不用重启服务器。

sudo sysctl -p

修改完之后,重新启动第一个

./elasticsearch1/bin/elasticsearch

新建个窗口,启动第二个

./elasticsearch2/bin/elasticsearch

不出意外的话,可以在另外一台电脑的浏览器上输入"服务器ip:9201"和"服务器ip:9202",分别查看到两个ElasticSearch

{"name" : "node-1","cluster_name" : "my-application-dev","cluster_uuid" : "MwHYQNWXSfyTv4ImCCKNJw","version" : {"number" : "6.5.4","build_flavor" : "default","build_type" : "tar","build_hash" : "d2ef93d","build_date" : "2018-12-17T21:17:40.758843Z","build_snapshot" : false,"lucene_version" : "7.5.0","minimum_wire_compatibility_version" : "5.6.0","minimum_index_compatibility_version" : "5.0.0"},"tagline" : "You Know, for Search"
}
{"name" : "node-2","cluster_name" : "my-application-dev","cluster_uuid" : "MwHYQNWXSfyTv4ImCCKNJw","version" : {"number" : "6.5.4","build_flavor" : "default","build_type" : "tar","build_hash" : "d2ef93d","build_date" : "2018-12-17T21:17:40.758843Z","build_snapshot" : false,"lucene_version" : "7.5.0","minimum_wire_compatibility_version" : "5.6.0","minimum_index_compatibility_version" : "5.0.0"},"tagline" : "You Know, for Search"
}

可以看到,两台ElasticSearch的cluster_name跟cluster_uuid是一样的,表示两个节点都加入了同一个集群中 。如何证明呢,在浏览器中输入"[ip]:9201/_cat/nodes?v",就可以看到下面的信息了:

浏览器输入"[ip]:9201/_cat/health?v",可以看到集群的健康情况及节点总数 。

可以看到集群的状态为"green",绿色的健康状态,节点有2个。

到此为止,我们已经实现了ElasticSearch的运行与集群,ElasticSearch现在处于可以使用的状态了

ElasticSearch学习(三):配置与集群相关推荐

  1. ElasticSearch学习(三)——Windows集群部署

    文章名称 地址 ElasticSearch学习(一)--概述 前往 ElasticSearch学习(二)--索引.文档简单操作 前往 ElasticSearch学习(三)--Windows 集群部署 ...

  2. ElasticSearch入门 第二篇:集群配置

    这是ElasticSearch 2.4 版本系列的第二篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

  3. Hadoop组件学习(一) —— 单点与集群的配置

    一.Hadoop核心组件 1.分布式文件存储系统HDFS(Hadoop Distributed File System) 2.资源管理系统YARN(Yet Another Resource Negot ...

  4. OpenSIPS学习笔记-cluster集群模块配置-dialog集群配置

    本章节中,笔者将进一步介绍关于OpenSIPS集群支持的另外一种常见的场景-dialog的集群.dialog集群是OpenSIPS在高并发环境中一定需要考虑的配置功能.通过集群部署方式,可以保证呼叫中 ...

  5. 学习笔记Hadoop(七)—— Hadoop集群的安装与部署(4)—— 配置Hadoop集群

    四.配置Hadoop集群 Hadoop集群总体规划 Hadoop集群安装采用下面步骤: 在Master节点:上传并解压Hadoop安装包 . 在Master节点:配置Hadoop所需configura ...

  6. 使用 Fluentd 和 ElasticSearch Stack 实现 Kubernetes 的集群 Logging

    经过一段时间的探索,我们先后完成了Kubernetes集群搭建,DNS.Dashboard.Heapster等插件安装,集群安全配置,搭建作为Persistent Volume的CephRBD,以及服 ...

  7. Hadoop学习笔记—13.分布式集群中节点的动态添加与下架

    Hadoop学习笔记-13.分布式集群中节点的动态添加与下架 开篇:在本笔记系列的第一篇中,我们介绍了如何搭建伪分布与分布模式的Hadoop集群.现在,我们来了解一下在一个Hadoop分布式集群中,如 ...

  8. Centos7+Elasticsearch7.4.2+Kibana+IK分词+ElasticHD 安装配置以及集群搭建

    Centos7+Elasticsearch7.4.2+Kibana+IK分词+ElasticHD 安装配置以及集群搭建 1. elasticSearch 7.4.2 安装 1.1 关于jdk 1.2 ...

  9. Redis 学习笔记八:集群模式

    Redis 学习笔记八:集群模式 作者:Grey 原文地址: 博客园:Redis 学习笔记八:集群模式 CSDN:Redis 学习笔记八:集群模式 前面提到的Redis 学习笔记七:主从复制和哨兵只能 ...

  10. windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error...

    windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error 学习了:https ...

最新文章

  1. Mac使用自带的屏幕共享实现VNC连接KVM时需要输入密码的问题解决
  2. 成功解决matplotlib\cbook\deprecation.py:107: MatplotlibDeprecationWarning: Passing one of 'on', 'true',
  3. 给网页上加广告的一点感受
  4. 段错误 php,php扩展出现段错误怎么办
  5. Macbook全系列详细分析及购机指南
  6. 实例:用户登录(python 版)
  7. 文本数据处理的终极指南-[NLP入门]
  8. 中石化shell_中石化壳牌(江苏)加油站百日攻坚创效分享
  9. Linux 免费学习路线大全,你想要的都在这里啦(持续更新,欢迎收藏❤️关注点赞加评论)
  10. 【讨论帖】你认为怎么注释是比较合理妥当的方式
  11. linux基础第四天
  12. 深入浅出InfoPath——如何在项目中引用GAC中的dll文件
  13. 删除数组对象 相同的值 制定数组对象
  14. matlab单元刚度矩阵,求助:关于有限元三角形单元合成总刚度矩阵怎么处理
  15. uni-app上自定义微信小程序的tabbar
  16. CR、LF、CRLF 都是什么鬼?
  17. 数据开发岗面试绝地求生
  18. mt6355功率设计注意事项 [仅为mt6758]
  19. python读啥-Python之文件读写
  20. 小米商业产品部第二届Hackathon大赛回顾

热门文章

  1. code collection 0.44版 发布
  2. 微服务熔断限流Hystrix之流聚合
  3. 2019 必看 Android 高级面试题总结
  4. React Native 触摸事件处理详解
  5. iOS-代码实现TableViewCell创建多个样式的Cell
  6. ux.plup.File plupload 集成 ux.plup.FileLis 批量上传预览
  7. freescale 基于arm m0的单片机
  8. Hadoop 面试题之七
  9. Linux如何使用GPG(GNU Privacy Guard)对信息/文件进行加密和解密
  10. 专访飞康新任CEO:云时代下,我们更懂数据保护