Java远程连接本地开源分布式搜索引擎ElasticSearch

news2024/11/26 18:26:15

文章目录

    • 前言
    • 1. Windows 安装 Cpolar
    • 2. 创建Elasticsearch公网连接地址
    • 3. 远程连接Elasticsearch
    • 4. 设置固定二级子域名

前言

简单几步,结合Cpolar内网穿透工具实现Java远程连接操作本地Elasticsearch。

什么是elasticsearch?一个开源的分布式搜索引擎,具备非常多强大功能,可以用来实现搜索、日志统计、分析、系统监控等功能,可以帮助我们从海量数据中快速找到需要的内容。

Cpolar内网穿透提供了更高的安全性和隐私保护,通过使用加密通信通道,Cpolar技术可以确保数据传输的安全性,这为用户和团队提供了更可靠的保护,使他们能够放心地处理和存储敏感的工作内容。

1. Windows 安装 Cpolar

访问cpolar官网,注册一个账号,然后下载并安装客户端,具体安装教程可以参考官网文档教程。

Cpolar官网:https://www.cpolar.com/download

  • windows系统:在官网下载安装包后,双击安装包一路默认安装即可。
  • linux系统:支持一键自动安装脚本,详细请参考官网文档——入门指南

image-20231113140709326

注意! Cpolar安装成功后,默认Cpolar web 界面访问端口也是9200,和Elasticsearch 会有冲突,需要修改一下Cpolar 管理界面端口,如果Elasticsearch 的端口不是9200,可以不用修改.

找到cpolar配置文件:c:\Users\用户名\.cpolar\cpolar.yml,使用Notepad++编辑工具或者其他软件打开

image-20231113140858314

在配置文件中,增加一行:client_dashboard_addr: 127.0.0.1:9800,端口可以自定义,这边使用9800

image-20231113141453289

修改好后,记得保存配置文件,然后在控制面板–管理工具—服务—cpolar service,重启cpolar服务

image-20231113141414399

然后浏览器输入localhost:9800,即可访问到了Cpolar Web UI 管理界面,输入官网注册的账号即可登录操作了.

image-20231113141644952

2. 创建Elasticsearch公网连接地址

登录后,点击左侧仪表盘的隧道管理——创建隧道,创建一个9200的http隧道

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:https://127.0.0.1:9200 (本地访问的方式是https就需要填写完整地址)
  • 域名类型:免费选择随机域名
  • 地区:选择China

点击创建

image-20231123162335001

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https,由于本地是https,我们只需要使用https地址即可

image-20231123162509393

3. 远程连接Elasticsearch

导入相关的Maven 依赖,这里使用的Elasticsearch版本是最新版本8.11.0

<dependency>
			<groupId>co.elastic.clients</groupId>
			<artifactId>elasticsearch-java</artifactId>
			<version>8.11.1</version><!--改为自己的版本-->
		</dependency>

		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.12.3</version>
		</dependency>

		<dependency>
			<groupId>jakarta.json</groupId>
			<artifactId>jakarta.json-api</artifactId>
			<version>2.0.1</version>
		</dependency>

		<dependency>
			<groupId>org.elasticsearch.client</groupId>
			<artifactId>elasticsearch-rest-client</artifactId>
			<version>8.11.1</version><!--改为自己的版本-->
		</dependency>

导入后,根据官方的demo,我们编写相关的连接代码,连接地址使用上面创建的Cpolar公网地址,如果是其他语言,连接方式也是一样,

image-20231123163454683

设置好后,测试写入数据,这里测试,写入一个对象

image-20231123164409227

执行没有报错且成功后,在控制台日志信息上我们可以看到通过浏览器查看写入的数据链接,该链接前缀可以看到,也是cpolar公网地址,任意浏览器都可以访问

image-20231123164549203

通过链接,我们打开浏览器访问,输入用户名密码登录,登录后可以看到我们写入的数据,表示成功,这样一个公网连接地址就设置好了

image-20231123164833381

小结

为了更好地演示,我们在前述过程中使用了cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定二级子域名,原因是我希望将网址发送给同事或客户时,它是一个固定、易记的公网地址(例如:elasticsearch.cpolar.cn),这样更显正式,便于流交协作。

