Hadoop客户端和群集分离

时间:2016-02-10 11:36:37

标签: hadoop cluster-computing vpn hadoop2

我是hadoop,linux的新手。我的教授要求我们使用端口映射或VPN分离Hadoop客户端和集群。我不明白这种分离的意义。任何人都可以给我一个暗示吗?

现在我了解了群集客户端分离。我认为客户端计算机中还需要安装 hadoop 。当客户提交 hadoop作业时,会将其提交给集群的主人。

我有一些明确的想法:

1.创建客户端计算机并安装 hadoop

2.将fs.default.name设为hdfs://master:9000

3.将dfs.namenode.name.dir设为file://master/home/hduser/hadoop_tmp/hdfs/namenode 这是对的吗?

4.然后我不知道如何设置dfs.namenode.name.dir和其他配置。

5.我认为主要的想法是设置配置文件以使作业 hadoop集群中运行,但我不是&# 39;不知道怎么做。

2 个答案:

答案 0 :(得分:2)

首先,此链接提供了有关客户端如何与namenode进行通信的详细信息

http://www.informit.com/articles/article.aspx?p=2460260&seqNum=2

据我了解,您的教授希望有一个单独的节点作为客户端,您可以从中运行hadoop作业,但该节点不应该是hadoop集群的一部分。

考虑一种情况,您必须从客户端计算机提交Hadoop作业,而客户端计算机不是现有Hadoop集群的一部分。期望在Hadoop集群上执行作业。

Namenode和Datanode构成Hadoop集群,客户端将作业提交给Namenode。 为实现此目的,客户端应具有与Namenode相同的Hadoop Distribution和配置副本。 然后,只有客户端才能知道Job Tracker正在运行哪个节点,以及Namenode的IP来访问HDFS数据。

在Namenode上进行配置,

core-site.xml将拥有此属性 -

<property>
        <name>fs.default.name</name>
        <value>192.168.0.1:9000</value>
</property> 

mapred-site.xml将具有此属性 -

<property>
这两个重要属性必须复制到客户机的Hadoop配置中。 并且您需要在mapred-site.xml文件中设置一个addtinal属性,以克服特权操作异常。

<name>fs.default.name</name>
您还需要使用namenode和datanode的IP地址和主机名更新/ ets / hosts客户端计算机。

现在,您可以使用hadoop jar命令从客户端计算机提交作业,并且将在Hadoop Cluster上执行作业。请注意,您不应该在客户端计算机上启动任何hadoop服务。

答案 1 :(得分:1)

用户不应该破坏群集的功能。这就是意思。想象一下,有一大群数据科学家从群集的主人之一开始他们的工作。如果某人启动了内存密集型操作,则在同一台计算机上运行的主进程可能最终没有内存和崩溃。这将使整个集群处于失败状态。

如果将客户端节点与主/从节点分开,用户仍可能使客户端崩溃,但群集会保持运行状态。