145.7. OSGi에서 이 구성 요소 사용


HDFS 2.x가 다른 org.apache.hadoop.fs.FileSystem 구현을 검색하는 데 사용하는 메커니즘과 관련된 OSGi 환경에서 이 구성 요소를 실행할 때 몇 가지 quirks가 있습니다. Cryostat 2.x는 /META-INF/services/org.apache.hadoop.fs.FileSystem 파일을 찾는 java.util.ServiceLoader 를 사용합니다. 사용 가능한 파일 시스템 유형 및 구현을 정의합니다. 이러한 리소스는 OSGi 내에서 실행할 때 사용할 수 없습니다.

camel-hdfs 구성 요소와 마찬가지로 번들 클래스 로더에서 기본 구성 파일을 확인해야 합니다. 이를 처리하는 일반적인 방법은 번들 루트에 core-default.xml (및 hdfs-default.xml)의 사본을 유지하는 것입니다.

145.7.1. 수동으로 정의된 경로와 함께 이 구성 요소 사용

두 가지 옵션이 있습니다.

  1. 경로를 정의하는 번들을 사용하여 /META-INF/services/org.apache.hadoop.fs.FileSystem 리소스를 패키징합니다. 이 리소스는 필요한 모든 Cryostat 2.x 파일 시스템 구현을 나열해야 합니다.
  2. org.apache.hadoop.fs.FileSystem 클래스 내에 내부 정적 캐시를 채우는 상용구 초기화 코드를 제공합니다.
org.apache.hadoop.conf.Configuration conf = new org.apache.hadoop.conf.Configuration();
conf.setClass("fs.file.impl", org.apache.hadoop.fs.LocalFileSystem.class, FileSystem.class);
conf.setClass("fs.hdfs.impl", org.apache.hadoop.hdfs.DistributedFileSystem.class, FileSystem.class);
...
FileSystem.get("file:///", conf);
FileSystem.get("hdfs://localhost:9000/", conf);
...

145.7.2. 블루프린트 컨테이너에서 이 구성 요소 사용

두 가지 옵션:

  1. 블루프린트 정의가 포함된 번들을 사용하여 /META-INF/services/org.apache.hadoop.fs.FileSystem 리소스를 패키징합니다.
  2. 블루프린트 정의 파일에 다음을 추가합니다.
<bean id="hdfsOsgiHelper" class="org.apache.camel.component.hdfs2.HdfsOsgiHelper">
   <argument>
      <map>
         <entry key="file:///" value="org.apache.hadoop.fs.LocalFileSystem"  />
         <entry key="hdfs://localhost:9000/" value="org.apache.hadoop.hdfs.DistributedFileSystem" />
         ...
      </map>
   </argument>
</bean>

<bean id="hdfs2" class="org.apache.camel.component.hdfs2.HdfsComponent" depends-on="hdfsOsgiHelper" />

이렇게 하면 HDFS 2.x는 URI 체계를 파일 시스템 구현에 올바르게 매핑할 수 있습니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동