Spring-xd Stream 正在将空文件写入我的 HDFS
Spring-xd Stream is writing empty files to my HDFS
所以我正在关注这本书,这是 Jason Bell 为开发人员编写的机器学习实践手册。在我不得不将我的 spring-xd 流连接到 hadoop 之前,我在这本书中读得很远。我是 运行 spring-xd 1.2.1,我是 运行 hadoop(1.2.1 和 2.6.0,我都试过了),它在端口 9000 上。在这个在本教程中,我们应该获取一个推特流并将其通过管道传输到 hadoop 中的一个文件,但是当我创建和部署这个流时,它创建的文件并没有填充推文。所以现在,为了让事情更简单,我现在只是试图通过创建这个流来让流连接到 hdfs,
stream create --name ticktock --definition "time | hdfs" --deploy
应该将日期传送到 /xd/ticktock/ticktock-0.txt.tmp 中的文件,但是,当我尝试使用命令
hadoop fs cat /xd/ticktock/ticktock-0.txt.tmp
它什么也没产生,让我假设没有数据到达它。我确实点击了这个流,然后 运行 它到本地文件。在那个文件中,它正确地记录了时间,所以我知道我的流正在执行正确的功能并产生输出,它只是由于某种原因没有到达 hadoop。
它会在 hadoop 中创建文件,所以它不像 hadoop 完全忽略流,它为它创建的文件中没有任何内容。
我确实找到了一个和我有同样问题的人,他们的 vm 联网到 NET 或其他东西,但我没有使用 vmbox。
我已经尝试将文件夹 xd 更改为 777,
我已经确保我可以在没有密码的情况下 ssh 到我的本地机器,
我已经确保我的 hadoop 集群中有一个数据节点 运行,
并且我通过将我创建的文件放入我的 hdfs 然后 运行 cat 命令从 spring-xd shell 和常规终端。
不幸的是,我不知所措,有人可以在这种情况下帮助我吗?
如果您需要有关我的 hadoop 集群或 spring-xd 设置的任何信息,请告诉我,我仍然是这些技术的新手。
销毁流后可以看到hdfs sink中的文件
2.Also,
Rollover:即使流处于活动状态,一旦存储的数据大小超过
1G(默认值), Spring XD会将1G的内容滚动到一个HDFS文件中,并创建一个新的tmp文件,将当前的timetock值存储在其中。
谢谢
S.Satish
好的,我修复了它,出于某种原因,我重新阅读了该错误消息,并再次看到没有数据节点 运行。我重新启动了 haoop,但这次是在 2.6.0 中,然后 运行 该测试流持续了几秒钟,然后将其销毁。果然成功了。谢谢 Satish Srinivasan,我不知道在读取之前必须删除流。
所以我正在关注这本书,这是 Jason Bell 为开发人员编写的机器学习实践手册。在我不得不将我的 spring-xd 流连接到 hadoop 之前,我在这本书中读得很远。我是 运行 spring-xd 1.2.1,我是 运行 hadoop(1.2.1 和 2.6.0,我都试过了),它在端口 9000 上。在这个在本教程中,我们应该获取一个推特流并将其通过管道传输到 hadoop 中的一个文件,但是当我创建和部署这个流时,它创建的文件并没有填充推文。所以现在,为了让事情更简单,我现在只是试图通过创建这个流来让流连接到 hdfs,
stream create --name ticktock --definition "time | hdfs" --deploy
应该将日期传送到 /xd/ticktock/ticktock-0.txt.tmp 中的文件,但是,当我尝试使用命令
hadoop fs cat /xd/ticktock/ticktock-0.txt.tmp
它什么也没产生,让我假设没有数据到达它。我确实点击了这个流,然后 运行 它到本地文件。在那个文件中,它正确地记录了时间,所以我知道我的流正在执行正确的功能并产生输出,它只是由于某种原因没有到达 hadoop。
它会在 hadoop 中创建文件,所以它不像 hadoop 完全忽略流,它为它创建的文件中没有任何内容。
我确实找到了一个和我有同样问题的人,他们的 vm 联网到 NET 或其他东西,但我没有使用 vmbox。
我已经尝试将文件夹 xd 更改为 777, 我已经确保我可以在没有密码的情况下 ssh 到我的本地机器, 我已经确保我的 hadoop 集群中有一个数据节点 运行, 并且我通过将我创建的文件放入我的 hdfs 然后 运行 cat 命令从 spring-xd shell 和常规终端。
不幸的是,我不知所措,有人可以在这种情况下帮助我吗?
如果您需要有关我的 hadoop 集群或 spring-xd 设置的任何信息,请告诉我,我仍然是这些技术的新手。
销毁流后可以看到hdfs sink中的文件
2.Also, Rollover:即使流处于活动状态,一旦存储的数据大小超过 1G(默认值), Spring XD会将1G的内容滚动到一个HDFS文件中,并创建一个新的tmp文件,将当前的timetock值存储在其中。
谢谢 S.Satish
好的,我修复了它,出于某种原因,我重新阅读了该错误消息,并再次看到没有数据节点 运行。我重新启动了 haoop,但这次是在 2.6.0 中,然后 运行 该测试流持续了几秒钟,然后将其销毁。果然成功了。谢谢 Satish Srinivasan,我不知道在读取之前必须删除流。