In this article, we will explain how to resolve the below error:
I am trying to deploy new JSON file in the NiFi directory after that I am getting below NiFi server down issue and we provided simple resolution for that.
Error: NiFi server down
ERROR [Timer-Driven Process Thread-9] o.a.nifi.processors.standard.SplitJson SplitJson[id= ] SplitJson[id= ] failed to process due to java.lang.IllegalArgumentException: root can not be null; rolling back session: {} java.lang.IllegalArgumentException: root can not be null at com.jayway.jsonpath.internal.Utils.notNull(Utils.java:213) at com.jayway.jsonpath.internal.token.EvaluationContextImpl.<init>(EvaluationContextImpl.java:58) at com.jayway.jsonpath.internal.CompiledPath.evaluate(CompiledPath.java:50) at com.jayway.jsonpath.internal.CompiledPath.evaluate(CompiledPath.java:61) at com.jayway.jsonpath.JsonPath.read(JsonPath.java:178) at com.jayway.jsonpath.internal.JsonReader.read(JsonReader.java:146) at org.apache.nifi.processors.standard.SplitJson.onTrigger(SplitJson.java:195) at org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27) at org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1124) at org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:147) at org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:47) at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:128) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) 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) 2020-12-21 06:00:20,849 ERROR [Timer-Driven Process Thread-9] o.a.nifi.processors.standard.SplitJson SplitJson[id= ] SplitJson[id= ] failed to process session due to java.lang.IllegalArgumentException: root can not be null: {} java.lang.IllegalArgumentException: root can not be null at com.jayway.jsonpath.internal.Utils.notNull(Utils.java:213) at com.jayway.jsonpath.internal.token.EvaluationContextImpl.<init>(EvaluationContextImpl.java:58) at com.jayway.jsonpath.internal.CompiledPath.evaluate(CompiledPath.java:50) at com.jayway.jsonpath.internal.CompiledPath.evaluate(CompiledPath.java:61) at com.jayway.jsonpath.JsonPath.read(JsonPath.java:178) at com.jayway.jsonpath.internal.JsonReader.read(JsonReader.java:146) at org.apache.nifi.processors.standard.SplitJson.onTrigger(SplitJson.java:195) at org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27) at org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1124) at org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:147) at org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:47) at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:128) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) nifi-app.log
Solution:
Here we provided simple resolution for this error.
Step 1: First, run the Apache NiFi server through with root user. Using below highlighted commands through CLI.
Step 2: Go to the below path (NiFi installed directory)
cd /etc/nifi/bin/
Note: Some of the nifi installation directories are different.
cd /nifi/conf/
After that check the NiFi shell file is available in the bin or conf directory.
Step 3: If NiFi shall file is available then run the below command:
./nifi.sh or sh nifi.sh
Resolution 2:
Step 1: Login Ambari web-ui with admin credentials .
Step 2: Then go to NiFi services after that start NiFi service.
Step 3: Wait for 5 mins, it will take some time. After that it will running fine from my end.
Summary: The above error is very common in Cloudera or Hortonworks cluster for NiFi server in the Big Data environment. Basically, Hadoop admin will resolve this error in the NiFi.