Java远程连接本地开源分布式搜索引擎ElasticSearch
作者:mmseoamin日期:2023-12-11

文章目录

    • 前言
    • 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系统:支持一键自动安装脚本,详细请参考官网文档——入门指南

        Java远程连接本地开源分布式搜索引擎ElasticSearch,image-20231113140709326,第1张

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

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

        Java远程连接本地开源分布式搜索引擎ElasticSearch,image-20231113140858314,第2张

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

        Java远程连接本地开源分布式搜索引擎ElasticSearch,image-20231113141453289,第3张

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

        Java远程连接本地开源分布式搜索引擎ElasticSearch,image-20231113141414399,第4张

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

        Java远程连接本地开源分布式搜索引擎ElasticSearch,image-20231113141644952,第5张

        2. 创建Elasticsearch公网连接地址

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

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

          点击创建

          Java远程连接本地开源分布式搜索引擎ElasticSearch,image-20231123162335001,第6张

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

          Java远程连接本地开源分布式搜索引擎ElasticSearch,image-20231123162509393,第7张

          3. 远程连接Elasticsearch

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

          
          			co.elastic.clients
          			elasticsearch-java
          			8.11.1
          		
          		
          			com.fasterxml.jackson.core
          			jackson-databind
          			2.12.3
          		
          		
          			jakarta.json
          			jakarta.json-api
          			2.0.1
          		
          		
          			org.elasticsearch.client
          			elasticsearch-rest-client
          			8.11.1
          		
          

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

          Java远程连接本地开源分布式搜索引擎ElasticSearch,image-20231123163454683,第8张

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

          Java远程连接本地开源分布式搜索引擎ElasticSearch,image-20231123164409227,第9张

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

          Java远程连接本地开源分布式搜索引擎ElasticSearch,image-20231123164549203,第10张

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

          Java远程连接本地开源分布式搜索引擎ElasticSearch,image-20231123164833381,第11张

          小结

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

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

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

          4. 设置固定二级子域名

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

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

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

          Java远程连接本地开源分布式搜索引擎ElasticSearch,image-20231113151721641,第12张

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

          Java远程连接本地开源分布式搜索引擎ElasticSearch,image-20231113151751358,第13张

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

          Java远程连接本地开源分布式搜索引擎ElasticSearch,image-20231113152109057,第14张

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

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

            点击更新

            Java远程连接本地开源分布式搜索引擎ElasticSearch,image-20231113152142969,第15张

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

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

            最后,使用固定的域名公网https地址进行连接,修改代码中hostname,替换成固定公网地址,然后执行Java远程连接本地开源分布式搜索引擎ElasticSearch,image-20231123165603839,第17张

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

            Java远程连接本地开源分布式搜索引擎ElasticSearch,image-20231123170126622,第18张