Bigdata, Hadoop ecosystem, Semantic IoT등의 프로젝트를 진행중에 습득한 내용을 정리하는 곳입니다.
필요한 분을 위해서 공개하고 있습니다.
문의사항은 gooper@gooper.com로 메일을
보내주세요.
1. oozie에서 제공하는 ssh action을 이용하여 다른 서버에 패스워드 없이 ssh로그인 하여 그 안에 있는 shellscript호출하는 설정하는 방법은 다음과 같다.
oozie서버 : oozieserver.gooper.com <- client이면서 출발지 서버(호스트명 oozieserver)
ssh로 접속하려는 서버 : sshserver.gooper.com <- 목적지 서버(호스트명 sshserver)
ssh접속 계정 : hadoop
1. 설정
centos 8이전 버젼에서는 /etc/hosts.allow에 ssh: 접속허용IP 형태로 등록해주고 출발지와 목적지 서버간 22번 포트에 대한 방화벽을 오픈한다.
2. oozie계정에 대한 key생성(공개키/개인키 기반의 키를 생성함)
sudo -u oozie ssh-keygen -t rsa
3. 2번에서 생성한 oozie계정용 key를 sshserver.gooper.com서버에 있는 hadoop계정의 authorized_keys에 추가 (home폴더는 /var/lib/계정 의 위치에 생성될 수도 있음)
sudo -u oozie ssh-copy_id i /home/oozie/.ssh/id_rsa.pub hadoop@sshserver.gooper.com
4. 패스워드 없이 접속 가능한지 접속 테스트
sudo -u oozie ssh hadoop@sslserver.gooper.com
* 참고#1 : oozie 프로세스에서 다른 서버에 hadoop게정으로 접속하는 경우 hadoop계정의 키를 생성해서 배포하고 hadoop계정으로 접속하거나 oozie서버의 oozie서비스 프로세스 기동한 계정인 oozie계정의 public key를 3번 처럼 목적지 서버에 배포한 후 4번처럼 ssh접속하면 패스워드를 따로 묻지 않고 접속됨.
참고#2: 외부서버에서 oozie서버에 ssh접근하는 경우는 외부 서버의 shellecript실행할 os계정(예, msl)의 공개키를 받아서 oozie서버의 /home/msl2/.ssh/authorized_keys파일에 수동 등록해주면
외부 서버에서 sudo -u msl ssh msl2@oozieserver.gooper.com 처럼 msl계정으로 shellscript를 수행후 shellscript안에서 msl2계정으로 oozie서버에 패스워드 없이 ssh접근이 가능함)
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
400 | insert hbase by hive ... error occured after 5 hours..HMaster가 뜨지 않는 장애에 대한 복구 방법 | 총관리자 | 2014.04.29 | 7129 |
399 | oozie가 말하는 start시간은..서버에서 확인되는 시간이 아닙니다. | 총관리자 | 2014.05.14 | 699 |
398 | sqoop export/import등을 할때 driver를 못찾는 오류가 발생하면... | 총관리자 | 2014.05.15 | 867 |
397 | sqoop에서 oracle관련 작업할때 테이블명, 사용자명, DB명은 모두 대문자로 사용할것 | 총관리자 | 2014.05.15 | 1528 |
396 | dual table만들기 | 총관리자 | 2014.05.16 | 826 |
395 | 특정파일이 생성되어야 action이 실행되는 oozie job만들기(coordinator.xml) | 총관리자 | 2014.05.20 | 984 |
394 | source의 type을 spooldir로 하는 경우 해당 경로에 파일이 들어오면 파일단위로 전송함 | 총관리자 | 2014.05.20 | 687 |
393 | hive에서 insert overwrite directory.. 로 하면 default column구분자는 'SOH'혹은 't'가 됨 | 총관리자 | 2014.05.20 | 999 |
392 | import 혹은 export할때 hive파일의 default 구분자는 --input-fields-terminated-by " |