使用kettle同步全量数据到Elasticsearch(es)--elasticsearch-bulk-insert-plugin应用

news2025/1/13 17:42:36

背景

为了前端更快地进行数据检索,需要将数据存储到es中是一个很不错的选择。由于公司etl主要工具是kettle,这里介绍如何基于kettle的elasticsearch-bulk-insert-plugin插件将数据导入es。在实施过程中会遇到一些坑,这里记录解决方案。

可能会遇到的报错:
1、No elasticSearch nodes found
2、不支持ssl认证(用户名&密码)

后文提供解决办法

es插件配置

这里举个简单例子,将mysql的一张表导入到 es 中:

 表输入比较简单就不介绍了,这里讲下es插件的配置。
1、先配置 index、type, id(可以不设置)

  2、配置ip跟port

注意:port配置的是Tcp协议端口,也就是 9300,不是9200(底层采用的是TransportClient)

 3、设置字段映射

 

4、Settings配置

需要设置集群名称 cluster.name:elasticsearch

如果不知道cluster.name的话,可以访问9200端口,页面会显示详细信息。

 

 以上配置完成即可。

不出意外的话,意外来了。点击第2步的 test connect,会报错No elasticSearch nodes found

错误及解决办法

错误原因是因为 kettle6/7支持的es版本是es2.x,kettle8支持到es6。如果你的版本是es7及以上,自带的插件是不支持的。

需要下载插件源码,修改版本后,重新编译打包。

可以参考(这个是不支持ssl认证的):关于Kettle使用es批量导出插件支持ES5/ES6/ES7的说明_空山苦水禅人的博客-CSDN博客_kettle连接es5

在此基础上,本人修改了源码,再次编译,可以支持es7、es8并支持ssl用户名及密码验证。由于这步比较麻烦,直接放到网盘上。

链接:https://pan.baidu.com/s/1LWwH-u7r0uAUfVKSz5vmdQ 
提取码:gpm7

操作步骤:

1、删除data-integration\lib 下 所有 jackson- 开头的jar包,然后把jackson-2.8.10-libs文件夹中的jar拷到lib目录下

2、替换data-integration\plugins\elasticsearch-bulk-insert-plugin文件夹

3、如果开启了ssl认证,需要把 秘钥文件(.p12) 拷贝到data-integration\plugins\elasticsearch-bulk-insert-plugin\config目录下。

如果不确定是否开启ssl认证,可以看下配置文件elasticsearch.yml。

4、重启kettle即可。

如果开启了ssl 认证,还需要在插件中配置:

xpack.security.transport.ssl.keystore.password、xpack.security.user

 (注:秘钥文件密码  是在生成P12证书时设置的密码)

如果对你有帮助,记得点个赞哟!

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

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

相关文章

Java集合类ArrayList应用 | 二维数组的集合类表示与杨辉三角实现

目录 一、题干 🔗力扣:118. 杨辉三角 二、题解 1. 思路 2. 完整代码 三、总结 一、题干 🔗力扣:118. 杨辉三角 二、题解 1. 思路 我们知道杨辉三角的规律是: 每一行的第一列和它的最后一列上的数均为1.除此之…

如何在实验室服务器上跑代码

1.工具准备 可以下载一个xshell或secureCRT或者其他shell工具,通过ssh方式连接服务器,然后通过本地电脑终端控制服务器。连接方式输入主机(Host),和端口号(一般是22)就行了。如下图 连接成功后就可以在本…

java面试题每日10问(1)

1.What is Java? Java is object-oriented, platform-independent, Multithreaded, and portable programming language.it provides its own JRE and API. 2.What is the difference between JDK, JRE, and JVM? JVM Java Virtual Machine provides the runtime environm…

返乡做县城跑腿平台困难吗?都有哪些需求要点需要掌握?

自2020年受疫情影响以来,大家对跑腿服务有了更全新的认识。跑腿的便利性和及时性让跑腿行业蓬勃发展。现如今全面开放之际,跑腿用户总数也将突破新高,其跑腿市场也将迎来快速发展期。 据统计,国内配送市场规模已超过400亿单&…

springmvc 请求转换为MultipartFile的过程

前言: 最近在研究文件上传的问题,所以就写下这个博客,让大家都知道从流转换为MutipartFile的过程,不然你就知道在方法中使用,而不知道是怎么样处理的,是不行的 从DiaspatherServlet说起: 别问为啥,去了解tomcat和servlet的关系,我后面会 写这篇博客的 servlet的生命周期 ini…

JVM内存结构简介

一、java代码编译执行过程 1.源码编译:通过Java源码编译器将Java代码编译成JVM字节码(.class文件) 2.类加载:通过ClassLoader及其子类来完成JVM的类加载 3.类执行:字节码被装入内存,进入JVM虚拟机&#xff…

