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

文章目录

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

前言

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

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

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

1. Windows 安装 Cpolar

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

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

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

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

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

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

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

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

2. 创建Elasticsearch公网连接地址

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

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

点击创建

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

3. 远程连接Elasticsearch

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

xml 复制代码
<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公网地址,如果是其他语言,连接方式也是一样,

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

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

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

小结

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

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

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

4. 设置固定二级子域名

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

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

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

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

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

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

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

点击更新

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

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

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

相关推荐
重生之我要进大厂13 分钟前
LeetCode 876
java·开发语言·数据结构·算法·leetcode
_祝你今天愉快16 分钟前
技术成神之路:设计模式(十四)享元模式
java·设计模式
小筱在线1 小时前
SpringCloud微服务实现服务熔断的实践指南
java·spring cloud·微服务
luoluoal1 小时前
java项目之基于Spring Boot智能无人仓库管理源码(springboot+vue)
java·vue.js·spring boot
ChinaRainbowSea1 小时前
十三,Spring Boot 中注入 Servlet,Filter,Listener
java·spring boot·spring·servlet·web
小游鱼KF1 小时前
Spring学习前置知识
java·学习·spring
扎克begod1 小时前
JAVA并发编程系列(9)CyclicBarrier循环屏障原理分析
java·开发语言·python
青灯文案11 小时前
SpringBoot 项目统一 API 响应结果封装示例
java·spring boot·后端
我就是程序猿1 小时前
tomcat的配置
java·tomcat
阳光阿盖尔1 小时前
EasyExcel的基本使用——Java导入Excel数据
java·开发语言·excel