티스토리 뷰

반응형

Installation

CDH(Cloudera's Distribution for Hadoop)

  • CDH는 hadoop, hbase, zookeeper 등의 프레임워크를 자동 설치해주고 편리한 인터페이스로 관리하게 해주는 cloudera manager이다. 하둡에코시스템. 하둡, 주키퍼, 스파크, 제플린 설치까지는 괜찮다. 그러나 플럼, 카프카, 스쿱 등 다양한 에코시스템을 설치하다 보면 설치가 굉장히 까다롭고 복잡해진다. 그래서 CDH를 설치해 보자

기본적으로 우분투 환경에서 설치하였다.

 

 

cloudera 공식문서

설치전

Configure Network Names(네트워크 이름 구성)

 

시작 전에 루트 계정으로 진행을 해주자.

// root 계정으로 진행
$ sudo -i

 

1. Set the hostname to a unique name (notlocalhost).

서버 이름을 변경해 주자. 3개의 서버를 사용한다고 가정을 한다면, 아래와 같이 '.hadoop.com'을 뒤쪽에 붙여서 이름을 만들어준다.

// 172.16.1.101 서버1 이름변경
$ sudo hostnamectl set-hostname hadoop01.hadoop.com

// 172.16.1.102 서버2 이름변경
$ sudo hostnamectl set-hostname hadoop02.hadoop.com

// 172.16.1.103 서버3 이름변경
$ sudo hostnamectl set-hostname hadoop03.hadoop.com
// 네트워크 재시작
$ systemctl restart network

 

이때 서버 주소(ex_172.16.1.101)를 알고 싶다면 아래와 같은 명령어를 치면 된다.

$ hostname -i



2. Edit /etc/hosts with the IP address and fully qualified domain name (FQDN) of each host in the cluster. You can add the unqualified name as well.

이제 3개의 서버들끼리 통신을 주고받기 위해서 아래와 같이 사용하고자 하는 서버의 각각에 아래의 내용을 추가해준다. ($ vi /etc/hosts)

// # vi /etc/hosts
172.16.1.101   hadoop01.hadoop.com   hadoop01
172.16.1.102   hadoop02.hadoop.com   hadoop02
172.16.1.103   hadoop03.hadoop.com   hadoop03

 

위의 내용을 추가한 전체 코드는 아래와 같다.

127.0.0.1       localhost
127.0.1.1       hadoop01-HVM-domU

172.16.1.101   hadoop01.hadoop.com   hadoop01
172.16.1.102   hadoop02.hadoop.com   hadoop02
172.16.1.103   hadoop03.hadoop.com   hadoop03
#172.16.1.108   hadoop04.hadoop.com   hadoop04
#172.16.1.109   hadoop05.hadoop.com   hadoop05

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

나는 5개의 서버를 사용했기 때문에 위의 5개 가 포함된 것이다.

 

3. Disabling the Firewall

아래의 명령어를 작성하여 방화벽을 꺼주자.

$ sudo ufw disable

 

 

5. Enable an NTP Service
  • /etc/ntp.conf 파일을 수정하여 NTP 서버를 추가한다. NTP란 Network Time Protocol의 약자로 Network 상에 연결된 장비와 장비 간에 시간 정보를 동기화하기 위한 프로토콜이다.
$ vi /etc/ntp.conf

//매니저 노드
<주석처리>
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
<추가 입력>
server 127.127.1.0 # 로컬 시간
fudge 127.127.1.0 stratum 0

//나머지 노드
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
<추가 입력>
server MANAGER # MANAGER 장비의 시간과 동기화

 

우리가 클라우데라 매니저 서버에 연결할 하나의 서버를 매니저 노트의 내용을 추가해 주면 되고, 나머지 노드에는 'server MANAGER'만 추가해 주면 된다.

 

$ sudo systemctl start ntpd  // 서비스 시작
$ sudo systemctl enable ntpd // 부팅시 실행되도록 서비스 활성화
$ ntpq -p // NTP 서버확인



6. (RHEL 6 Compatible Only) Install Python 2.7 on Hue Hosts

Hue를 사용하려면 파이썬 2.7 버전이 필요하기 때문에 설치를 해주자.

$ sudo yum install python27
$ python --version

위의 명령어가 안되면, 아래로 하자.

sudo yum install centos-release-scl
sudo yum install scl-utils
sudo yum install python27
source /opt/rh/python27/enable
python --version

 

 

7. install JDK

  • 절대 openJDK는 설치하면 안 된다.
    sudo yum install oracle-j2sdk1.8 설치경로는 /usr/java/ 이다.

개인적으로는 여기를 눌러서 수동으로 JDK를 설치하는 것을 추천한다.


8. ssh key설정

서버들을 연결하려면, 서로의 서버에 접속할 때 비밀번호 없이 자동 로그인이 될 수 있도록 키 설정을 해줘야 한다. 우선은 모든 서버에 각각 아래의 명령어를 통해 keygen을 만들자.

 

$ ssh-keygen

 

이때 정보 입력하라고 하는 모든 것은 엔터를 눌러서 넘어가면 된다. 3개의 서버를 모두 만들어 주고 아래의 명령어를 각각 치면서 연결을 해준다. 각각 해당 서버에 맞는 root 비밀번호를 적어주면 된다. 만약 안된다면, root 비밀번호 설정이 안 돼 있을 수 있으니 passwd 명령어를 사용해서 비밀번호를 생성해 주자.

 

$ ssh-copy-id -i  ~/.ssh/id_rsa.pub hadoop01@172.16.1.101
$ ssh-copy-id -i  ~/.ssh/id_rsa.pub hadoop02@172.16.1.102
$ ssh-copy-id -i  ~/.ssh/id_rsa.pub hadoop03@172.16.1.103

 

9. PermitRootLogin 설정

이 부분은 가장 마지막에 설정을 해주는 것이 좋다. vi /etc/ssh/sshd_config 에 들어가서 PermitRootLogin부분을 찾아서 아래와 같이 바꿔주면 된다.

 

PermitRootLogin yes

 

이 정도 하면, 클라우데라 매니저를 실행하는데 문제가 없다. 이제 설치를 하러 가보자.

 

설치

Installing Cloudera Manager, CDH, and Managed Services
  • cloudera Manager는 클러스터의 노드 중에서 호스트로 사용할 노드 1대에 설치를 하면 된다. 그리고 설치된 서버에서 Hadoop, Spark, Hive를 설치 배포하면 된다.

https://www.cloudera.com/downloads/cdp-private-cloud-trial.html

들어가서 로그인하고 블라블라 하면, 아래의 url을 받는다. 즉, 굳이 들어갈 필요 없이 내용을 아래와 같이 한 줄씩 그대로 쳐준다. 이때 3개의 서버에 모두 설치해 준다.

$ wget https://archive.cloudera.com/cm7/7.1.4/cloudera-manager-installer.bin
$ chmod u+x cloudera-manager-installer.bin
$ sudo ./cloudera-manager-installer.bin
파란화면이 실행되면 next를 눌러서 설치한다.

 

사용하고자 하는 서버에 모두 설치를 했다면, 이제 클라우데라 매니저 서버와 그 외 서버를 나눠서 아래와 같은 명령어를 작성해 준다.

 

// 1번 서버 설치
$ sudo apt-get install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
$ service cloudera-scm-server-db status
$ sudo service cloudera-scm-server start
cloudera-scm-sercer-db가 먼저 실행되야 cloudera-manager-server가 잘 실행된다..


// 나머지 서버 설치
$ sudo apt-get install cloudera-manager-daemons cloudera-manager-agent
$ service cloudera-scm-server status
$ service cloudera-scm-server start

 

 

설치가 완료됐다면, 클라우데라 매니저 서버를 설치한 1번 서버에서 netstat -nap | grep 7180로 서버가 올라왔는지 확인하고 홈페이지로 들어가자.



install cloudera-manager

웹페이지를 열어서 172.16.1.101:7180으로 접속해서 'admin/admin'으로 로그인하고 설치를 진행한다. 여기서 172.16.1.101은 우리가 처음에 설정한 hadoop01이다. 그 뒤에 7180을 붙여주면, 로그인 화면이 뜰 것이다. 로그인 후에 다음을 누르면 호스트를 선택하는 것이 나온다.

 

 

172.16.1.[101-110]

 

위와 같이 적고 검색을 누르면 172.16.1.101부터 172.16.1.110까지 확인되는 모든 호스트를 검색한다. 그중에 우리가 설정한 101, 102, 103을 선택하고 다음을 넘어가면 된다.

 

 

호스트 이름을 위와 같이 검색해서 만들고자 하는 서버를 체크해준다. 그리고 install Agents부분에서 인증이 아래와 같은 오류가 뜨면서 안된다면, 위의 설치 전 설정을 다시 해보자. 필자는 처음 설치할 때 설치가 안돼서, 40번 이상의 클라우데라 설치를 했고 가능한 모든 에러를 봤다. 그리고 클라우데라가 돌아가는 최소한의 설정을 적어놨기 때문에, 위의 설정만 하면 반드시 아래의 에러가 발생하지 않고 설치가 진행될 것이다.

 

 

다음과 같은 에러가 발생할 수 있다. Exhausted avaulable authentication methods가 발생한다면, 각각의 서버끼리 키 설정을 하지 않아도 접속이 가능하도록 키 설정을 해주면 된다.

 

위의 화면이 설치가 되면 아래의 화면으로 넘어갈 것이다.

 

 

기다리면 된다.

 

 

 

 

서버 완료 후 추가적인 하둡 에코시스템 구축을 진행 예정이다.

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함