웹사이트 검색

CentOS/RHEL 7에서 Cloudera Manager를 설치하고 구성하는 방법 - 3부


이 문서에서는 업계 관행에 따라 Cloudera Manager를 설치하는 단계별 프로세스를 설명했습니다. Part 2에서는 이미 Cloudera 사전 요구 사항을 완료했으며 모든 서버가 완벽하게 준비되었는지 확인했습니다.

요구사항

  • CentOS/RHEL 7에 Hadoop 서버를 배포하기 위한 모범 사례 – 1부
  • Hadoop 전제 조건 및 보안 강화 설정 - 2부

여기서는 2개의 마스터와 3개의 워커로 구성된 5개의 노드 클러스터가 있습니다. 설치 절차를 보여주기 위해 5개의 AWS EC2 인스턴스를 사용했습니다. 저는 그 5개 서버의 이름을 아래와 같이 지정했습니다.

master1.linux-console.net
master2.linux-console.net
worker1.linux-console.net
worker2.linux-console.net
worker3.linux-console.net

Cloudera Manager는 전체 CDH에 대한 관리 및 모니터링 도구입니다. 우리 관리자는 일반적으로 이를 Cloudera Hadoop용 관리 도구라고 부릅니다. 이 도구를 사용하면 구성을 배포, 모니터링, 제어하고 변경할 수 있습니다. 이는 전체 클러스터를 관리하는 데 매우 중요합니다.

다음은 Cloudera Manager의 중요한 용도입니다.

  • 자동화된 방식으로 Hadoop 클러스터를 배포하고 구성합니다.
  • 클러스터 상태 모니터링
  • 경고 구성
  • 문제 해결
  • 보고
  • 클러스터 활용도 보고서 만들기
  • 동적으로 리소스 구성

1단계: CentOS에 Apache 웹 서버 설치

우리는 master1을 Cloudera 저장소의 웹 서버로 사용할 것입니다. 또한 Cloudera Manager는 WebUI이므로 Apache가 설치되어 있어야 합니다. Apache 웹 서버를 설치하려면 아래 단계를 따르십시오.

yum -y install httpd

httpd가 설치되면 이를 시작하고 활성화하여 부팅 시 시작되도록 합니다.

systemctl start httpd
systemctl enable httpd

httpd를 시작한 후 상태를 확인하십시오.

systemctl status httpd

httpd를 시작한 후 로컬 시스템에서 브라우저를 열고 검색창에 master1의 IP 주소를 붙여넣으면 httpd가 제대로 실행되는지 확인하기 위한 이 테스트 페이지가 표시됩니다.

2단계: IP 및 호스트 이름을 확인하기 위해 로컬 DNS 구성

IP와 호스트 이름을 확인하려면 DNS 서버가 있거나 /etc/hosts를 구성해야 합니다. 여기서는 /etc/hosts를 구성하고 있지만 실시간으로 전용 DNS 서버가 프로덕션 환경을 위해 존재하게 됩니다.

/etc/hosts에 모든 서버에 대한 항목을 만들려면 아래 단계를 따르세요.

vi /etc/hosts

이는 모든 서버에서 구성되어야 합니다.

13.235.27.144   master1.linux-console.net     master1
13.235.135.170  master2.linux-console.net     master2
15.206.167.94   worker1.linux-console.net     worker1
13.232.173.158  worker2.linux-console.net     worker2
65.0.182.222    worker3.linux-console.net     worker3

3단계: SSH 비밀번호 없는 로그인 구성

이 데모에서는 Cloudera Managermaster1에 설치됩니다. master1에서 다른 모든 노드까지 비밀번호 없는 SSH를 구성해야 합니다. Cloudera Manager는 SSH를 사용하여 다른 모든 노드와 통신하여 패키지를 설치하기 때문입니다.

master1에서 나머지 모든 서버로 비밀번호 없는 SSH를 구성하려면 아래 단계를 따르세요. 계속 진행하려면 'tecmint' 사용자가 필요합니다.

표시된 대로 useradd 명령을 사용하여 4개의 서버 모두 'tecmint' 사용자를 생성합니다.

useradd -m tecmint

사용자 'tecmint'에게 루트 권한을 부여하려면 /etc/sudoers 파일에 아래 줄을 추가하세요. 스크린샷과 같이 루트 아래에 이 줄을 추가할 수 있습니다.

tecmint   ALL=(ALL)    ALL

사용자 'tecmint'로 전환하고 아래 명령을 사용하여 master1에 SSH 키를 생성합니다.

sudo su tecmint
ssh-keygen

이제 표시된 대로 ssh-copy-id 명령을 사용하여 생성된 키를 4개 서버 모두에 복사합니다.

