CDH6 서비스 설치 전체 레코드, CDH6.0.0 ~ 6.3.2 적용, 3 노드

18442 단어 hadoop

1. 서버 준비


1. 서버 구성


서버 3대를 준비하고 최소 구성을 권장합니다(아리운은 한 달에 약 600여 대):centos7.4 8c 16G
39.101.192.109 node001 39.101.179.3 node002 39.99.236.205 node003
서버에 대한 외부 네트워크 포트 액세스 7180, 8900

2. 설치 패키지 다운로드


아래에 열거한 총 12개의 파일을 파일 서버에 다운로드하다
cdh 파일을/var/www/html/cloudera-repos/디렉터리로 다운로드(1)https://archive.cloudera.com/cdh6/6.0.0/parcels/CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel (2)https://archive.cloudera.com/cdh6/6.0.0/parcels/CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha256 (3)https://archive.cloudera.com/cdh6/6.0.0/parcels/manifest.json
repo 지원 파일을/var/www/html/cloudera-repos/repodata/디렉터리로 다운로드하기(4)https://archive.cloudera.com/cdh6/6.3.2/redhat7/yum/repodata/repomd.xml (5)https://archive.cloudera.com/cdh6/6.3.2/redhat7/yum/repodata/3224703272392229e02b46c2ef95286e92cce148a07c04752bcfe98870bfd675-primary.sqlite.bz2 (6)https://archive.cloudera.com/cdh6/6.3.2/redhat7/yum/repodata/4f1d5a908a6b4fd79988109121695168a65ef0846f178bbf32dc99f92c7cef36-filelists.sqlite.bz2
cm 파일을/var/www/html/cloudera-repos/RPMS/x86_로 다운로드64/디렉토리(7)https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPMS/x86_64/cloudera-manager-agent-6.0.0-530873.el7.x86_64.rpm (8)https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPMS/x86_64/cloudera-manager-daemons-6.0.0-530873.el7.x86_64.rpm (9)https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPMS/x86_64/cloudera-manager-server-6.0.0-530873.el7.x86_64.rpm (10)https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPMS/x86_64/cloudera-manager-server-db-2-6.0.0-530873.el7.x86_64.rpm (11)https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPMS/x86_64/oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm
/var/www/html/cloudera-repos/디렉터리로 파일 다운로드(12)https://archive.cloudera.com/cm6/6.0.0/allkeys.asc

3. 프로필 서버


rpm 설치 패키지를 설치하고 뒤에 cdh 설치를 편리하게 하기 위해 http 서버를 시작합니다
cd /var/www/html/
cp ./cloudera-repos/CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha256 ./cloudera-repos/CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha
cp ./cloudera-repos/CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha256 ./cloudera-repos/CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha1
python -m SimpleHTTPServer 8900

업그레이드가 필요한 모든 서버에 로컬 리포 라이브러리 설정
vi /etc/yum.repos.d/cloudera-manager.repo
[cloudera-manager]
name=Cloudera Manager 6.0.0
baseurl=http://node001:8900/cloudera-repos/
gpgcheck=0
enabled=1

구성 적용 여부 테스트
yum deplist cloudera-manager-agent

2. 환경 준비


1. 서버 시간 초과 설정 1시간


/etc/profile에 추가
export TMOUT=3600 #  1 

구성 적용
source /etc/profile

/etc/ssh/sshd_config에 추가
ClientAliveInterval 60 #  60 
ClientAliveCountMax 3 #  3 

설정을 수정한 후 sshd 서비스를 다시 시작합니다
systemctl restart sshd

2, 3 노드 비밀 유지 로그인 구성


모든 서버에/etc/hosts 노드 이름 추가
172.26.53.202 node001
172.26.53.203 node002
172.26.53.204 node003

모든 서버에rsa 키를 생성하고 리턴을 누르면 됩니다
ssh-keygen -t rsa

각 서버에서 다음 명령을 실행하여 3대의 서버가 서로 비밀로 로그인할 수 있도록 하다
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node001
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node002
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node003

3. transparent_ 수정hugepage 매개 변수 (투명 페이지 압축)

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.d/rc.local
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.d/rc.local

3. cdh 설치


1. 서버당 자바 설치

yum install oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm

/etc/profile에 다음 구성을 추가합니다.
JAVA_HOME=/usr/java/jdk1.8.0_141-cloudera
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
PATH=$PATH:$JAVA_HOME/bin:$HOME/bin:$HOME/.local/bin

구성 적용
source /etc/profile

2. mysql 설치


설치 패키지 다운로드, mysql-server 설치
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server

