本地虚拟机搭建ES集群
- 一、环境说明
- 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集群的更多相关文章
- virtualbox 虚拟3台虚拟机搭建hadoop集群
用了这么久的hadoop,只会使用streaming接口跑任务,各种调优还不熟练,自定义inputformat , outputformat, partitioner 还不会写,于是干脆从头开始,自己 ...
- Kubernetes 搭建 ES 集群(存储使用 cephfs)
一.集群规划 使用 cephfs 实现分布式存储和数据持久化 ES 集群的 master 节点至少需要三个,防止脑裂. 由于 master 在配置过程中需要保证主机名固定和唯一,所以搭建 master ...
- Kubernetes 搭建 ES 集群(存储使用 local pv)
一.集群规划 由于当前环境中没有分布式存储,所以只能使用本地 PV 的方式来实现数据持久化. ES 集群的 master 节点至少需要三个,防止脑裂. 由于 master 在配置过程中需要保证主机名固 ...
- 虚拟机搭建Hadoop集群
安装包准备 操作系统:ubuntu-16.04.3-desktop-amd64.iso 软件包:VirtualBox 安装包:hadoop-3.0.0.tar.gz,jdk-8u161-linux-x ...
- 搭建ES集群
服务版本选择 TEG的ctsdb当前最高版本采用的是es的6.4.3版本,为了日后与ctsdb衔接方便,部署开源版es时也采用该版本.6.4.3版本的es依赖的jdk版本要求在8u181以上,测试环境 ...
- ELK搭建<一>:搭建ES集群
1.首先进入官网下载ES,如果下载最新之前的版本 点击past releases就行了. 2.解压后进入config修改配置文件elasticsearch.yml #集群名称 cluster.name ...
- Docker搭建ES集群
Spring Boot连接ES,spring-boot-starter-data-elasticsearch. 必须为集群方式!否则报错! 报错: None of the configured nod ...
- 在本地模拟搭建zookeeper集群环境实例
先给一堆学习文档,方便以后查看 官网文档地址大全: OverView(概述) http://zookeeper.apache.org/doc/r3.4.6/zookeeperOver.html Get ...
- Mac上使用虚拟机搭建Hadoop集群
一. mini安装一台centos到虚拟机上 安装过程参考这篇博客http://www.linuxdown.net/install/setup/2015/0906/4053.html 二. 修改网络配 ...
随机推荐
- SSIS 从oracle 转数据回MS SQL
SSIS 从oracle 转数据回MS SQL,转每月的销售记录,大概15000以内,在开发机器上没问题,部署到生产环境出现各种状况“ SSIS 无法从连接伺服器的OLE DB提供者BULK 提取资料 ...
- 6.Python字符串
#header { display: none !important; } } #header-spacer { width: 100%; visibility: hidden; } @media p ...
- python 切片技巧
说明: 字符串[开始索引:结束索引:步长] 开始索引:从指定位置开始截取: 结束索引:从指定位置结束截取,但不包含该位置的字符. 步长:不指定时步长为1: 1)当步长为正数时候,那么切片是从左到右进行 ...
- ETCD实战
一.建立集群 1.在每台机器上建立环境变量 TOKEN=token-01 CLUSTER_STATE=new NAME_1=machine-1 NAME_2=machine-2 NAME_3=mach ...
- 转专业后对于C语言补修的一些体会(2)
第三章,有以下几个比较重要的点: 1. 强制类型转换. 强制类型转换是C语言中一个十分重要的工具,在C语言的使用中,有很多需要用到强制类型转换的地方,比如在除法中,如果想要得到正确的浮点结果,一般要确 ...
- 在Eclipse或Myeclipse安装Maven插件的几种方法
http://blog.csdn.net/lfsfxy9/article/details/9397937
- 洗牌利器——random.shuffle()函数
random.shuffle()是一个非常实用但是又非常容易被忽略的函数,shuffle在英语里是"洗牌"的意思,该函数非常形象地模拟了洗牌的过程,即: random.shuffl ...
- LinkList(链表)
code: #include <stdio.h> #include <time.h> #include <conio.h> #include <stdlib. ...
- python实现队列(queue)
队列队列是一种先进先出的数据结构,主要操作包括入队,出队.入队的元素加入到对尾,从队头取出出队的元素.这里用列表简单模拟队列,其实现如下: queue()is_empty()size()enqueue ...
- Faster-RCNN Pytorch实现的minibatch包装
实际上faster-rcnn对于输入的图片是有resize操作的,在resize的图片基础上提取feature map,而后generate一定数量的RoI. 我想首先去掉这个resize的操作,对每 ...