Hi,
I would like to create file transformation pipelines by downloading input files from remote HDFS and storing outputs file on the same remote HDFS. Kerberos is used to connect to my hadoop cluster.

On my local machine, I did the following steps:
- install kerberos and obtained a key,
- set the environment variables (`JAVA_HOME`, `HADOOP_CONF_DIR` and `HADOOP_OPTS`). - install hadoop client and test read/write on remote HDFS with CLI command: `hdfs dfs -ls hdfs://clusterhadoop/user` => success
- add environment variables in `hop/config/hop-config.json`
- add hadoop plugins `hadoop-common-3.1.1.jar` and `hadoop-hdfs-3.1.1.jar` files to the `hdfs/lib` directory created in `hop/plugins/tech/` - add hdfs in plugin explorer, with main class `[org.apache.hadoop.fs.hdfs.HdfsFileSystem]` and path to jar librairies above.

After all that, I still can't see the contents of my HDFS from the CSV File Input or TextFIle Input. I get this error:
```
Error browsing to location: 'hdfs://clusterhadoop/user/toto.csv'
FileNotFolderException: Could not list the contents of "file:///home/ubuntu/hop/hdfs:/clusterhadoop/user" because it is not a folder. Root cause: FileNotFolderException: Could not list the contents of "file:///home/ubuntu/hop/hdfs:/clusterhadoop/user" because it is not a folder.

org.apache.commons.vfs2.FileNotFolderException: Could not list the contents of "file:///home/ubuntu/hop/hdfs:/clusterhadoop/user" because it is not a folder.     at org.apache.commons.vfs2.provider.AbstractFileObject.getChildren(AbstractFileObject.java:1107)     at org.apache.hop.ui.core.vfs.HopVfsFileDialog.populateFolder(HopVfsFileDialog.java:941)     at org.apache.hop.ui.core.vfs.HopVfsFileDialog.refreshBrowser(HopVfsFileDialog.java:898)     at org.apache.hop.ui.core.vfs.HopVfsFileDialog.refreshAll(HopVfsFileDialog.java:1278)     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:569)
    at org.apache.hop.ui.core.gui.BaseGuiWidgets.lambda$getListener$1(BaseGuiWidgets.java:213)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5857)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5067)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4519)
    at org.apache.hop.ui.core.vfs.HopVfsFileDialog.open(HopVfsFileDialog.java:584)     at org.apache.hop.ui.core.dialog.BaseDialog.presentFileDialog(BaseDialog.java:278)     at org.apache.hop.ui.core.dialog.BaseDialog.presentFileDialog(BaseDialog.java:172)     at org.apache.hop.pipeline.transforms.fileinput.text.TextFileInputDialog.lambda$open$8(TextFileInputDialog.java:484)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5857)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5067)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4519)
    at org.apache.hop.ui.core.dialog.BaseDialog.defaultShellHandling(BaseDialog.java:528)     at org.apache.hop.pipeline.transforms.fileinput.text.TextFileInputDialog.open(TextFileInputDialog.java:501)     at org.apache.hop.ui.hopgui.file.pipeline.delegates.HopGuiPipelineTransformDelegate.editTransform(HopGuiPipelineTransformDelegate.java:195)     at org.apache.hop.ui.hopgui.file.pipeline.HopGuiPipelineGraph.editTransform(HopGuiPipelineGraph.java:3368)     at org.apache.hop.ui.hopgui.file.pipeline.HopGuiPipelineGraph.editTransform(HopGuiPipelineGraph.java:2210)     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:569)
    at org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder.lambda$createLambda$0(GuiActionLambdaBuilder.java:97)     at org.apache.hop.ui.hopgui.context.GuiContextUtil.lambda$handleActionSelection$0(GuiContextUtil.java:182)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:5042)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4522)
    at org.apache.hop.ui.hopgui.HopGui.open(HopGui.java:478)
    at org.apache.hop.ui.hopgui.HopGui.main(HopGui.java:356)
```

Can anyone help me? Thanks in advance for your time.

Reply via email to