一、环境说明
1、物理机信息(主要):
内存:8G
系统/主频:Win7(旗舰版)64位/3.70GHZ
2、虚拟机信息:
VMware Workstation 14 Pro
下载地址: 链接:https://pan.baidu.com/s/1X4RtZdQxL6HWGH1pAYyBhg 提取码:26iv
3、镜像信息:
CentOS-7-x86_64-DVD-1804.iso
下载地址:http://ftp.sjtu.edu.cn/centos/7/isos/x86_64/
4、ElasticSearch:
版本:elasticsearch-6.5.3.tar.gz
下载地址:https://www.elastic.co/downloads/elasticsearch
二、安装步骤
1、安装VMware/系统镜像
具体安装步骤参考:https://blog.csdn.net/alan_gaohaodong/article/details/79867052
说明:
<> 为后期操作方便建议将"GONME桌面"安装上
<> 如果在内网环境安装,建议全量安装(即"开发工具"、"安全性工具"、"传统X Windows系统的兼容性"、"调试工具"等安装上)
<> 本次需要3个ES节点,故需要创建3个虚拟机 2、配置通信网络(root用户登录操作)
最终目标:物理机与3个虚拟机之间互相ping通、3个虚拟机之间互相ping通
<> 设置网络连接模式为 NAT
<> 设置IP(实际环境文件名:ifcfg-eth0 文件示例)
vi /etc/sysconfig/network-scripts/ifcfg-ens33
生效:重启系统 命令:reboot
假设配置的三台虚拟机地址分别为:192.168.1.1 192.168.1.2 192.168.1.3
<> 设置主机名
vi /etc/hostname 新增如下内容
如果当前主机IP为192.168.1.1,则新增es1
如果当前主机IP为192.168.1.2,则新增es2
如果当前主机IP为192.168.1.3,则新增es3
<> 配置主机名、IP映射关系
vi /etc/hosts 新增如下内容
192.168.1.1 es1
192.168.1.2 es2
192.168.1.3 es3
<> 开放端口(9200:与ES通信的http端口 5601:与kibana通信的http端口)
查询端口是否开放:firewall-cmd --query-port=9200/tcp
开放9200端口:firewall-cmd --zone=public --add-port=9200/tcp --permanent
生效:firewall-cmd --relaod
解决问题:通过curl或者浏览器不能访问ES(集群)节点 3、虚拟机系统配置
说明:a、3个虚拟机都需要配置 b、以root用户登录操作
<> limits.conf
vi /etc/security/limits.conf 新增如下内容
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
避免问题max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
<> 20-nproc.conf
vi /etc/security/limits.d/20-nproc.conf 修改
* soft nproc 4096
* hard nproc 4096
避免问题: max number of threads [3764] for user [xx] is too low, increase to at least [4096];
<> sysctl.conf
vi /etc/sysctl.conf 新增如下内容
vm.max_map_count = 655360
执行操作,更新生效:sysctl -p
避免问题:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
<> 关闭防火墙
查看防火墙状态:firewall-cmd --state
关闭防火墙:systemctl stop firewalld.service
参考:https://blog.csdn.net/qq_34077993/article/details/82889558
避免问题:org.elasticsearch.discovery.MasterNotDiscoveredException: waited for [30s] 4、创建用户
说明:a、3个虚拟机都需要配置 b、以root用户登录操作
创建用户组:groupadd es
创建用户: useradd es -g es
更改密码: passwd es 5、创建安装包、数据、日志存放目录
说明:a、3个虚拟机都需要配置 b、以root用户登录操作
<> 创建软件包存放位置,如
mkdir /app/es
<> 创建数据存放目录,如
mkdir /app/es/data
<> 创建日志存放目录,如
mkdir /app/es/log
说明: <> <> 可以一起创建
命令:mkdir /app/es/data /app/es/log
<> 为上述目录赋es用户相关权限
chown -R es:es /app 6、上传、解压软件包(elasticsearch-6.5.3.tar.gz)至上述目录(es用户操作)
解压elasticsearch-6.5.3.tar.gz
cd /app/es/
tar -zxvf elasticsearch-6.5.3.tar.gz elasticsearch-6.5.3 7、配置elasticsearch.yml(es用户操作)
<> 进入elasticsearch解压后的目录
cd /app/es/elasticsearch-6.5.3/config
vi elasticsearch.yml
编辑内容 参见附件
说明:
a、改一个节点的elasticsearch.yml,其他节点可直接远程复制,只用修改节点名称、节点IP2个地方即可
b、远程复制命令:scp -r 用户名@主机名:源文件路径 源文件存放路径
<> 主要配置项说明
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.1和192.168.1.2 两个节点node.master、node.ingest这两个属性都得为true
discovery.zen.minimum_master_nodes: 设置最小主节点个数,一般为:(master_node_count+1)/2 说明:master_node_count:设置node.master=true的节点个数
    8、启动ES集群(es用户操作)
