Hi,

I am sending data to an elasticsearch deployment. The printing to file
seems to work fine, but I keep getting no-node found for ES when I send
data to it. I suspect there is some special way to handle the connection
object? Can anyone explain what should be changed here?

Thanks
Nipun

The following is the code block where I send the data




addMTSUnmatched.foreach(
        new Function<JavaRDD<String>, Void>() {
            @Override
        public Void call(JavaRDD<String> stringJavaRDD) throws Exception {
                List<String> list = stringJavaRDD.collect();
                for (String str : list){
                    if(OnlineUtils.ESFlag) {
                        OnlineUtils.printToFile(str, 1,
type1_outputFile, OnlineUtils.client);
                    }else{
                        OnlineUtils.printToFile(str, 1, type1_outputFile);
                    }
                }
                return null;
            }
        }
);


public static void printToFile(String str, int type, File fileID,
Client client) throws IOException {
    JSONObject obj = new JSONObject(str);
    if (obj.has("message")) {
        String message = obj.get("message").toString();
        obj.put("message", message.replace("'", ""));
    }
    obj.put("anomaly_type", type);

    ESUtils.putMessage(client,"necla","demo",obj.toString());

    Files.append(str + "\n", fileID, Charset.defaultCharset());
}

Reply via email to