- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我目前对 Hadoop 生态系统和 HDFS 架构有一些初学者的理解。
我想了解有关 HDFS 的以下一些更深层次的方面:
任何针对上述问题的指示都会很棒。
在此先感谢您的帮助
最佳答案
Is there a way I can hook into the NameNode execution to identify files being added/modified/deleted from HDFS - Something similar to File system events in Windows?
是的! HDFS 的最新版本包含类似于 Linux inotify 的功能,它允许 HDFS 客户端监听 NameNode 发布的各种文件系统事件。不幸的是,我们目前在 Apache Hadoop 站点上没有关于该功能的明确文档。如果您想了解有关此功能的更多信息,那么我建议您查看 Apache JIRA HDFS-6634 ,这是跟踪该功能开发的主要问题。随附的设计文档和补丁会让您了解它的工作原理。此外,如果您在网络上搜索“HDFS inotify”,我希望您会找到一些有用的演示文稿和示例。
或者,如果您只需要记录客户端对 HDFS 执行的所有操作,那么解析 HDFS 审计日志可能就足够了。这是一个与一般 HDFS 日志保存在同一目录中的文件,该文件记录了针对 NameNode 执行的大多数操作的一行。 log4j.properties sample来自 Hadoop 代码库的 展示了如何启用它。典型的商业发行版默认启用它。
Can I write plug-ins that can extend the functionality by performing custom processing present within NameNode and DataNode.
不,没有通用的插件机制。这是一个有意的设计选择,以避免将可能较慢的自定义代码注入(inject)关键的 HDFS 守护进程的风险,这些守护进程有望很好地扩展。有一些特定的点可以通过实现特定的 Java 类来定制,例如权限检查,但它并不是用于 Hook 任何可能事件的通用插件机制。
上面提到的 inotify 特性涉及到一个客户端连接到 NameNode 并接收事件,然后客户端可以以它认为合适的方式响应这些事件。但是,这不涉及在 NameNode 进程中执行的自定义客户端代码。
Data Nodes normally send back a block report for all the blocks that have been replicated across them. Is there a way to extend this data block report to add custom fields or attributes?
实现此目标的唯一方法是更改 HDFS 的代码并自行构建和部署,本质上是创建自己的分支。这将冒创建不兼容版本的风险,该版本不能与 Hadoop 生态系统中的其他应用程序一起使用。 Hadoop RPC 使用 Protobuf 来定义消息传递格式,如果使用得当,它可以实现向前和向后兼容,但您的更改很可能与 Apache 上游发生的开发不同。
如果您认为您的脑海中有一个对所有 HDFS 用户通常有用的 block 报告功能,那么您可以考虑提交 Apache JIRA 以将其作为一个功能提出,并将其纳入 Apache Hadoop 代码库。
关于Hadoop NameNode 和 DataNode 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41834324/
如果所有 Namenode 都发生故障,Secondary namenode 的作用是什么? 最佳答案 在开始之前,我将解释一下 NN 和 SNN 的作用。 NameNode: 它包含数据节点的元数据
我正在尝试在 ec2-instance 上安装 Hadoop-2.6.0。 我下载并安装了 Hadoop。我还设置了环境变量。尝试启动 hdfs 服务时出现以下错误。 [ec2-user@ip-10-
您好,我在 HA 集群配置时间遇到了所有这些错误。请帮助我哪里错了。 14/09/08 11:13:38 INFO namenode.AclConfigFlag: ACLs enabled? fals
我按照以下链接中的步骤在我的 Ubuntu 12.04 中安装了 Hadoop。 http://www.bogotobogo.com/Hadoop/BigData_hadoop_Install_on_
当我尝试启动 DataNode 时出现此错误。据我所知,RPC 参数仅用于 HA 配置,我没有设置(我认为)。 2014-05-18 18:05:00,589 INFO [main] impl.Me
我在我的mac上安装了hadoop,我按照hadoop安装一步一步来 当我执行hdfs namenode -format hadoop 总是返回错误 无法找到或加载类 org.apache.hadoo
我知道之前有人问过这个问题,但我想不出解决方案。当我尝试运行 hdfs name node -format 时出现以下错误: Could not find or load main class org
我正在尝试使用在 Amazon EC2 上使用 Hadoop 和 HDFS 运行的 Dedoop 应用程序。 Hadoop 集群设置完毕,Namenode JobTracker 和所有其他守护进程都在
我是hadoop的新手,所以我有一些疑问。如果主节点发生故障,hadoop 集群会发生什么?我们能否在没有任何损失的情况下恢复该节点?是否可以保留一个辅助主节点在当前主节点发生故障时自动切换为主节点?
我试图用一个namenode和两个datanode(slave1和slave2)设置Hadoop Cluster,所以我从Apache Hadoop下载了zip文件,并将其解压缩到namenode和d
我试图用一个名称节点和四个数据节点配置 hadoop。我能够在一台机器上成功配置名称节点和作业跟踪器并将其启动。 但是在我要配置数据节点的机器上,我做了以下操作: 我将 hadoop-2.0.0-cd
如果我运行: sbin/start-dfs.sh 然后它实际上并没有启动一个名称节点尽管打印: Starting namenodes on [0.0.0.0] 0.0.0.0: starting na
我的第一个问题,我会尽量不把事情搞砸:) 出于学习目的,我正在 4 节点集群上安装 Hadoop 2.9.0。我已经按照官方 Apache Hadoop 2.9.0 文档和一些谷歌页面开始安装/配置名
我是新手,我正在尝试找到解决这个问题的方法。为了在 Ubuntu 15.10 上设置 Hadoop 2.7.2 http://idroot.net/tutorials/how-to-install-a
我在 OSX(单节点集群模式)上运行 Hadoop 1.2.1,除了 namenode 之外,一切似乎都在工作:当我运行 start-all.sh 时,namenode 无法运行。这个可以在运行sto
NameNode 有关NameNode的更多信息,请参阅HDFS。 表和区域的HDFS利用率 要确定HBase在HDFS上使用的空间大小,请使用NameNode中的hadoop shell命令。
我通过sqoop命令将数据从mysql成功上传到HDFS。 MySQL Hadoop集群有 1个名称节点 1个用于次要NameNode的节点 Jobtracker的1个节点 3个用于Datanade
我在配置 core-site.xml 文件中将端口更改为 9000 on 5000 并启动了一个脚本 ./hadoop namenode 结果我收到了以下消息(我只给出了从屏幕上看到的部分,因为在日志
我无法在 hadoop fs -ls/命令上查看我的 HDFS 中的文件,我认为这是因为名称节点未运行。我已尝试格式化名称节点以及更改核心站点中的端口.xml 到不同的值。我的 JPS 仍然没有列出
我刚刚开始从 Hadoop:权威指南 一书中学习 hadoop。 我按照伪分发模式下的 Hadoop 安装教程进行操作。我启用了 ssh 的无密码登录。在第一次使用之前格式化 hdfs 文件系统。第一
我是一名优秀的程序员,十分优秀!