一、环境说明
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. Spring Boot中Restful Api的异常统一处理

    我们在用Spring Boot去向前端提供Restful Api接口时,经常会遇到接口处理异常的情况,产生异常的可能原因是参数错误,空指针异常,SQL执行错误等等. 当发生这些异常时,Spring B ...

  2. php mongdb driver 1.17

    Installation To build and install the driver: $ pecl install mongodb $ echo "extension=mongodb. ...

  3. 数据结构--Java语言描述

    本篇文章是为了记录自己在学习数据结构时的笔记,会对常见的数据结构做基本的介绍以及使用Java语言进行实现.包括 动态数组 栈 队列 链表 二分搜索树 优先队列和堆 线段树 Trie树 并查集 AVL树 ...

  4. JavaSE复习~方法基础

    方法的概念 方法:就是讲一个功能抽取出来,把代码单独定义在其中,形成一个单独的功能 我们需要这个功能的时候,就可以去调用,实现了代码的复用性,也解决了代码冗余的问题 方法的定义 定义的一般格式:jav ...

  5. Ubuntu 12.10 安装vim出错

    在Ubuntu 12.10中安装vim时出现了如下提示: 正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装.如果您用的是 unstable ...

  6. JavaWeb项目用浏览器打开网页出现Session Error提示的解决办法

    找到web.xml配置的原始配置的位置: <servlet> <servlet-name>dwr-invoker</servlet-name> <servle ...

  7. 洛谷P1009 阶乘之和 题解

    想看原题请点击这里:传送门 看一下原题: 题目描述 用高精度计算出S=!+!+!+…+n! (n≤) 其中“!”表示阶乘,例如:!=****××××. 输入格式 一个正整数N. 输出格式 一个正整数S ...

  8. Python 基础之正则之二 匹配分组,正则相关函数及表达式修饰符

    四.匹配分组   [元字符] 分组符号 a|b   匹配字符a 或 字符b  (如果两个当中有重合部分,把更长的那个放前面) (ab)   匹配括号内的表达式 ,将()作为一个分组 num  引用分组 ...

  9. python 可视化 pyecharts

    github搜索pyecharts https://github.com/pyecharts/pyecharts echarts : https://www.echartsjs.com/zh/inde ...

  10. svn 回退/更新/取消某个版本命令详解

    1,取消文件: svn revert 文件名 2,取消目录 svn revert --depth=infinity 目录名 3,回退版本 方法1: 用svn merge 1) 先svn up,保证更新 ...