설정 mysql 대소문자 민감하지 않음 (매우 중요) 수정/etc/my.conf 파일의 [mysqld] 내용
lower_case_table_names=1

mysql 서비스를 시작하고 mysql를 켜서 시작합니다
systemctl start mysqld
systemctl enable mysqld

mysql에 로그인
mysql -uroot -p

루트 사용자에게 외부 네트워크 액세스 권한 부여
GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '## ##';
flush privileges;

4, 설치

sudo yum clean all
sudo yum upgrade cloudera-manager-daemons cloudera-manager-agent
rpm -qa 'cloudera-manager-*'

5. 데이터베이스 초기화

mysql -uroot -p
# Cloudera Manager 
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm@123';
# Activity Monitor 
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'amon@123';
# Reports Manager 
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'rman@123';
# Hue 
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'hue@123';
# Metastore 
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON metastore.* TO 'metastore'@'%' IDENTIFIED BY 'metastore@123';
# Sentry 
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY 'sentry@123';
# Cloudera Navigator Audit Server 
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'nav@123';
# Cloudera Navigator Metadata Server 
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'navms@123';
# Oozie 
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie@123';
# Hive 
CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hive@123';
flush privileges;

6. scm로 mysql 초기화

sh /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm

7. 마스터 시작 서버

systemctl start cloudera-scm-server
systemctl enable cloudera-scm-server
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
systemctl status cloudera-scm-server

8. 하위 노드 시작 에이전트


서버 주소 설정
vim /etc/cloudera-scm-agent/config.ini
server_host=node001

에이전트 서비스 시작
systemctl start cloudera-scm-agent
systemctl enable cloudera-scm-agent
tail -f /var/log/cloudera-scm-agent/cloudera-scm-agent.log
systemctl status cloudera-scm-agent

9. 웹 액세스 cm


http://39.101.192.109:7180/

4. 이상 솔루션


1、SqlExceptionHelper - Table ‘scm.CM_VERSION’ doesn’t exist


linux 시스템이라면 mysql를 대소문자로 수정하면 민감하지 않습니다./etc/my를 수정합니다.conf 파일의 [mysqld] 내용
lower_case_table_names=1
systemctl restart mysql

scm 데이터베이스 삭제, 새 데이터베이스, scm_ 재실행prepare_database.sh
sh /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm

2、cm-server[38046]: ERROR StatusLogger No log4j2 configuration file found.


/var/log/cloudera-scm-server/cloudera-scm-server를 보십시오.log 로그, 다른 패키지에 다른 이상이 보고되어 log4j2 설정을 찾을 수 없습니다.예를 들어 데이터 테이블을 찾을 수 없거나 데이터 테이블의 데이터가 비어 있습니다.

3、scm.hosts not exist 또는 테이블 데이터 없음


(1) linux 시스템이라면 mysql가 대소문자로 수정되어 민감하지 않습니다. scm 데이터베이스를 삭제한 후 새 데이터베이스를 만들고 scm_prepare_database.sh(2) 호스트 이름 충돌:https://blog.csdn.net/NeverGiveup54/article/details/102836562(3) 호스트 이름을 설정하지 않았습니다.hosts에서 호스트 이름과 IP의 매핑 관계를 설정하지 않았습니다.

4,cm 설치 완료 후 액세스 불가


(1) 자체 제작 서버의 경우 방화벽을 닫거나 네트워크 포트를 개방할 수 있음(2) 아리운 또는 텐센트 클라우드에서 구입한 서버의 경우 관리 콘솔을 통해 네트워크 포트를 개방할 수 있음

5. 해시 파일을 찾을 수 없습니다


sha1 파일은sha로 이름을 바꿉니다. 여기 sha의 해시가mainfest에 있는지 확인하십시오.json에서 일치합니다.인터페이스에서 "추가 옵션"의 목록을 수정하고 새 것을 추가한 다음 삭제합니다. 이것은 캐시를 한 번 갱신하는 것과 같습니다.

6. cloudera-repos/allkeys를 찾을 수 없습니다.asc


이 파일을 다운로드하지 않았습니다. 인터넷에서 이 파일을 다운로드한 후/var/www/html/cloudera-repos/디렉터리에 놓으십시오

7, cdh 오프라인 설치에서 파일을 복사할 수 없음


sha256 파일은sha와sha1로 이름을 바꿉니다. 여기 sha의 해시가mainfest에 있는지 확인하십시오.json에서 일치합니다.

8, 호스트 상태 불량/Cluster not found


https://blog.csdn.net/u011031430/article/details/74057601cm 인터페이스에서 뒤로
rm -f /opt/cloudera-manager/cm/lib/cloudera-scm-agent/cm_guid

