我想在ignite write-through cache的帮助下在hdfs中插入数据。我使用下面的示例配置文件来运行ignite节点。
ignite.sh /app/apache-ignite-fabric-1.9.0-bin/examples/config/filesystem/example-igfs.xml
这是我的core-site.xml文件
<configuration>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hmaster:9000/</value>
</property>
<property>
<name>fs.file.impl</name>
<!-- value>org.apache.hadoop.fs.LocalFileSystem</value -->
<value>org.apache.ignite.hadoop.fs.v1.IgniteHadoopFileSystem</value>
<description>The FileSystem for file: uris.</description>
</property>
<property>
<name>fs.hdfs.impl</name>
<value>org.apache.hadoop.hdfs.DistributedFileSystem</value>
<description>The FileSystem for hdfs: uris.</description>
</property>
<property>
<name>fs.igfs.impl</name>
<value>org.apache.ignite.hadoop.fs.v1.IgniteHadoopFileSystem</value>
</property>
</configuration>
</configuration>
当我这么做的时候 hadoop fs -cat igfs:///
显示igfs文件系统。如果我通过下面的命令运行任何hadoop作业,它会在igfs中插入数据。但我需要在hdfs文件系统中插入数据。如何在hdfs中插入数据?
hadoop --config /app/apache-ignite-fabric-1.9.0-bin/examples/config/filesystem jar /app/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount igfs:///workDir/myFile1 /outputWC
1条答案
按热度按时间4szc88ey1#
您应该使用辅助文件系统配置igfs,以便在ignite中具有直写缓存。
这个文档页面说明了:https://apacheignite-fs.readme.io/docs/secondary-file-system ignite hadoop edition的config(default config.xml)包含以下代码,默认情况下已注解掉:
您需要取消对它的注解并提供适当的辅助文件系统uri。请注意已知的bug,第二个文件系统uri的末尾应该有一个尾随斜杠,
hdfs://your_hdfs_host:9000/
. 默认情况下DUAL_ASYNC
将使用模式。设置DUAL_SYNC
模式设置“filesystemconfiguration”bean的“defaultmode”属性。一般性意见。
不应嵌套
<configuration>
hadoop配置文件中的标记。您可能不需要重新定义“fs.file.impl”和“fs.hdfs.impl”,请使用
$IGNITE_HOME/config/hadoop/core-site.ignite.xml
作为一个core-site.xml
文件模板。hadoop fs -cat ...
不适用于目录,请使用hadoop fs -ls ...