4. 设置固定二级子域名

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网后台,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

image-20231113151721641

保留成功后复制保留的二级子域名地址

image-20231113151751358

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20231113152109057

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新

image-20231113152142969

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称

最后,使用固定的域名公网https地址进行连接,修改代码中hostname,替换成固定公网地址,然后执行image-20231123165603839

执行后,通过打印出来的地址,进行访问(新地址访问,需要重新登录), 登录后,同样 可以看到我们写入到elasticsearch的数据,连接成功,这样一个永久固定不变的公网地址就设置好了!

image-20231123170126622

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

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

相关文章

git报错:error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413

git报错&#xff1a;error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 如图&#xff1a; error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 send-pack: unexpected disconnect while reading sideband packet fatal: th…

最火前端可视化Web组态软件工具

随着5G、物联网、大数据等技术的高速发展&#xff0c;各领域逐步向数字化、可视化的人工智能&#xff08;AI&#xff09;的方向不断迈进。全球进入工业 4.0 时代&#xff0c;标志着先进的信息技术于制造业紧密结合&#xff0c;将从单纯的生产要素向数据驱动、智能化、高度自动化…

线性分类器---损失函数与优化算法

如何衡量分类器对当前样本的效果好坏&#xff1f; 需要损失函数 什么是损失函数&#xff1f; 损失函数搭建了模型性能与模型参数之间的桥梁&#xff0c;指导 模型参数优化。  损失函数是一个函数&#xff0c;用于度量给定分类器的预测值与真实值 的不一致程度&#xff0c;…

sprintf函数

1.头文件&#xff1a;#include <stdio.h> 2.函数原型&#xff1a;int sprintf ( char * str, const char * format, ... ) 3.函数功能&#xff1a;将数据格式化为字符串&#xff0c;再写入到字符串中 4.参数分析&#xff1a; str&#xff1a;是字符串指针&#xff0c…

【MyBatisPlus】通俗易懂 快速入门 详细教程

目录 学习目标 一、MyBatisPlus简介 1. 入门案例 问题导入 1.1 SpringBoot整合MyBatisPlus入门程序 ①&#xff1a;创建新模块&#xff0c;选择Spring初始化&#xff0c;并配置模块相关基础信息 ②&#xff1a;选择当前模块需要使用的技术集&#xff08;仅保留JDBC&…

Python---可变和非可变数据类型

在Python中一共有7种数据类型&#xff1a; 数值&#xff08;int整型、float浮点类型&#xff09;、bool类型&#xff08;True和False&#xff09;、字符串类型&#xff08;str&#xff09;、元组&#xff08;tuple 1,2,3&#xff09;、列表&#xff08;list [1, 2, 3]&#xf…

02-鸿蒙学习之4.0todoList练习

