• 김영찬

CDP PvC Install #4 - After Installation

Cloudera PvC 설치 후에 Cloudera Manager Console에서 초기 설정할 내용을 설명합니다.




// Cloudera Manager Admin Console Language 설정

  • 브라우저의 언어 설정에 따름(영어로 설정)

  • Firefox는 설정 --> 일반 --> 언어와 모양 --> 언어 --> 영어 --> 재시작

  • Chrome는 설정 --> 고급 --> 언어 --> 언어 --> 영어 --> 가장 위로 이동

// Cloudera Hosts JAVA Home Directory 설정 변경(Managed JDK를 선택한 경우)

  • Hosts > Hosts Configuration > Advanced(Java Home Directory)

  • Java Home Directory에 서버의 JAVA_HOME 디렉토리(/usr/java/jdk1.8) 설정

  • 필요시 Cloudera Manager 를 재실행

// Cloudera Cluster 환경 Security 설정

  • Enable Auto-TLS setup // 웹 로그인을 http가 아닌 https로 설정

  • Kerberos 기반 KDC setup // kerberos 기반 authetication을 위한 설정

// Cloudera Manager Admin Console에서 Cluster 추가

  • 브라우저로 Cloudera Manager Admin Console 서버 접속(default 7180 포트) : http://cms.futuresoft.co.kr:7180

  • Add Cluster --> Welcome --> AutoTLS setup, Keberos KDC setup --> Continue

  • Cluster Basics --> Cluster Name(HadoopCluster), Basic Cluster --> Continue

  • Specify Hosts --> 3대 이상의 Linux 서버 FQDN worker1.futuresoft.co.kr 형식(공백 구분) --> 검색 --> 설치대상 hosts 선택 --> 계속

  • Select Repository --> Agent/Public Cloudera Repository or Custom Repository(Local Repository), CDH/Use Parcels(Recommneded) --> Continue

  • Select JDK(Manually Managed JDK) --> Continue

  • Enter Login Credentials --> Login to All Hosts As : Another user, Authetication Method/All hosts accept same private key --> Choose File --> Continue

(파일 선택창에서 설치 계정의 숨김 폴더 .ssh 폴더에 생성한 ssh private key id_rsa를 선택)

  • Install Agents(Repository에서 대상 서버에 Agent 설치, 실패시 Admin console 확인) --> Continue

  • Install Parcels(대상 서버에 Parcels을 다운로드해서 복사, parcel 다운로드시 절대 Cloudera Manager 서버를 건드리지 말것) --> Continue

  • Inspect Cluter(Cluster hosts 들에 대해 Inspect Network Performance/Inspect Hosts 수행) --> Continue

  • Hosts Role Configuration --> 기타 마무리 등록 --> Cluster 자동 실행 -->

  • Cloudera Manager Admin Console로 Cluster 상태 관리

// Hosts에 Role Assign 참고사항

  • Oozie 서버에는 반드시 Spark Gateway role이 있어야함

  • 특정 서비스를 이용하려는 서버에는 해당 서비스의 gateway role을 부여해야됨

  • 만약 설치 중 브라우저에서 이전 과정으로 갔다 다시 오는 경우 Namenode의 /data/dfs 폴더를 지워주어야 함

설치중 이미 /data/dfs 폴더가 있는 경우 NameNode Format을 실패함(삭제후 진행)

// Kudu Required Parameters // 아래와 같이 설정한다.

Kudu Master WAL Directory:

/data/kudu/master_wal

Kudu Master Data Directories

/data/kudu/master_data

Kudu Tablet Server WAL Directory

/data1/kudu/tablet_wal

Kudu Tablet Server Data Directories

/data1/kudu/tablet_data

/data2/kudu/tablet_data

/data3/kudu/tablet_data

// hdfs replication factor 조정

  • hdfs dfs -setrep -R 3 / hdfs root 디렉토리의 replication factor를 1로 설정(node 수에 맞게 조정 - default 3)

// HDFS에 Linux 사용자에 대한 홈 디렉토리 생성 및 권한부여(초기 생성 - hdfs 권한으로)

  • HDFS user 생성 및권한 설정 : 초기에 Linux 로그인 계정에 대한 HDFS user 폴더와 권한이 없음

- 초기에 Linux 사용자에 대한 hdfs 홈 디렉토리(/user/home_directory)를 만들고 권한을 주지 않으면 hdfs 명령 permission 오류

- sudo -u hdfs hdfs dfs -mkdir /user/hadoop // Linux hadoop 계정에 대한 hdfs 홈 디렉토리 생성

- sudo -u hdfs hdfs dfs -chown hadoop /user/hadoop // Linux hadoop 계정에 hdfs /user/hadoop 디렉토리 권한 부여

// HDFS superuser group(default는 super group) 확인 및 설정(hadoop 계정에 HDFS super user 그룹 권한 부여)

  • hdfs dfs -mkdir /test // hdfs root에 test 디렉토리 생성. 권한이 없어서 Permission denied 오류 발생(superuser group 등록 필요)

  • hdfs --> configuration --> dfs.permissions.supergroup --> "supergroup" (default HDFS superuser group 그룹명 확인)

  • NameNode 호스트로 ssh 로그인(namenode에서 HDFS에 설정된 supergroup 명의 그룹을 생성하고, 계정을 추가)

  • sudo groupadd supergroup // supergroup 생성

ssh hadoop@master1 sudo /usr/sbin/groupadd supergroup //master1 서버(Namenode)에 hadoop 계정으로 원격 접속해서 그룹 추가

  • sudo /usr/sbin/usermod -aG supergroup hadoop // hadoop 계정을 supergroup로 추가

ssh hadoop@master1 sudo /usr/sbin/usermod -aG supergroup hadoop // master1(Namenode) server에 원격 접속해서 설졍

  • groups hadoop // hadoop 계정이 속한 group 표시(hadoop wheel supergroup)

ssh hadoop@master1 groups hadoop // master1(Namenode) 서버에 ssh로 접근해서 group 설정 확인

  • hdfs dfsadmin -refreshUserToGroupsMappings // HDFS user와 group 매핑 cache 정보를 refresh

  • hdfs dfs -mkdir /test // HDFS root 디렉토리에 test 디렉토리 생성됨

  • hdfs dfs -rm -r -skipTrash /test // 생성한 test 디렉토리를 삭제함(휴지통에 넣지않고 삭제)

조회수 13회댓글 0개

최근 게시물

전체 보기