[HADOOP] 어떻게 매퍼 하둡에서 시스템 환경 변수를 설정하는 방법?
HADOOP어떻게 매퍼 하둡에서 시스템 환경 변수를 설정하는 방법?
라인 아래의 문제는 해결하지만 또 다른 문제에 직면하고있다.
나는이 일을하고있다 :
DistributedCache.createSymlink(job.getConfiguration());
DistributedCache.addCacheFile(new URI
("hdfs:/user/hadoop/harsh/libnative1.so"),conf.getConfiguration());
그리고 매퍼 :
System.loadLibrary("libnative1.so");
(또한 시도 System.loadLibrary를 ( "libnative1"); System.loadLibrary를 ( "native1");
그러나 나는이 오류가 무엇입니까 :
java.lang.UnsatisfiedLinkError: no libnative1.so in java.library.path
나는 내가 무엇에 java.library.path를 설정해야 완전히 우둔입니다 .. 나는 / 홈으로 설정 시도하고 모든 분산 캐시에서 / 가정 /하지만 여전히 작동하지 않았다에 .SO 복사 :(
어떤 제안 / 솔루션하세요?
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
나는 매퍼가 실행중인 시스템의 시스템 환경 변수를 (특히, LD_LIBRARY_PATH) 설정하려는.
나는 시도했다 :
Runtime run = Runtime.getRuntime();
Process pr=run.exec("export LD_LIBRARY_PATH=/usr/local/:$LD_LIBRARY_PATH");
그러나 IOException이 발생합니다.
나는 또한에 대해 알고
JobConf.MAPRED_MAP_TASK_ENV
하지만 작업 및 구성 대신 JobConf을 가지고 하둡 버전 0.20.2을 사용하고 있습니다.
나는 그러한 변수를 찾을 수없는 나는,이 또한하지 하둡 특정 환경 변수하지만, 시스템 환경 변수입니다.
모든 솔루션 / 제안? 미리 감사드립니다 ..
해결법
-
==============================
1.왜 클러스터의 모든 노드에서이 변수를 수출 해달라고?
왜 클러스터의 모든 노드에서이 변수를 수출 해달라고?
작업을 제출하면서 어쨌든, 다음과 같이 구성 클래스를 사용
Configuration conf = new Configuration(); conf.set("mapred.map.child.env",<string value>); Job job = new Job(conf);
값의 형식은 K1 = V2 = V1을, K2이고
from https://stackoverflow.com/questions/10246301/how-to-set-system-environment-variable-from-mapper-hadoop by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 맵리 듀스 작업 상태는 실행 중 상태에 갇혀있다 (0) | 2019.10.01 |
---|---|
[HADOOP] HDP 2.4, 어떻게 하나 개의 파일에 수로를 이용하여 하둡 맵리 듀스 로그를 수집하고 무엇이 가장 좋은 방법입니다 (0) | 2019.10.01 |
[HADOOP] Giraph의 추정 클러스터 힙 xxxxMBs 물어 0메가바이트의 현재 가용성 클러스터 힙보다 더 크다. 작업 중단 (0) | 2019.10.01 |
[HADOOP] fs.defaultFS 속성을 설정하는 경우 Dataproc에서 클러스터를 만들 수 없습니다? (0) | 2019.10.01 |
[HADOOP] 클라이언트를 만들 수 없습니다 - 하이브와 실행 엔진과 같은 스파크 (0) | 2019.10.01 |