02-鸿蒙学习之4.0todoList练习 代码 /*** 1:组件必须使用Component装饰* 2.Entry 装饰哪个组件&#xff0c;哪个组件就呈现在页面上* 3.被Entry 装饰的入口组件。build&#xff08;&#xff09;必须有且仅有一个根 ** 容器 ** 组件* 其他的自定义组件&#xff0c;build() 中…

Vue框架学习笔记——事件处理:v-on指令+methods

文章目录 前文提要事件处理的解析过程&#xff0c;v-on:事件名样例代码如下&#xff1a;效果展示图片&#xff1a;v-on:事件名"响应函数"v-on简写形式响应函数添加响应函数传参占位符"$event"注意事项 前文提要 本人仅做个人学习记录&#xff0c;如有错误…

file_get_contents() 函数详解与使用

概述 在PHP中&#xff0c;file_get_contents() 函数是一个强大的工具&#xff0c;它既可以用于读取本地文件的内容&#xff0c;也可以用于发起 HTTP 请求获取远程资源。本文将详细介绍 file_get_contents() 函数的两种主要用途&#xff0c;并探讨如何充分利用这个函数。 1. 文…

MongoDB安装教程

前言 这里介绍的是使用本地安装的方式&#xff0c;安装MongoDB Mac端 第一种方式是使用手动下载&#xff0c;然后手动安装的方式 这种方式的优点&#xff0c;可以锻炼手动安装的能力&#xff0c;熟悉软件的安装流程。 但是缺点就是&#xff0c;操作比较复杂&#xff0c; 1&am…

五子棋游戏

import pygame #导入pygame模块 pygame.init()#初始化 screen pygame.display.set_mode((750,750))#设置游戏屏幕大小 running True#建立一个事件 while running:#事件运行for event in pygame.event.get():if event.type pygame.QUIT:#当点击事件后退出running False #事…

yolov8-pose姿势估计,站立识别

系列文章目录 基于yolov8-pose的姿势估计模式,实现站姿,坐姿,伏案睡姿识别,姿态动作识别接口逻辑作参考。本文以学习交流,分享,欢迎留言讨论优化。 yoloPose-姿势动作识别 系列文章目录前言一、环境安装二、使用yolov8-pose1.导入模型,预测图像三.姿势动作识别之站立总…

精密机床导轨直线度的常用检查方法

导轨直线度是精密机床精度的基础精度&#xff0c;导轨直线度对精密机床精度都有着直接的影响&#xff0c;其检测仪器和检测方法较多也较为复杂&#xff0c;并应根据不同情况采取不同的检测仪器和不同的检测方法。那么&#xff0c;常用的精密机床导轨直线度的检查方法有哪些呢&a…

第三节HarmonyOS DevEco Studio了解基本工程目录

一、工程级目录 工程的目录结构如下。 目录详情如下&#xff1a; AppScope&#xff1a;存放应用全局所需要的资源文件。Entry&#xff1a;应用的主模块&#xff0c;存放HarmonyOS应用的代码、资源等。oh_modules&#xff1a;工程的依赖包&#xff0c;存放工程依赖的源文件。b…

Open Feign 源码解析(三) --- 配置体系详解

Open Feign 源码解析三 配置体系 配置类 应用级别配置&#xff08;全局&#xff09; Retention(RetentionPolicy.RUNTIME) Target(ElementType.TYPE) Documented Import(FeignClientsRegistrar.class) // 注册feign client的bean定义 public interface EnableFeignClients {…

Python基础语法之学习type()函数

Python基础语法之学习type函数 一、代码二、效果 查看数据类型或者说查看变量存储的数据类型 一、代码 print(type("文本")) print(type(666)) print(type(3.14))二、效果 梦想是生活的指南针&#xff0c;坚持追逐梦想&#xff0c;终将抵达成功的彼岸。不要害怕失败…

Go 数字类型

一、数字类型 1、Golang 数据类型介绍 Go 语言中数据类型分为&#xff1a;基本数据类型和复合数据类型基本数据类型有&#xff1a; 整型、浮点型、布尔型、字符串复合数据类型有&#xff1a; 数组、切片、结构体、函数、map、通道&#xff08;channel&#xff09;、接口 2、…

工厂仓库环境监测,完善仓储管理

仓库&#xff0c;是工厂管理运营的重中之重&#xff0c;需创造一个认为的稳定环境&#xff0c;为物品的存放创造条件&#xff0c;对仓储、办公室、楼宇、电子、机械、化工等场合实施监测、管理&#xff0c;提升仓储管理效率及物品品质。 工厂仓储环境监测系统解决方案&#xff…

【leetcode每日一题】565数组嵌套

思路流程&#xff1a; 思路v1.0 先学会写 s[0] ,用一个ans数组接收元素&#xff0c;每次往ans里添加的时候&#xff0c;先判断一下 这个index会不会超出数组的长度。ans里有没有这个元素。 s[0] 写完&#xff0c;就是用一个for循环&#xff0c;算出所有的 s[i],每次算出来的时…

通过亚马逊云科技云存储服务探索云原生应用的威力

文章作者&#xff1a;Libai 欢迎来到我们关于“使用亚马逊云科技云存储服务构建云原生应用”的文章的第一部分。在本文中&#xff0c;我们将深入探讨云原生应用的世界&#xff0c;并探索亚马逊云科技云存储服务在构建和扩展这些应用中的关键作用。 亚马逊云科技开发者社区为开发…