Hadoop客户端节点配置

 天涯小犁_640 发布于 2023-01-19 13:52

假设有一个Hadoop集群有20台机器.在这20台机器中,18台机器是从机,机器19用于NameNode,机器20用于JobTracker.

现在我知道必须在所有这20台机器上安装hadoop软件.

但我的问题是将文件xyz.txt加载到Hadoop集群中涉及哪台机器.该客户机是否是一台单独的机器.我们是否也需要在该clinet机器中安装Hadoop软件.客户端机器如何识别Hadoop集群?

3 个回答
  • 通常,如果您拥有多租户群集(大多数hadoop群集都必定),那么理想情况下,管理员以外的任何人都无法访问作为群集一部分的计算机.

    开发人员设置自己的"边缘节点".边缘节点基本上有hadoop库并且已经部署了客户端配置(各种xml文件告诉本地安装,其中namenode,job tracker,zookeeper等是core-site,mapred-site,hdfs-site.xml).但是边缘节点在集群中没有任何这样的角色,即在该节点上没有运行持久性hadoop服务.

    现在,在小型开发环境类型的设置中,您可以使用群集中任何一个参与节点来运行作业或运行shell命令.

    因此,根据您的要求,客户的定义和位置会有所不同.

    2023-01-19 13:54 回答
  • 我是hadoop的新手,所以根据我的理解:

    如果数据上载不是群集的实际服务(应该在群集的边缘节点上运行),则可以将自己的计算机配置为边缘节点.

    边缘节点不需要为集群所知(但对于安全性内容),因为它不存储数据或计算作业.这基本上是边缘节点的意思:它连接到hadoop集群但不参与.

    如果它可以帮助某人,这就是我所做的连接到我不管理的集群:

    比如,在集群上获得一个帐户 myaccount

    在您的计算机上创建一个具有相同名称的帐户: myaccount

    配置您的计算机以访问群集计算机(ssh w\out passphphrase,registered ip,...)

    从集群的边缘节点获取hadoop配置文件

    得到一个hadoop distrib(例如从这里)

    比如,将它解压缩到你想要的地方 /home/myaccount/hadoop-x.x

    添加以下环境变量:JAVA_HOME,HADOOP_HOME(/home/me/hadoop-x.x)

    (如果您愿意)将hadoop bin添加到您的路径: export PATH=$HADOOP_HOME/bin:$PATH

    用边缘节点获取的那些替换你的hadoop配置文件.使用hadoop 2.5.2,它是文件夹$HADOOP_HOME/etc/hadoop

    另外,我不得不改变$JAVA_HOMEconf文件中定义的一对值.要找到它们使用:grep -r "export.*JAVA_HOME"

    那么hadoop fs -ls /应该列出集群hdfs的根目录.

    2023-01-19 13:54 回答
  • 我推荐这篇文章."客户端计算机安装了Hadoop,其中包含所有集群设置,但既不是主服务器也不是从服务器.相反,客户端计算机的作用是将数据加载到集群中,提交描述如何处理数据的Map Reduce作业,以及然后在完成时检索或查看作业的结果."

    2023-01-19 13:54 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有