记录一下学习datax把mysql数据存入es遇到的问题

2022-04-18 10:15:53.417 [job-0] ERROR JobContainer - Exception when job run
com.alibaba.datax.common.exception.DataXException: Code:[ESWriter-03], Description:[mappings错误.].  - org.apache.http.client.ClientProtocolException
        at com.alibaba.datax.common.exception.DataXException.asDataXException(DataXException.java:26) ~[datax-common-0.0.1-SNAPSHOT.jar:na]
        at com.alibaba.datax.plugin.writer.elasticsearchwriter.ESWriter$Job.prepare(ESWriter.java:76) ~[elasticsearchwriter-0.0.1-SNAPSHOT.jar:na]
        at com.alibaba.datax.core.job.JobContainer.prepareJobWriter(JobContainer.java:724) ~[datax-core-0.0.1-SNAPSHOT.jar:na]
        at com.alibaba.datax.core.job.JobContainer.prepare(JobContainer.java:309) ~[datax-core-0.0.1-SNAPSHOT.jar:na]
        at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:115) ~[datax-core-0.0.1-SNAPSHOT.jar:na]
        at com.alibaba.datax.core.Engine.start(Engine.java:92) [datax-core-0.0.1-SNAPSHOT.jar:na]
        at com.alibaba.datax.core.Engine.entry(Engine.java:171) [datax-core-0.0.1-SNAPSHOT.jar:na]
        at com.alibaba.datax.core.Engine.main(Engine.java:204) [datax-core-0.0.1-SNAPSHOT.jar:na]
2022-04-18 10:15:53.424 [job-0] INFO  StandAloneJobContainerCommunicator - Total 0 records, 0 bytes | Speed 0B/s, 0 records/s | Error 0 records, 0 bytes |  All Task WaitWriterTime 0.000s |  All Task WaitReaderTime 0.000s | Percentage 0.00%
2022-04-18 10:15:53.425 [job-0] ERROR Engine -

经DataX智能分析,该任务最可能的错误原因是:
com.alibaba.datax.common.exception.DataXException: Code:[ESWriter-03], Description:[mappings错误.].  - org.apache.http.client.ClientProtocolException
        at com.alibaba.datax.common.exception.DataXException.asDataXException(DataXException.java:26)
        at com.alibaba.datax.plugin.writer.elasticsearchwriter.ESWriter$Job.prepare(ESWriter.java:76)
        at com.alibaba.datax.core.job.JobContainer.prepareJobWriter(JobContainer.java:724)
        at com.alibaba.datax.core.job.JobContainer.prepare(JobContainer.java:309)
        at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:115)
        at com.alibaba.datax.core.Engine.start(Engine.java:92)
        at com.alibaba.datax.core.Engine.entry(Engine.java:171)
        at com.alibaba.datax.core.Engine.main(Engine.java:204)
 

导致此问题的原因是配置ES链接时端口弄错(网上copy的列子)

"writer": {
                  "name": "elasticsearchwriter",
                  "parameter": {
                      "endpoint":"http://192.168.29.14:9300",
                      "accessId":"root",
                      "accessKey":"root",
                      "index": "mysql2es",
                      "type": "_doc",
                      "cleanup": false,
                      "discovery":false,
                      "column": [
                          {
                            "name": "order_id",
                            "type": "keyword"
                          },
                        {
                            "name": "pay_time",
                            "type": "keyword"
                        },


                      ]
                  }
              }
 

把链接ES的端口9300改成9200

{
    "job": {
      "setting": {
          "speed": {
              "channel": 1
          },
          "errorLimit": {
              "percentage": 0
          }
      },
      "content": [
          {
            "reader": {
                "name": "mysqlreader",
                "parameter": {
                    "username": "cy_test",
                    "password": "cy_test",
                    "connection": [{
                        "querySql": ["select order_id,pay_time from t_order"],
                        "jdbcUrl": ["jdbc:mysql://192.168.29.15:3306/cy_test"]
                    }]
                }
            },
              "writer": {
                  "name": "elasticsearchwriter",
                  "parameter": {
                      "endpoint":"http://192.168.29.14:9200",
                      "accessId":"root",
                      "accessKey":"root",
                      "index": "mysql2es2",
                      "type": "id",
                      "cleanup": false,
                      "discovery":false,
                      "column": [
                          {
                            "name": "order_id",
                            "type": "keyword"
                          },
                        {
                            "name": "pay_time",
                            "type": "keyword"
                        }
                      ]
                  }
              }
            }
        ]
        }
    }
 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