【问题标题】:How to use hdfs shell commands with apache zeppelin?如何在 apache zeppelin 中使用 hdfs shell 命令?
【发布时间】:2018-05-30 07:49:49
【问题描述】:

我已经通过下载和解压binary with all interpreters安装了apache zeppelin

然后我开始使用:

./bin/zeppelin.sh start

然后我使用以下代码创建了一个新笔记本:

%sh

hdfs fs -ls

当我运行它时,我得到了结果:

bash: hdfs: command not found
ExitValue: 127

zeppelin 不应该带有hdfs interpreter 或支持hdfs 命令吗?

如果 zeppelin 不包含 hdfs 文件系统,那么我启动了: https://github.com/big-data-europe/docker-hadoop-spark-workbench

然后使用 docker-compose up 启动它。我导航到 git 自述文件中提到的各种 url,一切似乎都已启动。我认为这意味着我有一些 hdfs 已启动,但我不确定我是否应该这样做,或者 zeppelin 的“所有”解释器包已经包含它,无论如何我都得到了相同的结果。

我的最终目标只是hdfssparkzeppelin 的帮助下的本地游乐场。

我应该如何使用包含all interpreters 的本地安装的apache zeppelin 运行hdfs 命令,例如hdfs fs -ls?是否包含hdfshdfs 命令?

【问题讨论】:

    标签: hadoop apache-spark hdfs apache-zeppelin


    【解决方案1】:

    确实如此,但您使用的是 shell 解释器。

    确保已安装file 解释器:

    $ ./bin/install-interpreter.sh --list | grep file
    ## file         HDFS file interpreter
    

    如果不安装它

    $ ./bin/install-interpreter.sh --name file
    

    file解释器添加到笔记本并使用它

    %file
    
    ls /
    

    要使用hadoop fs 命令,您需要安装 Hadoop(Hadoop 二进制文件以及正确的配置和环境变量):

    %sh
    
    $HADOOP_HOME/bin/hadoop fs -ls /
    

    对于更复杂的任务,您将需要一个作为 HDFS 解释器(又名file 解释器)

    目前只支持浏览。

    【讨论】:

    • 这听起来比实际更严重 - 下载二进制文件,编辑配置,设置 HADOOP_HOMEHADOOP_CONF_DIR(在 zeppelin-env.sh 中就可以了),你应该已经设置好了。或者直接在您的代码中使用 HDFS 客户端。 我也没有看到“文件”解释器的任何文档 - file 解释器是 HDFS 解释器。我猜名字的选择很不幸。
    猜你喜欢
    • 2017-11-04
    • 2013-08-11
    • 2016-01-13
    • 2012-04-18
    • 2013-06-03
    • 1970-01-01
    • 2021-07-26
    • 2014-01-02
    • 2016-10-01
    相关资源
    最近更新 更多