一、环境说明
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. try catch和if else

    当错误发生时,当事情出问题时,JavaScript 引擎通常会停止,并生成一个错误消息.描述这种情况的技术术语是:JavaScript 将抛出一个错误. try 语句允许我们定义在执行时进行错误测试的 ...

  2. js中substr、substring、indexOf、lastIndexOf的用法

    substr substr(start,length)表示从start位置开始,截取length长度的字符串 var str="imgs/header_2.jpg"; consol ...

  3. opencv python:ROI 与 泛洪填充

    提取ROI区域,处理然后放回去: 泛洪填充 测试代码:显示一张图像,鼠标点击之后,会从该点开始进行填充,显示填充后的结果图像 注:二值图像的填充需要使用选项:cv2.FLOODFILL_MASK_ON ...

  4. POJ 3987 Computer Virus on Planet Pandora (AC自动机优化)

    题意 问一个字符串中包含多少种模式串,该字符串的反向串包含也算. 思路 解析一下字符串,简单. 建自动机的时候,通过fail指针建立trie图.这样跑图的时候不再跳fail指针,相当于就是放弃了fai ...

  5. 【渗透测试】Squirrelmail远程代码执行漏洞+修复方案

    最近网上有点不太平,爆出各种漏洞,等下会把近期的漏洞复现一下,发出来.安全圈的前辈总是默默的奉献,在这里晚辈们只能站在巨人的肩膀上,跟紧前辈们的步伐,走下去. -------------------- ...

  6. 小程序云函数调用webservice接口

    https://www.jianshu.com/p/2692e56251ac 小程序最近新出来了云开发能力,主要依赖了node.js(运行在服务器上的js),可以让我们在没有服务器的情况下,使用云开发 ...

  7. Manacher算法--O(n)回文子串算法

    转自:http://blog.csdn.net/ggggiqnypgjg/article/details/6645824 O(n)回文子串算法 注:转载的这篇文章,我发现下面那个源代码有点bug... ...

  8. 2016-2017学年第三次测试赛 问题 F: 签到题

    问题 F: 签到题 时间限制: 1 Sec  内存限制: 128 MB提交: 80  解决: 28 提交统计讨论版 题目描述 在计算机网络考试中, 黑帅男神看到一个将IP网络分类的题, 精通C++的他 ...

  9. lc 0222

    目录 ✅ 191. 位1的个数 描述 解答 cpp py ✅ 107. 二叉树的层次遍历 II 描述 解答 c todo 观赏 0222 py ✅ 806. 写字符串需要的行数 描述 解答 cpp j ...

  10. 运营商如何关闭2G、3G网络?这事儿得从小灵通说起

    5G时代即将全面开启,主流声音是对未来的无限畅想--5G将带来翻天覆地的变化.不过凡事都有利弊两面性,5G作为新生事物固然大有可为,但不可避免地会对旧事物造成巨大冲击.除了会影响很多跟不上潮流发展的行 ...