I am using concurrend append method from the class Core in Azure to store data to Azure Data lake.Below is the code and the exception which I got.I am getting this exception rarely not always.Could anyone guide me?...
public void invoke(String value) {
BitfinexSingletonClass obj = null;
try {
obj = BitfinexSingletonClass.getInstance();
} catch (IOException e1) {
slf4jLogger.info(e1.getMessage());
}
ADLStoreClient client = obj.getADLStoreClient();
byte[] myBuffer = (value + "\n").getBytes();
RequestOptions opts = new RequestOptions();
opts.retryPolicy = new ExponentialBackoffPolicy();
OperationResponse resp = new OperationResponse();
slf4jLogger.info("" + value);
slf4jLogger
.info("...............Writing.........above......BITFINEX_DSHBTC_ORDER..Data............................ToADLake............");
Core.concurrentAppend(BITFINEX_DSHBTC_ORDER, myBuffer, 0, myBuffer.length, true, client, opts, resp);
slf4jLogger.info("...............BITFINEX_DSHBTC_ORDER...Data...Successfully....written.....to...AzureDataLake............");
if (!resp.successful) {
try {
throw client.getExceptionFromResponse(resp, "BITFINEX_DSHBTC_ORDER data is not written to ADL");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
com.microsoft.azure.datalake.store.ADLException:操作CONCURRENTAPPEND失敗,異常java.net.SocketTimeoutException:讀超時 最後遇到例外5名試圖[的java.net.UnknownHostException,java.net後拋出。 UnknownHostException,java.net.UnknownHostException,java.net.SocketTimeoutException,java.net.SocketTimeoutException] at com.microsoft.azure.datalake.store.ADLStoreClient.getExceptionFromResponse(ADLStoreClient.java:1124) at co.biz.yobit。 sink.YobitLtcbtcTickerADLSink.invoke(YobitLtcbtcTickerADLSink.java:41) at org.apache.flink.streaming.api.operators.StreamSink.processElement(StreamSink.java:38) at org.apache.flink.streaming.runtime.io。 STR eamInputProcessor.processInput(StreamInputProcessor.java:185) at org.apache.flink.streaming.runtime.tasks.OneInputStreamTask.run(OneInputStreamTask.java:63) at org.apache.flink.streaming.runtime.tasks.StreamTask。調用(StreamTask.java:261) at org.apache.flink.runtime.taskmanager.Task.run(Task.java:665) at java.lang.Thread.run(Thread.java:748) 引起: java.net.SocketTimeoutException:讀取超時 at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketInputStream。 java:171) at java.net.SocketInputStream.read(SocketInputStream.java:141) at sun.security.ssl.InputRecord.readFully(InputRecord.java:465) at sun.security.ssl.InputRecord.read(InputRecord.java:503) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl。 java:973) at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:930) at sun.security.ssl.AppInputStream.read(AppInputStream.java:105) at java.io.BufferedInputStream.fill( BufferedInputStream.java:246) at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) at java.io.BufferedInputStream.read(BufferedInputStream.java:345) at sun.net.www.http.HttpClient。 parseHTTPHeader(HttpClient.java:735) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1569) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474) at java.net。 HttpURLConnection.getResponseCode(HttpURLConnection.java:480) 在sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338) 在com.microsoft.azure.datalake.store.HttpTransport.makeSingleCall(HttpTransport。的java:292) 在com.microsoft.azure.datalake.store.HttpTransport.makeCall(HttpTransport.java:91) 在com.microsoft.azure.datalake.store.Core.concurrentAppend(Core.java:210) 在co co y Y當我運行flink作業將數據存儲到Azure Data Lake時,我得到以下異常。任何人都可以在此指導我?
也許你可以使用調試器並找出哪個主機是未知的。對我來說,它看起來像一個錯誤的配置或網絡地址/端口問題。 – twalthr
上述錯誤通常是由於運行代碼的主機與Azure Data Lake Store之間的網絡條件不可靠造成的。你在哪裏運行代碼?它是在Azure虛擬機上還是在Azure之外運行? –
@阿米特庫爾卡尼。 我在公司本地虛擬機上的flink獨立羣集上運行此代碼。 – Dhinesh