ssh-copy-id -i ~/.ssh/id_rsa.pub [email 
ssh-copy-id -i ~/.ssh/id_rsa.pub [email 
ssh-copy-id -i ~/.ssh/id_rsa.pub [email  
ssh-copy-id -i ~/.ssh/id_rsa.pub [email 

이제 표시된 대로 master1에서 비밀번호 없이 나머지 모든 서버로 SSH를 통해 연결할 수 있습니다.

ssh master2
ssh worker1
ssh worker2
ssh worker3

4단계: Cloudera Manager 설치 및 구성

공급업체(Cloudera) 저장소를 사용하여 RHEL/CentOS의 패키지 관리 도구를 사용하여 모든 패키지를 설치할 수 있습니다. 실시간으로 자체 리포지토리를 만드는 것이 모범 사례입니다. 프로덕션 서버에서 인터넷에 액세스할 수 없기 때문입니다.

여기서는 Cloudera Manager 6.3.1 릴리스를 설치하겠습니다. Repo 서버로 master1을 사용할 예정이므로 아래 경로에서 패키지를 다운로드 받습니다.

master1 서버에 아래 언급된 디렉터리를 만듭니다.

sudo mkdir -p /var/www/html/cloudera-repos/cm6

wget 도구를 사용하여 http를 통해 패키지를 다운로드할 수 있습니다. 따라서 아래 명령을 사용하여 wget을 설치하세요.

sudo yum -y install wget

그런 다음, 다음 wget 명령을 사용하여 Cloudera Manager tar 파일을 다운로드합니다.

wget https://archive.cloudera.com/cm6/6.3.1/repo-as-tarball/cm6.3.1-redhat7.tar.gz

tar 파일을 /var/www/html/cloudera-repos/cm6에 추출합니다. 이미 http를 설치하여 master1을 웹 서버로 만들었고 우리는 브라우저에서 테스트했습니다.

sudo tar xvfz cm6.3.1-redhat7.tar.gz -C /var/www/html/cloudera-repos/cm6 --strip-components=1

이제 모든 Cloudera rpm 파일이 /var/www/html/cloudera-repos/cm6/RPMS/x86_64 디렉토리에 있는지 확인하세요.

cd /var/www/html/cloudera-repos/cm6
ll

클러스터 호스트의 모든 서버에 다음 콘텐츠로 /etc/yum.repos.d/cloudera-manager.repo 파일을 생성합니다. 여기서 master1(65.0.101.148)은 다음과 같습니다. 웹 서버.

[cloudera-repo]
name=cloudera-manager
baseurl=http:///cloudera-repos/cm6/
enabled=1
gpgcheck=0

이제 저장소가 추가되었습니다. 아래 명령을 실행하여 활성화된 저장소를 확인하세요.

yum repolist

아래 명령을 실행하여 저장소에서 사용 가능한 모든 Cloudera 관련 패키지를 확인하세요.

yum list available | grep cloudera*

cloudera-manager-server, cloudera-manager-agent, cloudera-manager-daemons cloudera-manager-server-db-2를 설치합니다.

sudo yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server cloudera-manager-server-db-2

아래 명령을 실행하면 설치된 모든 Cloudera 패키지를 볼 수 있습니다.

yum list installed | grep cloudera*

아래 명령을 실행하여 Cloudera Manager 및 기타 서비스 메타데이터를 저장하는 기본 데이터베이스인 cloudera-scm-server-db를 시작합니다.

기본적으로 ClouderaCloudera Manager에 포함된 postgre-sql을 제공합니다. 실시간으로 사용할 수 있는 외부 데이터베이스에 내장형을 설치하고 있습니다. Oracle, MySQL 또는 PostgreSQL일 수 있습니다.

sudo systemctl start cloudera-scm-server-db

아래 명령어를 실행하여 데이터베이스 상태를 확인해보세요.

sudo systemctl status cloudera-scm-server-db

Cloudera Manager 서버에 대한 db.properties를 구성합니다.

vi /etc/cloudera-scm-server/db.properties

Cloudera Manager내장 데이터베이스를 사용하도록 하려면 아래 값을 EMBEDDED로 구성하세요.

com.cloudera.cmf.db.setupType=EMBEDDED

아래 명령을 실행하여 Cloudera Manager 서버를 시작합니다.

sudo systemctl start cloudera-scm-server

Cloudera Manager 서버의 상태를 확인하려면 아래 명령어를 실행하세요.

sudo systemctl status cloudera-scm-server

아래 명령을 실행하여 Cloudera Manager 에이전트를 시작하고 상태를 확인하세요.

sudo systemctl start cloudera-scm-agent
sudo systemctl status cloudera-scm-agent

Cloudera Manager Server가 성공적으로 실행되면 IP 주소와 포트 번호인 7180을 사용하여 브라우저에서 WebUI(로그인 페이지)를 볼 수 있습니다. Cloudera 관리자.

https://65.0.101.148:7180

요약

이 문서에서는 CentOS 7Cloudera Manager를 설치하는 단계별 프로세스를 살펴보았습니다. 다음 기사에서는 CDH 및 기타 서비스 설치를 살펴보겠습니다.