1. 一、环境说明
  2. 1、物理机信息(主要):
  3. 内存:8G
  4. 系统/主频:Win7(旗舰版)64位/3.70GHZ
  5. 2、虚拟机信息:
  6. VMware Workstation 14 Pro
  7. 下载地址: 链接:https://pan.baidu.com/s/1X4RtZdQxL6HWGH1pAYyBhg 提取码:26iv
  8. 3、镜像信息:
  9. CentOS-7-x86_64-DVD-1804.iso
  10. 下载地址:http://ftp.sjtu.edu.cn/centos/7/isos/x86_64/
  11. 4ElasticSearch
  12. 版本:elasticsearch-6.5.3.tar.gz
  13. 下载地址:https://www.elastic.co/downloads/elasticsearch
  1. 二、安装步骤
  2. 1、安装VMware/系统镜像
  3. 具体安装步骤参考:https://blog.csdn.net/alan_gaohaodong/article/details/79867052
  4. 说明:
  5. <> 为后期操作方便建议将"GONME桌面"安装上
  6. <> 如果在内网环境安装,建议全量安装(即"开发工具""安全性工具""传统X Windows系统的兼容性""调试工具"等安装上)
  7. <> 本次需要3ES节点,故需要创建3个虚拟机
  8.  
  9. 2、配置通信网络(root用户登录操作)
  10. 最终目标:物理机与3个虚拟机之间互相ping通、3个虚拟机之间互相ping
  11. <> 设置网络连接模式为 NAT
  12. <> 设置IP(实际环境文件名:ifcfg-eth0 文件示例)
  13. vi /etc/sysconfig/network-scripts/ifcfg-ens33
  14. 生效:重启系统 命令:reboot
  15. 假设配置的三台虚拟机地址分别为:192.168.1.1 192.168.1.2 192.168.1.3
  16. <> 设置主机名
  17. vi /etc/hostname 新增如下内容
  18. 如果当前主机IP192.168.1.1,则新增es1
  19. 如果当前主机IP192.168.1.2,则新增es2
  20. 如果当前主机IP192.168.1.3,则新增es3
  21. <> 配置主机名、IP映射关系
  22. vi /etc/hosts 新增如下内容
  23. 192.168.1.1 es1
  24. 192.168.1.2 es2
  25. 192.168.1.3 es3
  26. <> 开放端口(9200:与ES通信的http端口 5601:与kibana通信的http端口)
  27. 查询端口是否开放:firewall-cmd --query-port=9200/tcp
  28. 开放9200端口:firewall-cmd --zone=public --add-port=9200/tcp --permanent
  29. 生效:firewall-cmd --relaod
  30. 解决问题:通过curl或者浏览器不能访问ES(集群)节点
  31.  
  32. 3、虚拟机系统配置
  33. 说明:a3个虚拟机都需要配置 b、以root用户登录操作
  34. <> limits.conf
  35. vi /etc/security/limits.conf 新增如下内容
  36. * soft nofile 65536
  37. * hard nofile 131072
  38. * soft nproc 4096
  39. * hard nproc 4096
  40. 避免问题 max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
  41. <> 20-nproc.conf
  42. vi /etc/security/limits.d/20-nproc.conf 修改
  43. * soft nproc 4096
  44. * hard nproc 4096
  45. 避免问题: max number of threads [3764] for user [xx] is too low, increase to at least [4096];
  46. <> sysctl.conf
  47. vi /etc/sysctl.conf 新增如下内容
  48. vm.max_map_count = 655360
  49. 执行操作,更新生效:sysctl -p
  50. 避免问题:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
  51. <> 关闭防火墙
  52. 查看防火墙状态:firewall-cmd --state
  53. 关闭防火墙:systemctl stop firewalld.service
  54. 参考:https://blog.csdn.net/qq_34077993/article/details/82889558
  55. 避免问题:org.elasticsearch.discovery.MasterNotDiscoveredException: waited for [30s]
  56.  
  57. 4、创建用户
  58. 说明:a3个虚拟机都需要配置 b、以root用户登录操作
  59. 创建用户组:groupadd es
  60. 创建用户: useradd es -g es
  61. 更改密码: passwd es
  62.  
  63. 5、创建安装包、数据、日志存放目录
  64. 说明:a3个虚拟机都需要配置 b、以root用户登录操作
  65. <> 创建软件包存放位置,如
  66. mkdir /app/es
  67. <> 创建数据存放目录,如
  68. mkdir /app/es/data
  69. <> 创建日志存放目录,如
  70. mkdir /app/es/log
  71. 说明: <> <> 可以一起创建
  72. 命令:mkdir /app/es/data /app/es/log
  73. <> 为上述目录赋es用户相关权限
  74. chown -R es:es /app
  75.  
  76. 6、上传、解压软件包(elasticsearch-6.5.3.tar.gz)至上述目录(es用户操作)
  77. 解压elasticsearch-6.5.3.tar.gz
  78. cd /app/es/
  79. tar -zxvf elasticsearch-6.5.3.tar.gz elasticsearch-6.5.3
  80.  
  81. 7、配置elasticsearch.yml(es用户操作)
  82. <> 进入elasticsearch解压后的目录
  83. cd /app/es/elasticsearch-6.5.3/config
  84. vi elasticsearch.yml
  85. 编辑内容 参见附件
  86. 说明:
  87. a、改一个节点的elasticsearch.yml,其他节点可直接远程复制,只用修改节点名称、节点IP2个地方即可
  88. b、远程复制命令:scp -r 用户名@主机名:源文件路径 源文件存放路径
  89. <> 主要配置项说明
    cluster.name: 集群名(一个集群所有节点的集群名称必须一致)
    node.name: 节点名(不同节点,名称不能一致)
    node.master: 主节点(true:是 false:不是)
    node.data: 存储数据(true:存储 false:不存储)
    node.ingest: 参与选举(true:参与 false:不参与)
    path.data: 数据存放路径
    path.logs: 日志存放路径
    bootstrap.memory_lock: 避免内存交换(需设置为false),参考:https://elasticsearch.cn/article/149
    bootstrap.system_call_filter: Centos6不支持SecComp---需设置为false,如果为CentOS7则可设置为true
    network.host: 节点ip
    http.port: 节点端口
    transport.tcp.port: 节点之间通信端口
    http.cors.enabled: 跨域访问(一般为true)
    http.cors.allow-origin: 跨域访问(一般为"*")
    discovery.zen.ping.unicast.hosts: 主节点:节点通信端口 数组形式呈现 示例["192.168.1.1:9300","192.168.1.2:9300"]
    注意:示例中 192.168.1.1192.168.1.2 两个节点node.masternode.ingest这两个属性都得为true
    discovery.zen.minimum_master_nodes: 设置最小主节点个数,一般为:(master_node_count+1)/2 说明:master_node_count:设置node.master=true的节点个数
  1. 8、启动ES集群(es用户操作)
  2. <> 进入es1(节点1)elasticsearch解压目录bin路径下,示例:
  3. cd /app/es/elasticsearch-6.5.3/bin
  4. <> 启动
  5. ./elasticsearch &
  6. <> 启动另外两个节点
  1. 三、验证
  2. <>方式一:浏览器
  3. http://192.168.1.1:9200/_cat/nodes?v
  4. 示例:
  5.  
  6. <>方式二:安装ElasticSearch-Head.crx查看
  7. 示例:

