如何在 apache zeppelin 中使用 hdfs shell 命令?
Posted
技术标签:
【中文标题】如何在 apache zeppelin 中使用 hdfs shell 命令?【英文标题】:How to use hdfs shell commands with apache zeppelin? 【发布时间】: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 的“所有”解释器包已经包含它,无论如何我都得到了相同的结果。
我的最终目标只是hdfs
和spark
在zeppelin
的帮助下的本地游乐场。
我应该如何使用包含all interpreters 的本地安装的apache zeppelin 运行hdfs
命令,例如hdfs fs -ls
?是否包含hdfs
和hdfs
命令?
【问题讨论】:
【参考方案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_HOME
和 HADOOP_CONF_DIR
(在 zeppelin-env.sh
中就可以了),你应该已经设置好了。或者直接在您的代码中使用 HDFS 客户端。 我也没有看到“文件”解释器的任何文档 - file
解释器是 HDFS 解释器。我猜名字的选择很不幸。以上是关于如何在 apache zeppelin 中使用 hdfs shell 命令?的主要内容,如果未能解决你的问题,请参考以下文章
如何在我的应用程序中显示 jupyter notebook 或 apache zeppelin?
在 Apache Livy Interpreter for Zeppelin 中访问 zeppelin 上下文的问题
Apache Zeppelin 如何可视化来自 Hbase 的数据?