大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行

news2024/12/24 3:28:59

点一下关注吧!!!非常感谢!!持续更新!!!

目前已经更新到了:

  • Hadoop(已更完)
  • HDFS(已更完)
  • MapReduce(已更完)
  • Hive(已更完)
  • Flume(已更完)
  • Sqoop(已更完)
  • Zookeeper(已更完)
  • HBase(已更完)
  • Redis (已更完)
  • Kafka(已更完)
  • Spark(已更完)
  • Flink(已更完)
  • ClickHouse(已更完)
  • Kudu(已更完)
  • Druid(已更完)
  • Kylin(已更完)
  • Elasticsearch(正在更新…)

章节内容

上节我们完成了如下的内容:

  • Elasticsearch 索引使用 增删改查
  • 架构与概念相关内容

文件夹设置

三台机器都要执行,建立文件夹,这里是 日志、数据等内容。

mkdir -p /opt/servers/es
mkdir -p /opt/servers/es/data
mkdir -p /opt/servers/es/logs

chown -R es_server /opt/servers/es
chown -R es_server /opt/servers/es/data
chown -R es_server /opt/servers/es/logs

在这里插入图片描述

复制项目

我们目前有三台机器,上节我们完成了一台机器的配置。现在我们把三台机器都安装上ES的环境,你可以每台都下载,或者使用同步工具来同步。

rsync-script /opt/software/elasticsearch-7.3.0-linux-x86_64.tar.gz

h121主机

h121是主机,这里是之前下载的。

cd /opt/software
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-linux-x86_64.tar.gz
tar -zxvf elasticsearch-7.3.0-linux-x86_64.tar.gz
mv elasticsearch-7.3.0 ../servers/

处理完的结果如下图所示:
在这里插入图片描述

创建用户

三台机器都要设置对了,我的账号和密码是一样的,都是 es_server。

useradd es_server
passwd es_server

文件夹设置

三台机器都要执行,建立文件夹,这里是 日志、数据等内容。

mkdir -p /opt/servers/es
mkdir -p /opt/servers/es/data
mkdir -p /opt/servers/es/logs

chown -R es_server /opt/servers/es
chown -R es_server /opt/servers/es/data
chown -R es_server /opt/servers/es/logs

目录权限

chown -R es_server /opt/servers/elasticsearch-7.3.0

配置完的路径如下图所示:
在这里插入图片描述

sudo权限

三台机器使用root用户执行sudo然后为es用户添加权限:

vim /etc/sudoers

添加以下的内容:

es ALL=(ALL) ALL

添加的截图如下图所示:
在这里插入图片描述

配置说明

elasticsearch.yml 配置文件说明如下:
在这里插入图片描述

修改配置

三台机器都要执行,我们需要修改配置文件信息:

cd /opt/servers/elasticsearch-7.3.0/config
vim elasticsearch.yml

修改配置的内容有如下这些:

# 集群名字
cluster.name: wzkicu-es
# 集群中当前的节点
node.name: h121.wzk.icu
# 数据目录
path.data: /opt/servers/es/data
# 日志目录
path.logs: /opt/servers/es/logs
# 当前主机的ip地址
network.host: h121.wzk.icu
network.bind_host: h121.wzk.icu
# 这里如果网卡绑定的不对 可以写死你的公网IP
network.publish_host: 114.115.221.144

http.port: 9200
# 初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["h121.wzk.icu","h122.wzk.icu","h123.wzk.icu"]
# 写入候选主节点的设备地址
discovery.seed_hosts: ["h121.wzk.icu", "h122.wzk.icu","h123.wzk.icu"]

分发配置

为了保证三个文件的配置内容一致(手动修改name等除外),我们直接分发配置的整个文件夹过去:

rsync-script /opt/servers/elasticsearch-7.3.0/config

这样可以防止认证等信息错误导致的不必要的错误,对应的配置内容如下,注意在 h122 和 h123 节点上,node.name 等内容要根据实际情况修改:
在这里插入图片描述

(注意:network部分是比较容易出问题的,如果你出了问题,必须绑定的网卡不对,导致IP的问题等,那你需要向我这样配置,来指明绑定的地址等内容)
(注意:如果你一切正常,那按之前的来就行,没有必要增加不必要的复杂度)
在这里插入图片描述