参考:

https://elasticsearch.cn/article/6152

https://blog.csdn.net/gamer_gyt/article/details/59077189

https://blog.csdn.net/qq_22211217/article/details/80740873    (centos7下部署elasticsearch常见错误)

https://www.cnblogs.com/zhi-leaf/p/8484337.html          (ES启动常见错误)

https://blog.csdn.net/wanderstarrysky/article/details/52924434

https://blog.csdn.net/zx110503/article/details/78787483            (端口开放)

本地虚拟机搭建ES集群的更多相关文章

  1. virtualbox 虚拟3台虚拟机搭建hadoop集群

    用了这么久的hadoop,只会使用streaming接口跑任务,各种调优还不熟练,自定义inputformat , outputformat, partitioner 还不会写,于是干脆从头开始,自己 ...

  2. Kubernetes 搭建 ES 集群(存储使用 cephfs)

    一.集群规划 使用 cephfs 实现分布式存储和数据持久化 ES 集群的 master 节点至少需要三个,防止脑裂. 由于 master 在配置过程中需要保证主机名固定和唯一,所以搭建 master ...

  3. Kubernetes 搭建 ES 集群(存储使用 local pv)

    一.集群规划 由于当前环境中没有分布式存储,所以只能使用本地 PV 的方式来实现数据持久化. ES 集群的 master 节点至少需要三个,防止脑裂. 由于 master 在配置过程中需要保证主机名固 ...

  4. 虚拟机搭建Hadoop集群

    安装包准备 操作系统:ubuntu-16.04.3-desktop-amd64.iso 软件包:VirtualBox 安装包:hadoop-3.0.0.tar.gz,jdk-8u161-linux-x ...

  5. 搭建ES集群

    服务版本选择 TEG的ctsdb当前最高版本采用的是es的6.4.3版本,为了日后与ctsdb衔接方便,部署开源版es时也采用该版本.6.4.3版本的es依赖的jdk版本要求在8u181以上,测试环境 ...

  6. ELK搭建<一>:搭建ES集群

    1.首先进入官网下载ES,如果下载最新之前的版本 点击past releases就行了. 2.解压后进入config修改配置文件elasticsearch.yml #集群名称 cluster.name ...

  7. Docker搭建ES集群

    Spring Boot连接ES,spring-boot-starter-data-elasticsearch. 必须为集群方式!否则报错! 报错: None of the configured nod ...

  8. 在本地模拟搭建zookeeper集群环境实例

    先给一堆学习文档,方便以后查看 官网文档地址大全: OverView(概述) http://zookeeper.apache.org/doc/r3.4.6/zookeeperOver.html Get ...

  9. Mac上使用虚拟机搭建Hadoop集群

    一. mini安装一台centos到虚拟机上 安装过程参考这篇博客http://www.linuxdown.net/install/setup/2015/0906/4053.html 二. 修改网络配 ...