Linux 计算机网络从零到一开始构建 必看

Linux 计算机网络从零到一开始构建 在整个互联网中,计算之间的沟可能通需要跨越千山万水,层层加密解码。当前我们就来尝试粗浅剖析一下整个计算机网络的形成。 形成与起源 从现在回头看之前的网络形成过程,其实对应的就是我们的网络多层架…

为了让自己心情愉悦,我用python把美妞得图片制成了GIF设置桌面

前言 大家早好、午好、晚好吖 ❤ ~ 要想生活过的去,每天美女必然少不了~ 每天看美女,只为了愉悦心情,心情好了,才长寿。 于是怀揣着愉悦心情的想法,我开始制作GIF动图生成器 这个小工具制作的目的是为了将多张图片组…

舵机的控制

舵机的信号线是做为输入线就是接收PWM信号(定时器产生)。 一般PWM的周期是20ms,那么对应的频率是50hz。那么改变不同的占空比就可以控制转动的角度。 其中占空比从0.5-2.5ms(如果占空比大于2.5ms也只会在最大角度。),相…

Node.js+MySQL开发的B2C商城系统源码+数据库(微信小程序端+服务端),界面高仿网易严选商城

下载地址:Node.jsMySQL开发的B2C商城系统源码数据库(微信小程序端服务端) NideShop商城(微信小程序端) 界面高仿网易严选商城(主要是2016年wap版)测试数据采集自网易严选商城功能和数据库参考ecshop服务端api基于&am…

php学习笔记-代码基本语法-day01

php代码基本语法 PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法&…

一些微信使用小技巧分享

技巧一:检测僵尸粉 微信好友过多,我们可以通过创建群聊来检测好友。点击右上角图标,选择【发起群聊】,勾选需要检测的好友,点击【完成】。能进群的都是朋友关系,不能进群的会删或者拉黑你。不过需要注意的是…

VS2022点云库PCL1.12配置过程中遇到的一些奇葩问题

最近处于换工作的间歇期,原来配置的电脑交公了,各种程序数据都做了搬家。对这些程序重新配置,可以说是一地鸡毛。系统对不上,各个开源库版本一团乱麻,尤其是配置PCL库的时候,遇到了各种奇奇怪怪的问题&…

二十八、Docker (4)

🌻🌻 目录一、Dockerfile入门1.1 Dockerfile 常用命令1.2 Dockerfile 搭建 jdk 环境1.3 Dockerfile 搭建 tomcat 环境镜像1.4 Dockerfile 创建微服务 java 镜像二、使用Nexus搭建Docker镜像私有仓库2.1 安装 Nexus2.2 访问配置 Nexus2.3 配置 Docker 服务…

自动驾驶助力智慧港口建设,景联文科技提供数据标注服务

“在无人集卡出现以前,岸桥式起重机需要把停靠在岸边的船舶上数百个集装箱全部吊起,放到一旁的集装箱卡车上,运向堆场,等待集装箱卸货后再进行下一次往返工作。为保证工作效率,需要上百位司机驾驶着集卡在港口中来回往…

拉伯证券|磷酸铁锂电池在储能市场的应用有哪些?

时隔四个月,中国有色金属工业协会硅业分会重启硅料报价。本周,单晶复投料成交均价为17.82万元/吨,单晶细密料成交均价为17.62万元/吨。综合其他组织报价数据,硅料已全线跌破20万元/吨,作为对比,上一年10月底…

Java入门知识以及细节(1.3w字笔记)

欢迎来到我的主页:【一只认真写代码的程序猿】 本篇文章收录于专栏【Java入门学习】 如果这篇文章对你有帮助,希望点赞收藏加关注啦~ 目录 Java和C的区别 Java中的运算 Math.random()函数 跳出多重循环的两种break方法 数组中的使用以及Java中的…

windows下图像标注软件Labelme安装及使用教程

文章目录一.Labelme简介二.安装labelme三.使用labelme进行图像标注一.Labelme简介 LabelMe 是一个用于在线图像标注的Javascript标注工具。与传统图像标注工具相比,其优势在于我们可以在任意地方使用该工具。此外,它也可以帮助我们标注图像,…

TCP 三次握手 四次挥手

请描述TCP三次握手和四次挥手,这是非常常考的一道面试题。 大家不要去追求过多的细节,你如果是搜一些文章或者答案的话,它会给你描述的很细。 然后我/你看到会很懵,因为这里面如果讲细了的话,需要很多这种网络请求的相…

Go语言基础2

一、注释 单行注释 // 我是单行注释多行注释 /* 我是多行注释 我是多行注释 我是多行注释 */二、变量 1. var name type (声明变量时将变量的类型放在变量的名称之后) var,声明变量的关键字name,变量的名字type,变量的类型 eg:单个定义…