- Subscribe to RSS Feed
- Mark Question as New
- Mark Question as Read
- Float this Question for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
Unable to run NIFI CLI "nifi" subcommands, "registry" works fine
- Labels:
-
Apache NiFi
-
NiFi Registry
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm able to run cli.sh registry commands, but not cli.sh nifi commands for some reason. They're both secured and use the same props files (except for different baseurls) as defined in ~/.nifi-cli.config:
$ cat ~/.nifi-cli.config nifi.reg.props=/appl/nifi-registry/nifi-registry-current/conf/cli-props nifi.props=/appl/nifi/nifi-current/conf/cli-props
$ ./bin/cli.sh registry list-buckets # Name Id Description - -------------- ------------------------------------ ----------- 1 abc 87959437-dfbf-4fa2-9a4d-c0509afaff17 (empty) 2 def 4864d2de-0af5-4a69-a584-d88c108b774f (empty) 3 ghi 20f8069e-60bb-437b-ac3a-f949ffa4582b (empty)
But nifi commands fail:
$ ./bin/cli.sh nifi current-user ERROR: Error executing command 'current-user' : Error retrieving current
$ ./bin/cli.sh nifi current-user -verbose ERROR: Error executing command 'current-user' : Error retrieving current org.apache.nifi.toolkit.cli.api.CommandException: Error executing command 'current-user' : Error retrieving current at org.apache.nifi.toolkit.cli.impl.command.nifi.AbstractNiFiCommand.doExecute(AbstractNiFiCommand.java:52) at org.apache.nifi.toolkit.cli.impl.command.AbstractPropertyCommand.execute(AbstractPropertyCommand.java:74) at org.apache.nifi.toolkit.cli.impl.command.CommandProcessor.processCommand(CommandProcessor.java:251) at org.apache.nifi.toolkit.cli.impl.command.CommandProcessor.processGroupCommand(CommandProcessor.java:232) at org.apache.nifi.toolkit.cli.impl.command.CommandProcessor.process(CommandProcessor.java:187) at org.apache.nifi.toolkit.cli.CLIMain.runSingleCommand(CLIMain.java:145) at org.apache.nifi.toolkit.cli.CLIMain.main(CLIMain.java:72) Caused by: org.apache.nifi.toolkit.cli.impl.client.nifi.NiFiClientException: Error retrieving current at org.apache.nifi.toolkit.cli.impl.client.nifi.impl.AbstractJerseyClient.executeAction(AbstractJerseyClient.java:85) at org.apache.nifi.toolkit.cli.impl.client.nifi.impl.JerseyFlowClient.getCurrentUser(JerseyFlowClient.java:67) at org.apache.nifi.toolkit.cli.impl.command.nifi.flow.CurrentUser.doExecute(CurrentUser.java:48) at org.apache.nifi.toolkit.cli.impl.command.nifi.flow.CurrentUser.doExecute(CurrentUser.java:32) at org.apache.nifi.toolkit.cli.impl.command.nifi.AbstractNiFiCommand.doExecute(AbstractNiFiCommand.java:50) ... 6 more Caused by: javax.ws.rs.client.ResponseProcessingException: org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException: MessageBodyReader not found for media type=text/html;charset=utf-8, type=class org.apache.nifi.web.api.entity.CurrentUserEntity, genericType=class org.apache.nifi.web.api.entity.CurrentUserEntity. at org.glassfish.jersey.client.JerseyInvocation.translate(JerseyInvocation.java:875) at org.glassfish.jersey.client.JerseyInvocation.lambda$invoke$1(JerseyInvocation.java:767) at org.glassfish.jersey.internal.Errors.process(Errors.java:316) at org.glassfish.jersey.internal.Errors.process(Errors.java:298) at org.glassfish.jersey.internal.Errors.process(Errors.java:229) at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:414) at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:765) at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:428) at org.glassfish.jersey.client.JerseyInvocation$Builder.get(JerseyInvocation.java:324) at org.apache.nifi.toolkit.cli.impl.client.nifi.impl.JerseyFlowClient.lambda$getCurrentUser$0(JerseyFlowClient.java:69) at org.apache.nifi.toolkit.cli.impl.client.nifi.impl.AbstractJerseyClient.executeAction(AbstractJerseyClient.java:71) ... 10 more Caused by: org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException: MessageBodyReader not found for media type=text/html;charset=utf-8, type=class org.apache.nifi.web.api.entity.CurrentUserEntity, genericType=class org.apache.nifi.web.api.entity.CurrentUserEntity. at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.aroundReadFrom(ReaderInterceptorExecutor.java:232) at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor.proceed(ReaderInterceptorExecutor.java:156) at org.glassfish.jersey.message.internal.MessageBodyFactory.readFrom(MessageBodyFactory.java:1091) at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:874) at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:808) at org.glassfish.jersey.client.ClientResponse.readEntity(ClientResponse.java:321) at org.glassfish.jersey.client.JerseyInvocation.translate(JerseyInvocation.java:870) ... 20 more
Does anyone have any idea what's going on? Happy to provide more debugging output.
I'm running Nifi 1.9.2 and Nifi-Registry 0.5.0.
Created on ‎02-07-2020 09:56 AM - edited ‎02-07-2020 09:58 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yeah, my bad, I didn't want to break it again after fixing it, but I can see there'd be value in documenting this.
In my case, I saw the following error popping up in my `nifi-app.log` when trying to run bin/cli.sh nifi current-user:
WARN [NiFi Web Server-363] o.a.nifi.web.server.HostHeaderHandler Request host header [example.com] different from web hostname [127.0.0.1(:8444)]. Overriding to [127.0.0.1:8444/nifi-api/flow/current-user]
So what I did was add example.com to the nifi.web.proxy.host config, which fixed the issue for me.
It would be really helpful if the error message in that case would state the error more clearly. The current error looks like the CLI isn't handling the response correctly, although it's actually a server error. So I guess the CLI is in fact not handling the response properly.
(Unrelated: It'd be nice to be able to insert <code> tags to make this more readable. They're currently being stripped when you press "Post")
🙂
Created ‎02-07-2020 03:50 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
My bad, apparently. I found errors in logs that made it clear that this was a bad configuration.
Created ‎02-07-2020 08:02 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@JTT Can you provide some additional details on what what configured incorrectly and how you corrected it? It may be useful to others who face a similar issue in the future.
Cy Jervis, Manager, Community Program
Was your question answered? Make sure to mark the answer as the accepted solution.
If you find a reply useful, say thanks by clicking on the thumbs up button.
Created on ‎02-07-2020 09:56 AM - edited ‎02-07-2020 09:58 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yeah, my bad, I didn't want to break it again after fixing it, but I can see there'd be value in documenting this.
In my case, I saw the following error popping up in my `nifi-app.log` when trying to run bin/cli.sh nifi current-user:
WARN [NiFi Web Server-363] o.a.nifi.web.server.HostHeaderHandler Request host header [example.com] different from web hostname [127.0.0.1(:8444)]. Overriding to [127.0.0.1:8444/nifi-api/flow/current-user]
So what I did was add example.com to the nifi.web.proxy.host config, which fixed the issue for me.
It would be really helpful if the error message in that case would state the error more clearly. The current error looks like the CLI isn't handling the response correctly, although it's actually a server error. So I guess the CLI is in fact not handling the response properly.
(Unrelated: It'd be nice to be able to insert <code> tags to make this more readable. They're currently being stripped when you press "Post")
🙂
Created ‎02-07-2020 02:03 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for sharing @JTT. As for entering code, you do have the option to add a code sample in the post editor.
This will open a pop-up to enter the code.
The final result looks like this ( I anonymized the IP addresses):
WARN [NiFi Web Server-363] o.a.nifi.web.server.HostHeaderHandler Request host header [example.com] different from web hostname [xxx.x.x.x(:xxxx)]. Overriding to [xxx.x.x.x:xxxx/nifi-api/flow/current-user]
While you cannot use this to format words in a sentence, it is helpful for large samples. I hope it helps.
Cy Jervis, Manager, Community Program
Was your question answered? Make sure to mark the answer as the accepted solution.
If you find a reply useful, say thanks by clicking on the thumbs up button.