혹은
rm -f /var/lib/cloudera-scm-agent/cm_guid
systemctl restart cloudera-scm-agent

9、CDH HDFS:NameNode is not formatted.


사용하지 않는 그룹 사용: hadoopnamenode-format 기존 데이터의 그룹:https://blog.csdn.net/weixin_44202548/article/details/86496440

10、Starting cloudera-scm-server: [FAILED]

systemctl status -l cloudera-scm-server

로그 파일에서 원인을 볼 수 있는 구체적인 실패 원인을 찾지 못하면
vi /var/log/cloudera-scm-server/cloudera-scm-server.log

11. cloudera-scm-agent 로그에 오류가 있습니다.

rm -f /opt/cloudera-manager/cm-5.11.1/lib/cloudera-scm-agent/cm_guid

혹은
rm -f /var/lib/cloudera-scm-agent/cm_guid
systemctl restart cloudera-scm-agent

12. cloudera-scm-agent, cloudera-scm-server를 시작할 때 JDK가 지원하지 않습니다. oracle jdk를 사용해야 합니다.


일반적으로 설치하기 전에 이 오류를 보고합니다. 만약oracle jdk를 설치했다면, 환경 변수가 JAVA를 설정했는지 확인하거나, 시스템의 Openjdk를 삭제하고, oracle jdk를 다시 설치합니다.

13, 질의를 보낼 수 없음: Host Monitor에 연결할 수 없음


scm 데이터가 초기화되지 않은 것은 새 그룹을 만든 후 설치를 중단하여 발생한 해결 방법일 수 있습니다. CM 인터페이스에서 그룹을 삭제하고 cm 서비스를 정지하며 백그라운드에서 서비스를 정지하는 것입니다.
systemctl stop cloudera-scm-agent
systemctl stop cloudera-scm-server

다시 3장 6매듭부터.

14. Hive 시작 실패, 다음 오류 발생

Command failed to run because this role has an invalid configuration. Review and correct its configuration. First error: Enable Stored Notifications in Database is required by Sentry and must be enabled.

Sentry에서 hive_ 설정 필요enable_db_notification, 이 옵션을 선택하십시오.

15. Hive 시작 실패, 다음과 같은 오류 발생

Command failed to run because server kudu has an invalid configuration. Review and correct its configuration. First error: Sentry authraizion in Kudu required that Hive is configured with Kudu.

Hive를 다시 시작한 후 Resume.

16. 모든 설치가 끝난 후 impala는 계속 재부팅됩니다. 로그를 보면 다음과 같습니다.

Could not connect to meta store using any of the URIs provided. Most recent failure:.......Commection refused
Failed to connect to the MetaStore Server...
Failed to connect to Hive MetaStore. Retrying.

(1) Hive, MetaStore를 다시 시작하고 명령행을 통해 Hive를 연결합니다. (2) Hive가 연결된 데이터베이스를 검사합니다. 데이터베이스 이름은hive 또는 metastore입니다. 안에 29개의 테이블이 있는지, 테이블에 데이터가 있는지 확인하십시오. (3) 라이브러리에 테이블이 없거나 데이터가 없으면

17. beeline로 hiveServer2를 연결할 때 아래의 오류를 보고합니다


FAILED: InvalidConfigurationException hive.server2.authentication can't be none in non-testing mode 수정hive-site.xml의testing.mode는true
<property>
  <name>sentry.hive.testing.mode</name>
  <value>true</value>
</property>

18. beeline을 통해 hive를 연결한 후 데이터베이스를 전환하면 다음과 같이 표시됩니다.

User Hive does not have privileges for SWITCHDATABASE

새 역할,hive 사용자에게 권한 부여https://blog.csdn.net/lvtula/article/details/89177670

19. Sentry가 HA를 시작할 때 오류를 보고하고 백그라운드에서 com을 알립니다.mysql.jdbc.드라이버가 없습니다.


HA의 노드에서/share/lib/jdbc의jar 패키지가 있는지 확인하십시오.없으면 이 디렉터리에 다운로드https://dev.mysql.com/downloads/connector/j/5.1.html

20, HDFS, YARN webui에 액세스할 수 없음


(1) 도메인 이름이 네트워킹 IP로 바인딩된 경우 이 WebUI 기본 네트워킹 IP는 HDFS/YARN 설정에서'어댑터'를 검색하고, NameNode와 DataNode가 어댑터를 사용하는 옵션을 선택합니다 (2) 웹ui를 검색하고kerberos 설정을 닫습니다

좋은 웹페이지 즐겨찾기