FAQ-数据传输写doris报错:The server failed to respond with a valid HTTP response

问题描述/异常栈
报错信息
25/03/07 10:17:50 INFO DorisStreamLoadClient: add header: columns -> wo,cust_wo,custpn,material_name,material_description,station,sn,filename,filepath,access_date,srff_file,test_status,date,time,panelid,location,feature,heightresult,height,heightupfail,heightlowfail,heighttarget,arearesult,area,areaupfail,arealowfail,areatarget,volumeresult,volume,volumeupfail,volumelowfail,volumetarget,valid,xoffset,yoffset,bridgeresult,module,review,dt
25/03/07 10:17:50 INFO DorisStreamLoadClient: add header: column_separator -> \x01
25/03/07 10:17:50 INFO DorisStreamLoadClient: add header: line_delimiter -> \x02
25/03/07 10:17:51 INFO RetryExec: I/O exception (java.net.SocketException) caught when processing request to {}->http://10.210.90.197:9030: Connection reset
25/03/07 10:17:51 INFO RetryExec: Retrying request to {}->http://10.210.90.197:9030
25/03/07 10:17:51 ERROR Executor: Exception in task 2.0 in stage 0.0 (TID 2)
org.apache.http.client.ClientProtocolException
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:187)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
    at com.netease.da.music.transfer.doris.DorisStreamLoadClient.sendData(DorisStreamLoadClient.java:163)
    at com.netease.da.music.transfer.doris.util.DorisUtils$.savePartition(DorisUtils.scala:51)
    at com.netease.da.music.transfer.doris.writer.DorisStreamLoadWriter.$anonfun$writeByStreamLoad$1(DorisStreamLoadWriter.scala:99)
    at com.netease.da.music.transfer.doris.writer.DorisStreamLoadWriter.$anonfun$writeByStreamLoad$1$adapted(DorisStreamLoadWriter.scala:96)
    at org.apache.spark.rdd.RDD.$anonfun$foreachPartition$2(RDD.scala:1011)
    at org.apache.spark.rdd.RDD.$anonfun$foreachPartition$2$adapted(RDD.scala:1011)
    at org.apache.spark.SparkContext.$anonfun$runJob$5(SparkContext.scala:2322)
    at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)
    at org.apache.spark.scheduler.Task.run(Task.scala:136)
    at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$3(Executor.scala:548)
    at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1508)
    at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:551)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.http.ProtocolException: The server failed to respond with a valid HTTP response
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:149)
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
    at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
    at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
    at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:157)
    at org.apache.http.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.java:220)
    at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:123)
    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
    ... 17 more
发现版本
EasyData-V8.0-Update11
解决方案
解决方案:配置Doris数据源是fenodes端口修改为正确的端口
问题原因
平台数据源Doris配置错误
实例名称 端口名称 默认端口 通讯方向 说明
BE be_port 9060 FE->BE BE 上 thrift server 的端口,用于接收来自 FE 的请求
BE webserver_port 8040 BE <--> BE BE 上的 http server 的端口
BE heartbeat_service_port 9050 FE --> BE BE 上心跳服务端口(thrift),用于接收来自 FE 的心跳
BE brpc_port 8060 FE<-->BE/BE <--> BE BE 上的 brpc 端口,用于 BE 之间通讯
FE http_port 8030 FE <--> FE用户 FE 上的 http server 端口
FE rpc_port 9020 BE --> FE/FE <--> FE FE 上的 thrift server 端口
FE query_port 9030 用户 FE 上的 mysql server 端口
FE edit_log_port 9010 FE <--> FE FE 上的 bdbje 之间通信用的端口
Broker broker_ipc_port 8000 FE --> Broker BE --> Broker Broker 上的 thrift server,用于接收请求

作者:郑冠升