随机推荐

  1. SSIS 从oracle 转数据回MS SQL

    SSIS 从oracle 转数据回MS SQL,转每月的销售记录,大概15000以内,在开发机器上没问题,部署到生产环境出现各种状况“ SSIS 无法从连接伺服器的OLE DB提供者BULK 提取资料 ...

  2. 6.Python字符串

    #header { display: none !important; } } #header-spacer { width: 100%; visibility: hidden; } @media p ...

  3. python 切片技巧

    说明: 字符串[开始索引:结束索引:步长] 开始索引:从指定位置开始截取: 结束索引:从指定位置结束截取,但不包含该位置的字符. 步长:不指定时步长为1: 1)当步长为正数时候,那么切片是从左到右进行 ...

  4. ETCD实战

    一.建立集群 1.在每台机器上建立环境变量 TOKEN=token-01 CLUSTER_STATE=new NAME_1=machine-1 NAME_2=machine-2 NAME_3=mach ...

  5. 转专业后对于C语言补修的一些体会(2)

    第三章,有以下几个比较重要的点: 1. 强制类型转换. 强制类型转换是C语言中一个十分重要的工具,在C语言的使用中,有很多需要用到强制类型转换的地方,比如在除法中,如果想要得到正确的浮点结果,一般要确 ...

  6. 在Eclipse或Myeclipse安装Maven插件的几种方法

    http://blog.csdn.net/lfsfxy9/article/details/9397937

  7. 洗牌利器——random.shuffle()函数

    random.shuffle()是一个非常实用但是又非常容易被忽略的函数,shuffle在英语里是"洗牌"的意思,该函数非常形象地模拟了洗牌的过程,即: random.shuffl ...

  8. LinkList(链表)

    code: #include <stdio.h> #include <time.h> #include <conio.h> #include <stdlib. ...

  9. python实现队列(queue)

    队列队列是一种先进先出的数据结构,主要操作包括入队,出队.入队的元素加入到对尾,从队头取出出队的元素.这里用列表简单模拟队列,其实现如下: queue()is_empty()size()enqueue ...

  10. Faster-RCNN Pytorch实现的minibatch包装

    实际上faster-rcnn对于输入的图片是有resize操作的,在resize的图片基础上提取feature map,而后generate一定数量的RoI. 我想首先去掉这个resize的操作,对每 ...