系统参数

记得和上节一样,修改 JVM 内存大小:

cd /opt/lagou/servers/es/elasticsearch/config
vim jvm.options

修改内存的参数:

-Xms2g
-Xmx2g

此外和上节一样,如果你没修改操作系统的限制,如果你启动报错的话,请回到上节,修改 limits 等参数配置。具体的内容如下:
修改 sysctl.conf:

vim /etc/sysctl.conf

末尾我们添加:

vm.max_map_count=655360

修改的结果如下图所示:
在这里插入图片描述
执行 sysctl -p,让配置生效:

sysctl -p

运行结果如下图所示:
在这里插入图片描述
继续修改:limits.conf,目的是修改Linux系统对文件描述符的限制级别:

vim /etc/security/limits.conf

我们需要在末尾添加如下的内容:

* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096

截图如下所示:
在这里插入图片描述

启动服务

这里是启动,要发现错误的话,可以到 logs 目录下查看,我们在三台机器上都执行:

su es_server
/opt/servers/elasticsearch-7.3.0/bin/elasticsearch -d

h121

h121 启动 ES服务,启动结果如下:
在这里插入图片描述
对应的网页内容:
在这里插入图片描述

h122

在这里插入图片描述

h123

在这里插入图片描述

访问集群

如果我们使用Elasticsearch Head工具查看,可以看到是集群的状态,对应的截图为:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2212719.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于知识图谱的宁夏非遗问答系统

八维视角探索宁夏非遗文化——基于知识图谱的非遗问答系统 作为一名程序员,能将大数据与文化传承结合,赋予历史新的生命,是件多么振奋的事!今天给大家介绍的是一款基于知识图谱技术的宁夏非物质文化遗产问答系统。无论你是学术研…

数字化转型最佳实践与实施技巧:理论指导与企业应用路径

数字化转型中的最佳实践与实施技巧 企业在实施数字化转型时,面对的最大挑战之一是如何将理论转化为实际可操作的行动。成功的转型不仅依赖于新技术的引入,还涉及如何确保架构蓝图与业务目标一致,如何在确保合规的基础上进行创新,…

重磅!博世「入局」Chiplets,汽车芯片格局或迎来新「拐点」

汽车行业似乎并不想重复PC、手机时代的老路。 在过去几年时间里,由于消费类芯片巨头(包括英伟达、高通、AMD、英特尔等)大举进军汽车行业,导致传统Tier1和汽车芯片厂商逐步失去了市场控制权。如今,chiplets技术或许将重…

PHP实现OPENSSL的EVP_BytesToKey

使用PHP和nodejs进行通讯时候遇到双方加解密结果不一致的问题。 注意到crypto.createCipher(algorithm, password[, options])方法有如下的提示。 The implementation of crypto.createCipher() derives keys using the OpenSSL function EVP_BytesToKey with the digest alg…

Springboot整合抖音小程序获取access-token图片检测V3

抽取配置文件 appId以及secret需要自行在抖音开放平台获取 dy:appId: ttb0xxxxxsecret: 12a19a426xxxxxxxxxxxxx获取access-token 参照文档我们调用此接口需要先获取access-token 获取access-token官方文档地址 注意事项 client_token 的有效时间为 2 个小时,重复获…

基于Matlab使用蚁群算法寻找最优路径

基于Matlab使用蚁群算法寻找最优路径 与Dijkstra算法使用相同的地图。 每只蚂蚁都从起点出发,直到抵达终点。这与Example5_1.m 中解决旅行商问题不一样,旅行商问题中每一代的蚂蚁都是随机从一个节点出发。 文件说明 Example5_1.m 简单对参考资料2中的…

重启Windows远程的复制粘贴功能

有些时候远程Windows电脑偶尔会出现复制粘贴失效的情况 打开任务管理器,进程搜索RDP 剪贴板监视程序右键关闭任务。 因为远程剪切板程序位于C:\Windows\System32,所以直接winr输入rdpclip.exe执行即可启动。

