假设hadoop集群有20台机器。在这20台机器中,18台机器是从机,19台机器是namenode,20台机器是jobtracker。现在我知道hadoop软件必须安装在这20台机器上。但我的问题是,将xyz.txt文件加载到hadoop集群涉及哪台机器。客户机是独立的机器吗。我们也需要在clinet机器上安装hadoop软件吗。客户机如何识别hadoop集群?
mqxuamgl1#
通常情况下,如果您有一个多租户集群(大多数hadoop集群都是这样的),那么理想情况下,除了管理员之外,没有其他人可以访问作为集群一部分的机器。开发人员设置自己的“边缘节点”。边缘节点基本上都有hadoop库,并部署了客户机配置(各种xml文件告诉本地安装,其中namenode、job tracker、zookeeper等是核心站点、Map站点、hdfs site.xml)。但是边缘节点在集群中没有这样的角色,即没有持久的hadoop服务在这个节点上运行。现在,如果是小型开发环境类型的设置,您可以使用集群的任何一个参与节点来运行作业或运行shell命令。因此,根据您的要求,客户的定义和位置会有所不同。
xlpyo6sf2#
我是hadoop新手,所以从我的理解来看:如果您的数据上载不是群集的实际服务(应该在群集的边缘节点上运行),那么您可以将自己的计算机配置为作为边缘节点工作。一个边缘节点不需要被集群知道(但是为了安全起见),因为它既不存储数据也不计算作业。这就是边缘节点的基本含义:它连接到hadoop集群,但不参与。如果它可以帮助某人,下面是我为连接到我不管理的群集所做的操作:比如说,在集群上建立一个帐户 myaccount 在您的计算机上创建同名帐户: myaccount 配置您的计算机以访问群集计算机(ssh w\out passphrase,registered ip,…)从集群的边缘节点获取hadoop配置文件获取hadoop发行版(例如从这里)把它放在你想放的地方 /home/myaccount/hadoop-x.x 添加以下环境变量: JAVA_HOME , HADOOP_HOME ( /home/me/hadoop-x.x )(如果您愿意)将hadoop bin添加到您的路径: export PATH=$HADOOP_HOME/bin:$PATH 用从边缘节点获得的配置文件替换hadoop配置文件。在hadoop2.5.2中,它是 $HADOOP_HOME/etc/hadoop 另外,我必须改变一对的价值 $JAVA_HOME 在conf文件中定义。要找到它们,请使用: grep -r "export.*JAVA_HOME" 那就做吧 hadoop fs -ls / 它应该列出集群hdfs的根目录。
myaccount
/home/myaccount/hadoop-x.x
JAVA_HOME
HADOOP_HOME
/home/me/hadoop-x.x
export PATH=$HADOOP_HOME/bin:$PATH
$HADOOP_HOME/etc/hadoop
$JAVA_HOME
grep -r "export.*JAVA_HOME"
hadoop fs -ls /
p1iqtdky3#
我推荐这篇文章。”客户机安装了hadoop和所有集群设置,但既不是主服务器也不是从服务器。相反,客户机的作用是将数据加载到集群中,提交描述该数据应如何处理的map reduce作业,然后在作业完成时检索或查看作业的结果。”
3条答案
按热度按时间mqxuamgl1#
通常情况下,如果您有一个多租户集群(大多数hadoop集群都是这样的),那么理想情况下,除了管理员之外,没有其他人可以访问作为集群一部分的机器。
开发人员设置自己的“边缘节点”。边缘节点基本上都有hadoop库,并部署了客户机配置(各种xml文件告诉本地安装,其中namenode、job tracker、zookeeper等是核心站点、Map站点、hdfs site.xml)。但是边缘节点在集群中没有这样的角色,即没有持久的hadoop服务在这个节点上运行。
现在,如果是小型开发环境类型的设置,您可以使用集群的任何一个参与节点来运行作业或运行shell命令。
因此,根据您的要求,客户的定义和位置会有所不同。
xlpyo6sf2#
我是hadoop新手,所以从我的理解来看:
如果您的数据上载不是群集的实际服务(应该在群集的边缘节点上运行),那么您可以将自己的计算机配置为作为边缘节点工作。
一个边缘节点不需要被集群知道(但是为了安全起见),因为它既不存储数据也不计算作业。这就是边缘节点的基本含义:它连接到hadoop集群,但不参与。
如果它可以帮助某人,下面是我为连接到我不管理的群集所做的操作:
比如说,在集群上建立一个帐户
myaccount
在您的计算机上创建同名帐户:myaccount
配置您的计算机以访问群集计算机(ssh w\out passphrase,registered ip,…)从集群的边缘节点获取hadoop配置文件
获取hadoop发行版(例如从这里)
把它放在你想放的地方
/home/myaccount/hadoop-x.x
添加以下环境变量:JAVA_HOME
,HADOOP_HOME
(/home/me/hadoop-x.x
)(如果您愿意)将hadoop bin添加到您的路径:
export PATH=$HADOOP_HOME/bin:$PATH
用从边缘节点获得的配置文件替换hadoop配置文件。在hadoop2.5.2中,它是$HADOOP_HOME/etc/hadoop
另外,我必须改变一对的价值$JAVA_HOME
在conf文件中定义。要找到它们,请使用:grep -r "export.*JAVA_HOME"
那就做吧hadoop fs -ls /
它应该列出集群hdfs的根目录。p1iqtdky3#
我推荐这篇文章。”客户机安装了hadoop和所有集群设置,但既不是主服务器也不是从服务器。相反,客户机的作用是将数据加载到集群中,提交描述该数据应如何处理的map reduce作业,然后在作业完成时检索或查看作业的结果。”