<> 进入es1(节点1)elasticsearch解压目录bin路径下,示例:
cd /app/es/elasticsearch-6.5.3/bin
<> 启动
./elasticsearch &
<> 启动另外两个节点
三、验证
<>方式一:浏览器
http://192.168.1.1:9200/_cat/nodes?v
示例:
<>方式二:安装ElasticSearch-Head.crx查看
示例:

参考:

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. Introducing .NET 5

    Today, we’re announcing that the next release after .NET Core 3.0 will be .NET 5. This will be the n ...

  2. es 搜索功能简介

    DSL 语法介绍 语法 范围 /_search 集群上搜索所有的索引 /index1/_search index1 /index1,index2/_search index1和index2 /inde ...

  3. Spring学习(八)

    AOP的重要概念 1.切面 : 切点(Pointcut) + Advice[ 在哪里 .加什么 ] 2.Advice: 在 切点 选中的 连接点 "加入" 的 代码 就是 Advi ...

  4. 吴裕雄--天生自然Numpy库学习笔记:NumPy 数据类型

    下表列举了常用 NumPy 基本类型. 名称 描述 bool_ 布尔型数据类型(True 或者 False) int_ 默认的整数类型(类似于 C 语言中的 long,int32 或 int64) i ...

  5. VUE组件 单独文件封装

    https://www.cnblogs.com/SamWeb/p/6391373.html vuejs 单文件组件.vue 文件   vuejs 自定义了一种.vue文件,可以把html, css, ...

  6. httpclient使用-get-post-传参

    转自:https://www.jianshu.com/p/375be5929bed 一.HttpClient使用详解与实战一:普通的GET和POST请求 简介 HttpClient是Apache Ja ...

  7. #P2010 回文日期 的题解

    题目描述 在日常生活中,通过年.月.日这三个要素可以表示出一个唯一确定的日期. 牛牛习惯用88位数字表示一个日期,其中,前44位代表年份,接下来22位代表月 份,最后22位代表日期.显然:一个日期只有 ...

  8. RestTemplate HttpMessageConverter报错的解决方案no suitable HttpMessageConverter

    错误 no suitable HttpMessageConverter found for response type and content type [text/html;charset=UTF- ...

  9. 《JavaScript高级程序设计》读书笔记(一)JavaScript简介

    起于客户端数据验证特性----闭包----匿名函数----元编程等----等想要全面理解和掌握JavaScript----本质----历史----局限性 ECMAScript 脚本语言标准 JavaS ...

  10. 爬虫(十四):Scrapy框架(一) 初识Scrapy、第一个案例

    1. Scrapy框架 Scrapy功能非常强大,爬取效率高,相关扩展组件多,可配置和可扩展程度非常高,它几乎可以应对所有反爬网站,是目前Python中使用最广泛的爬虫框架. 1.1 Scrapy介绍 ...