HDFS的运行模式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDFS的运行模式相关的知识,希望对你有一定的参考价值。
参考技术A 在本机上使用HDFS,使用的就是本机的文件系统。在core-default.xml中设置参数fs.defaultFS=file:///。
使用的文件系统是一个分布式的文件系统。一个分布式的文件系统,必须由NameNode、DataNode等若干进程共同运行完成文件系统的读写操作。
1、在$HADOOP_HOME/etc/hadoop/core-site.xml文件中加入以下配置。
2、格式化NameNode(只需要格式化一次)。
执行命令:hadoop namenode -format,该命令会生成/opt/module/hadoop-2.7.2/data/tmp目录,并在目录中生成fsimage_0000000000000000000文件。
3、启动NameNode和DataNode。
执行命令:hadoop-daemon.sh start namenode。同时可以通过执行命令:hadoop-daemon.sh start datanode来启动DataNode。
4、查看。
通过jps命令查看NameNode进程是否已经开启,通过浏览器访问http://NameNode所在的主机名或者ip:50070可以查看HDFS。如果NameNode和DataNode都在一台机器,且只有一个DN节点,称为伪分布式!
可以自定义配置文件的目录: hadoop --config 配置文件的目录 fs 命令 文件路径。例如hadoop --config myconf/ fs -put /home/xzq/hello /(将文件hello拷贝到HDFS根目录)。
如果没有配置,会默认读取$HADOOP_HOME/etc/hadoop中对应的配置文件,此时使用命令:hadoop fs 命令 文件路径。例如hadoop fs -put hello /(将文件hello拷贝到HDFS根目录)。
如何设置 HDFS 文件系统以使用 HDFS 运行 Spark 作业?
【中文标题】如何设置 HDFS 文件系统以使用 HDFS 运行 Spark 作业?【英文标题】:How do I set up a HDFS file system to run a Spark job with HDFS? 【发布时间】:2019-08-22 09:09:54 【问题描述】:我对使用 Minio/HDFS 以独立模式运行 Spark 感兴趣。
This question 确切地问我想要什么:“我需要一个 HDFS,因此仅使用 Hadoop 的文件系统部分就足够了吗?” -- 但接受的答案没有帮助,因为它没有提到如何将 HDFS 与 Spark 一起使用。
我已下载为 Apache Hadoop 2.7 及更高版本预构建的 Spark 2.4.3。
我已按照 Apache Spark 教程成功部署了一台主机(我的本地机器)和一台工作机(我的 RPi4 在同一个本地网络上)。我能够进行简单的字数统计(计算/opt/spark/README.md
中的字数)。
现在我想计算仅存在于 master 上的文件的字数。我知道我需要为此使用 HDFS 在本地网络上共享文件。但是,尽管阅读了 Apache Spark 和 Hadoop 文档,但我不知道如何执行此操作。
我对 Spark 和 Hadoop 之间的相互作用感到困惑。我不知道我是否应该在 Spark 集群之外设置一个 Hadoop 集群。 This tutorial on hadoop.apache.org 似乎没有帮助,因为它说“您需要同时启动 HDFS 和 YARN 集群”。我想以独立模式运行 Spark,而不是 YARN。
我需要做什么才能跑步
val textFile = spark.read.textFile("file_that_exists_only_on_my_master")
并将文件传播到工作节点,即在工作节点上不会出现“文件不存在”错误?
【问题讨论】:
从 mapR 获得一个虚拟机——它们仍然是额外的,它就在那里。 @thebluephantom 不确定您的意思是“他们仍然额外”。将看看 mapR 的 VM,但如果可能的话,我想自己部署。 确实#$@%$^存在 从 Cloudera、Hortonworks 或 MapR 获取 VM。它们都包括这些 VM 上的 hdfs 设置。不幸的是,在 Windows 上,设置它非常困难,甚至很难启动所有服务。 @PiyushP 我在 Linux 上,在主节点上运行 Ubuntu 18.04,在 Raspi 上运行 HypriotOS。 【参考方案1】:我设置了 MinIO,并根据说明编写了以下 Github Gist。
诀窍是设置core_site.xml
指向MinIO 服务器。
Github Gist here
<script src="https://gist.github.com/lieuzhenghong/c062aa2c5544d6b1a0fa5139e10441ad.js"></script>
【讨论】:
以上是关于HDFS的运行模式的主要内容,如果未能解决你的问题,请参考以下文章
打包运行 项目部署 startalone模式 和 yarn模式
分布式文件存储(HDFS/Cassandra/S3 等)是不是必须让 spark 在集群模式下运行?如果是,为啥?
Hadoop运行模式群起集群配置workers启动集群启动HDFS拼接Web端查看HDFS的NameNodeWeb端查看YARN的ResourceManager