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
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
» | [oozie]oozie ssh action으로 패스워드 없이 다른 서버에 ssh로그인 하여 shellscript호출하는 설정하는 방법 | gooper | 2022.11.10 | 29 |
2 | [HA구성 이슈]oozie 2대를 L4로 HA구성했을때 발생하는 이슈 | gooper | 2023.01.17 | 15 |
1 | oozie의 sqoop action수행시 ooize:launcher의 applicationId를 이용하여 oozie:action의 applicationId및 관련 로그를 찾는 방법 | gooper | 2023.07.26 | 10 |