[HADOOP] modify hadoop-env.sh를 제외하고 hadoop에서 시스템 속성을 지정하는 방법?
HADOOPmodify hadoop-env.sh를 제외하고 hadoop에서 시스템 속성을 지정하는 방법?
hadoop 작업을 실행할 때 시스템 속성 (hadoop 속성 아님)을 설정하고 싶습니다. 시스템 속성을 설정하는 것이 쉽지 않은 것으로 나타났습니다. 심지어 내가 껍질에있는 속성을 설정
export HADOOP_OPTS="$HADOOP_OPTS:-Dproperty=value"
아직 작동하지 않습니다. hadoop 명령 줄의 "-D"옵션은 시스템 속성이 아닌 Configuration 전용입니다. 따라서 "-D"옵션도 작동하지 않습니다.
누구든지 아이디어가 있습니까? 감사
해결법
-
==============================
1.명령 줄을 통해 작업을 시작할 때 단순히 -Dfoo.bar = example in-line을 사용하면 안됩니다.
명령 줄을 통해 작업을 시작할 때 단순히 -Dfoo.bar = example in-line을 사용하면 안됩니다.
hadoop jar example.jar com.example.ExampleTool -Dfoo.bar = 예제 인자
코드에서 속성을 가져 오려면 conf.get ( "foo.bar");
이제 시스템 속성으로 설정할 필요가 있다면 Hadoop config에서 얻은 값을 사용하여 코드 시작 부분에 설정할 수 있습니다.
String property = conf.get("foo.bar"); System.setProperty("foo.bar", property);
-
==============================
2.hadoop 스크립트는 다음과 같이 java 클래스를 호출합니다.
hadoop 스크립트는 다음과 같이 java 클래스를 호출합니다.
exec "$JAVA" $JAVA_HEAP_MAX $HADOOP_OPTS $CLASS "$@"
그래서 우리는 다음과 같이 시스템 전체 속성을 전달할 수 있습니다.
export HADOOP_OPTS="$HADOOP_OPTS -Dfoo=bar"
-
==============================
3.시스템 등록 정보와 환경 변수의 차이점과 여기에서 설정하는 방법을 확인하십시오.
시스템 등록 정보와 환경 변수의 차이점과 여기에서 설정하는 방법을 확인하십시오.
from https://stackoverflow.com/questions/15490090/how-to-specify-system-property-in-hadoop-except-modify-hadoop-env-sh by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Spark 메모리에 TB 파일 실행 (0) | 2019.07.24 |
---|---|
[HADOOP] 하이브 JDBC Kerberos 연결 오류 (0) | 2019.07.24 |
[HADOOP] org.apache.hadoop.security.AccessControlException : EC2에서 Hadoop Java API를 사용하여 S3 버킷을 통해 S3 버킷에 액세스하려고하면 권한이 거부되었습니다. (0) | 2019.07.24 |
[HADOOP] HBase 대 하이브 대 HDFS 대 하이브 (0) | 2019.07.24 |
[HADOOP] HIVE의 분산 캐시에 여러 파일 추가 (0) | 2019.07.24 |