Java项目实战II基于Java的医院急诊系统设计与实现(开发文档+源码+数据库)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 在现代医疗…

提升正则表达式性能:全面解析Golang regexp/syntax包

提升正则表达式性能:全面解析Golang regexp/syntax包 介绍基本概念正则表达式简介regexp/syntax包的作用 regexp/syntax包的结构核心组件结构详解ParserRegexpOpInstProg 使用Parser解析正则表达式解析正则表达式AST的结构 分析解析后的正则表达式树AST节点类型分析…

Linux下Git操作

一、基本命令 1、创建 git 目录(工作区) mkdir gitcode 2、创建本地仓库,生成 .git 隐藏目录 git init 3、设置配置项 git config user.name "xxx" git config user.email "....." 4、查看配置项 git config -l …

将SpringBoot的Maven项目打成jar包和war包

先需要明确的是,该项目打包的形态是可执行的jar包,还是在tomcat下运行的war包。 springboot自带的maven打包 1.创建一个springboot web项目 1.api控制层HelloWorld.java RestController RequestMapping("/hello") public class HelloWorld …

SpringBoot基础(五):集成JUnit5

SpringBoot基础系列文章 SpringBoot基础(一):快速入门 SpringBoot基础(二):配置文件详解 SpringBoot基础(三):Logback日志 SpringBoot基础(四):bean的多种加载方式 SpringBoot基础(五):集成JUnit5 目录 一、JUnit…

使用dotnet-counters和dotnet-dump 分析.NET Core 项目内存占用问题

在.NET Core 项目部署后,我们往往会遇到内存占用越来越高的问题,但是由于项目部署在Linux上,因此无法使用VS的远程调试工具来排查内存占用问题。那么这篇文章我们大家一起来学习一下如何排查内存占用问题。 首先,我们来看一下应用…

Python | Leetcode Python题解之第478题在圆内随机生成点

题目: 题解: class Solution:def __init__(self, radius: float, x_center: float, y_center: float):self.xc x_centerself.yc y_centerself.r radiusdef randPoint(self) -> List[float]:u, theta random.random(), random.random() * 2 * mat…

rancher hello-world

创建一个Deployment, 只填名称和容器镜像rancher/hello-world 成功后: 查看日志 结果: 部署了工作负载。这个过程可能需要几分钟完成。 当您的工作负载部署完成后,它的状态将变为Active,您可以从项目的工作负载页面查看工作负载当前的状态…

Golang | Leetcode Golang题解之第475题供暖器

题目&#xff1a; 题解&#xff1a; func findRadius(houses, heaters []int) (ans int) {sort.Ints(houses)sort.Ints(heaters)j : 0for _, house : range houses {dis : abs(house - heaters[j])for j1 < len(heaters) && abs(house-heaters[j]) > abs(house-…

threejs 前言

Three.js 中文官方网站 一、项目结构 二、相关开源库 下面表格列举了一些Three.js相关的开源库。

【赵渝强老师】K8s中Deployment控制器与StatefulSet控制器的区别

一、K8s的Deployment与StatefulSets 在K8s中&#xff0c;Deployment将Pod部署成无状态的应用程序&#xff0c;它只关心Pod的数量、Pod更新方式、使用的镜像和资源限制等。由于是无状态的管理方式&#xff0c;因此Deployment中没有角色和顺序的概念&#xff0c;换句话说&#xf…

关于VS Studio2022如何使用scanf函数

前言&#xff1a; 小编在最近给别人安装VS2022的时候&#xff0c;忘记让他弄一段代码来解决VS不能使用scanf函数这个问题了&#xff0c;导致他编写代码的时候出错了&#xff0c;小编考虑到可能有一些读者朋友同样也会遇到这种问题&#xff0c;于是我就写下了这一篇文章来帮助一…

并发编程-线程池

并发编程-线程池 本篇我们主要围绕线程池的原理以及源码进行分析&#xff0c;事实上线程池本身并不是什么新的技术&#xff0c;而是在池化技术的思想上把一些工具类整合起来。话不多说&#xff0c;我们开始进入正题。我们先来认识一下什么是线程池 概念 线程池&#xff08;T…