使用 apache ignite 在 hdfs 上写一个文件
Write a file on hdfs using apache ignite
我想借助 ignite write through cache 在 hdfs 中插入数据。我正在使用以下示例配置文件来 运行 点燃节点。
ignite.sh /app/apache-ignite-fabric-1.9.0-bin/examples/config/filesystem/example-igfs.xml
这是我的核心-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
您应该使用辅助文件系统配置 IGFS,以便在 Ignite 中使用直写缓存。
此文档页面对此进行了说明:https://apacheignite-fs.readme.io/docs/secondary-file-system
Ignite Hadoop 版本的配置(default-config.xml)有如下代码,默认注释掉:
<property name="secondaryFileSystem">
<bean class="org.apache.ignite.hadoop.fs.IgniteHadoopIgfsSecondaryFileSystem">
<property name="fileSystemFactory">
<bean class="org.apache.ignite.hadoop.fs.CachingHadoopFileSystemFactory">
<property name="uri" value="hdfs://your_hdfs_host:9000/"/>
</bean>
</property>
</bean>
</property>
您需要取消注释并提供适当的辅助文件系统 URI。
请注意已知错误,即尾部斜线应该出现在第二个文件系统 URI 的末尾,hdfs://your_hdfs_host:9000/
。
默认情况下将使用 DUAL_ASYNC
模式。要设置 DUAL_SYNC
模式设置 "defaultMode" 属性 of "fileSystemConfiguration" bean。
一般评论。
- Hadoop 配置文件中不应嵌套
<configuration>
标记。
- 您可能不需要重新定义 'fs.file.impl' 和 'fs.hdfs.impl',请使用
$IGNITE_HOME/config/hadoop/core-site.ignite.xml
作为 core-site.xml
文件模板。
hadoop fs -cat ...
不适用于目录,请使用 hadoop fs -ls ...
我想借助 ignite write through cache 在 hdfs 中插入数据。我正在使用以下示例配置文件来 运行 点燃节点。
ignite.sh /app/apache-ignite-fabric-1.9.0-bin/examples/config/filesystem/example-igfs.xml
这是我的核心-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
您应该使用辅助文件系统配置 IGFS,以便在 Ignite 中使用直写缓存。
此文档页面对此进行了说明:https://apacheignite-fs.readme.io/docs/secondary-file-system Ignite Hadoop 版本的配置(default-config.xml)有如下代码,默认注释掉:
<property name="secondaryFileSystem"> <bean class="org.apache.ignite.hadoop.fs.IgniteHadoopIgfsSecondaryFileSystem"> <property name="fileSystemFactory"> <bean class="org.apache.ignite.hadoop.fs.CachingHadoopFileSystemFactory"> <property name="uri" value="hdfs://your_hdfs_host:9000/"/> </bean> </property> </bean> </property>
您需要取消注释并提供适当的辅助文件系统 URI。
请注意已知错误,即尾部斜线应该出现在第二个文件系统 URI 的末尾,hdfs://your_hdfs_host:9000/
。
默认情况下将使用 DUAL_ASYNC
模式。要设置 DUAL_SYNC
模式设置 "defaultMode" 属性 of "fileSystemConfiguration" bean。
一般评论。
- Hadoop 配置文件中不应嵌套
<configuration>
标记。 - 您可能不需要重新定义 'fs.file.impl' 和 'fs.hdfs.impl',请使用
$IGNITE_HOME/config/hadoop/core-site.ignite.xml
作为core-site.xml
文件模板。 hadoop fs -cat ...
不适用于目录,请使用hadoop fs -ls ...