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 디렉토리를 삭제함(휴지통에 넣지않고 삭제)
Comments