메뉴 건너뛰기

Bigdata, Semantic IoT, Hadoop, NoSQL

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접근이 가능함)





A personal place to organize information learned during the development of such Hadoop, Hive, Hbase, Semantic IoT, etc.
We are open to the required minutes. Please send inquiries to gooper@gooper.com.

위로