2016-08-01 2 views
0

나는 다양한 서버에 연결하기 위해 사용자 이름과 암호를 필요로하는 스파크 작업을 실행하는 워크 플로우가 있습니다. 지금은 workflow.xml에 인수로 전달합니다. username passwordoozie spark job workflow 동안 암호를 저장하는 더 나은 방법

암호를 볼 때 잘못된 방법입니다. 그러한 경우에 암호를 알아 채지 못하게하는 표준 방법은 무엇입니까?

감사합니다. 당신이 documentation의에서 볼 수

답변

0

Sqoop을는 흥미로운 경우이다 (! 우웩) 일반 텍스트 암호 다음,

  • 처음에는 단지 --password 명령 줄 옵션이 있었다
  • 다음에 --password-file이 도입 된 다음 암호가 들어있는 파일이 추가되었습니다. 그것은 분명 개선 왜냐하면
    (a)는 에지 노드에서 실행할 때는 암호 자체가 실행 사람이 볼 수없는 ps 명령
    Oozie에서 실행하는 경우 (b)에, 당신은 HDFS에 한 번 파일을 업로드 할 수 있습니다 그런 다음 Oozie에게 작업을 실행중인 YARN 컨테이너의 CWD에 <file> 옵션을 사용하여 다운로드하고 작업 정의를 검사하는 사람에게는 암호 자체가 보이지 않도록 말하십시오.
    ----하지만 잊지 마세요. EDGE 노드와 HDFS 모두에 대한 액세스를 제한하십시오. 그렇지 않으면 암호가 손상 될 수 있습니다. ----
  • 마지막으로 선택적 자격 증명 저장소가 Hadoop에 도입되었습니다. 차 Sqoop을가 (불꽃를 들어,

마찬가지로 (... 지금 암호를 보호하는 문제가 있지만, 당신은 자격 증명 저장소에 연결하는 데 사용) 기본적으로 것을 지원하며 사용자 정의를위한 자바/Scala/Python app) "속성"파일에 모든 민감한 정보를 저장하고 해당 파일에 대한 액세스를 제한 한 다음 프로그램의 명령 줄 인수로 전달하는 것이 좋습니다.

Dev/Test/Prod 환경이 다른 경우에도 손쉽게 작업을 수행 할 수 있습니다. Oozie 스크립트와 "속성"파일 이름은 정확히 같지만 실제 소품은 환경에 따라 다릅니다.

관련 문제