4GB 服务器的示例 Hadoop 配置?
Sample Hadoop Config for 4GB server?
我目前正在尝试在只有 4GB RAM 的虚拟服务器上设置一个小型 Hadoop 演示系统。我知道,4GB 对于 Hadoop 来说不是很多——但我现在只有这些了。
服务器应该 运行 HDFS、YARN 和 Spark(在 Yarn 上)以及其他一些与 Hadoop 无关的东西。
所以我的想法是为 OS 和其他内容保留 2GB,然后为 Hadoop 进程保留 2GB。
不幸的是,我在为这种情况寻找合适的配置方面遇到了一些困难。
到目前为止我所拥有的是:
在 mapred-site.xml:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.map.memory.mb</name>
<value>512</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>512</value>
</property>
<property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx400m</value>
</property>
<property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx400m</value>
</property>
而在 yarn-site.xml:
<property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx400m</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>256</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.app.mapreduce.am.resource.mb</name>
<value>512</value>
</property>
<property>
<name>yarn.app.mapreduce.am.command-opts</name>
<value>-Xmx400m</value>
</property>
现在我创建了一个非常基本的 Spark 应用程序,并在其中提供了以下参数:
- spark.executor.memory: 512m
- spark.cores.max: 1
- spark.driver.memory: 512 米
- spark.executor.instances: 1
- spark.executor.cores: 1
使用选项 --master yarn-client
执行此脚本时一切正常;但是当用 --master yarn-cluster
执行时,作业永远 运行s。在 Yarn 作业的日志中,我可以看到:
Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources
对我来说,这听起来好像没有足够的可用资源!?
现在我的问题:
- 您有 4GB Hadoop 服务器的一些示例配置吗?
- 我需要更改哪个配置才能获得我的 Spark 作业 运行
--master yarn-cluster
?
非常感谢,并致以最诚挚的问候!
如果您只有 4GB 运行 独立本地模式(local[4] 或 local[1])的 spark。你会得到更好的结果。如果您运行正在使用整个 hadoop 生态系统(YARN、数据节点、YARN 节点管理器、Zookeeper 等)- 您希望如何为 Spark 留出任何资源?
我目前正在尝试在只有 4GB RAM 的虚拟服务器上设置一个小型 Hadoop 演示系统。我知道,4GB 对于 Hadoop 来说不是很多——但我现在只有这些了。 服务器应该 运行 HDFS、YARN 和 Spark(在 Yarn 上)以及其他一些与 Hadoop 无关的东西。 所以我的想法是为 OS 和其他内容保留 2GB,然后为 Hadoop 进程保留 2GB。 不幸的是,我在为这种情况寻找合适的配置方面遇到了一些困难。 到目前为止我所拥有的是: 在 mapred-site.xml:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.map.memory.mb</name>
<value>512</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>512</value>
</property>
<property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx400m</value>
</property>
<property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx400m</value>
</property>
而在 yarn-site.xml:
<property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx400m</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>256</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.app.mapreduce.am.resource.mb</name>
<value>512</value>
</property>
<property>
<name>yarn.app.mapreduce.am.command-opts</name>
<value>-Xmx400m</value>
</property>
现在我创建了一个非常基本的 Spark 应用程序,并在其中提供了以下参数:
- spark.executor.memory: 512m
- spark.cores.max: 1
- spark.driver.memory: 512 米
- spark.executor.instances: 1
- spark.executor.cores: 1
使用选项 --master yarn-client
执行此脚本时一切正常;但是当用 --master yarn-cluster
执行时,作业永远 运行s。在 Yarn 作业的日志中,我可以看到:
Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources
对我来说,这听起来好像没有足够的可用资源!?
现在我的问题:
- 您有 4GB Hadoop 服务器的一些示例配置吗?
- 我需要更改哪个配置才能获得我的 Spark 作业 运行
--master yarn-cluster
?
非常感谢,并致以最诚挚的问候!
如果您只有 4GB 运行 独立本地模式(local[4] 或 local[1])的 spark。你会得到更好的结果。如果您运行正在使用整个 hadoop 生态系统(YARN、数据节点、YARN 节点管理器、Zookeeper 等)- 您希望如何为 Spark 留出任何资源?