03 - CDH 6.3.x 安裝


CDH 6.3.x 離線安裝

環境

修改主機名,配置host文件

# 根據個人需要修改主機名稱
hostnamectl set-hostname node1
hostnamectl set-hostname node2
hostnamectl set-hostname node3

# 修改每個主機的 host 文件
vi /etc/hosts
172.16.1.181 node1
172.16.1.182 node2
172.16.1.183 node3

關閉系統默認安全防護

  • 關閉防火牆
systemctl stop firewalld && systemctl disable firewalld && systemctl status firewalld

ssh 使用密鑰登陸

  • node1 到其他節點即可,配置參考文檔:Linux SSH 使用密鑰登陸.md
  • 所有節點使用相同的密碼,在安裝的時候使用密碼操作。

機器間時鍾同步

PG數據庫

准備CM軟件

准備CDH軟件

准備yum源

yum源下載地址

安裝http和yum源

  • 這里僅在 node1 上安裝即可。
yum install httpd createrepo -y

安裝JDK

  • 將 oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm 上傳到每個節點上面。
  • 確認已經卸載了機器自帶的OpenJDK。
  • 最后安裝此包並驗證。
rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm

# 默認會安裝到如下目錄中:
cd /usr/java/jdk1.8.0_181-cloudera
java -version

修改系統參數

  • 修改Linux swappiness參數(所有節點)
# 在 SentOS7 中 tuned 服務會動態調整系統參數,查找tuned中配置,直接修改配置
cd /usr/lib/tuned/
grep "vm.swappiness" * -R
latency-performance/tuned.conf:vm.swappiness=10
throughput-performance/tuned.conf:vm.swappiness=10
virtual-guest/tuned.conf:vm.swappiness = 30
# 然后將文件中的配置依次修改為 0,修改后將這些文件同步到其他機器上
  • 禁用透明頁(所有節點)
vi /etc/rc.local
# 在文件中添加如下內容:
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

配置本地Parcel存儲庫,在Node1

  • 創建/opt/cloudera/parcel-repo目錄,將下載好的 parce 和 manifest.json 文件放置到該目錄,命令如下:
mkdir -p /opt/cloudera/parcel-repo

[root@node1 parcel-repo]# ls -lart
總用量 2035088
drwxr-xr-x. 3 root root 24 10月 24 10:39 ..
-rw-r--r--. 1 root root 33887 10月 24 10:40 manifest.json
-rw-r--r--. 1 root root 2083878000 10月 24 11:17 CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel
-rw-r--r--. 1 root root 40 10月 24 11:17 CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha1
drwxr-xr-x. 2 root root 4096 10月 24 11:17 .
-rw-r--r--. 1 root root 64 10月 24 11:17 CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha256

[root@cdh01 parcel-repo]# sha1sum CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel | awk '{ print $1 }' > CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha

安裝CM

  • 創建CM存放路徑,將如下內容上傳到該目錄中。
# 創建目錄,復制CM文件到此目錄中。
mkdir /opt/cloudera/cloudera-repo

[root@node1 cloudera-repo]# createrepo .
Spawning worker 0 with 3 pkgs
Spawning worker 1 with 2 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete


[root@node1 cloudera-repo]# ll
總用量 1366552
-rw-r--r--. 1 root root 10483568 10月 24 13:34 cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r--. 1 root root 1203832464 10月 24 13:54 cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r--. 1 root root 232 10月 24 13:34 cloudera-manager.repo
-rw-r--r--. 1 root root 11488 10月 24 13:54 cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r--. 1 root root 10996 10月 24 13:54 cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r--. 1 root root 184988341 10月 24 13:34 oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
drwxr-xr-x. 2 root root 4096 10月 24 13:56 repodata
-rw-r--r--. 1 root root 1718 10月 24 13:34 RPM-GPG-KEY-cloudera


# 將 cloudera-repo 整個目錄復制到 /var/www/html 目錄下
cp -r /opt/cloudera/cloudera-repo /var/www/html

# 將上面下載的 allkeys.asc 文件也放置在 html 目錄下

# 在 /etc/yum.repos.d 目錄下新建 cloudera-manager.repo 文件,在每個節點都需要創建
cd /etc/yum.repos.d/
vi cloudera-manager.repo

# 在cloudera-manager.repo 文件添加如下內容:
[cloudera-manager]
name=Cloudera Manager 6.3.1
baseurl=http://node1/cloudera-repo/
gpgkey=http://node1/cloudera-repo/RPM-GPG-KEY-cloudera
gpgcheck=1
enabled=1
autorefresh=0
type=rpm-md

# 保存退出后更新源信息
yum clean all
yum makecache

# 安裝CDH所依賴的包,如下是從互聯網搜集的(實際的測試環境下是可以聯網下載的,這里先不補充)
yum install edhat-lsb portmap mod_ssl openssl-devel python-psycopg2
yum install chkconfig bind-utils libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs

# 安裝守護進程包(每個節點都需要安裝)
yum install cloudera-manager-daemons -y

# 安裝 agent 軟件包(每個節點都要安裝,會自動更新一些依賴包)
yum install cloudera-manager-agent -y

# 安裝 server 軟件包(僅Server需要安裝)
yum install cloudera-manager-server -y


# 創建CM所需要的數據庫、用戶
su - postgres
psql
CREATE ROLE scm LOGIN PASSWORD 'scm';
CREATE ROLE hive LOGIN PASSWORD 'hive';
CREATE ROLE oozie LOGIN PASSWORD 'oozie';
CREATE ROLE hue LOGIN PASSWORD 'hue';
CREATE DATABASE scm OWNER scm ENCODING 'UTF8';
CREATE DATABASE hive OWNER hive ENCODING 'UTF8';
CREATE DATABASE oozie OWNER oozie ENCODING 'UTF8';
CREATE DATABASE hue OWNER hue ENCODING 'UTF8';

# 針對8.4以上版本的 pg 在使用 hive 和 oozie 的時候需要關閉如下配置:
ALTER DATABASE hive SET standard_conforming_strings=off;
ALTER DATABASE oozie SET standard_conforming_strings=off;

# 初始化 scm 數據庫,可以在命令上顯示的寫出 pg 數據庫 scm 用戶的密碼,也可以在下面輸入你的密碼:
[root@node1 ~]# /opt/cloudera/cm/schema/scm_prepare_database.sh postgresql scm scm [password]
Enter SCM password: [input your password]
JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
Verifying that we can write to /etc/cloudera-scm-server
Creating SCM configuration file in /etc/cloudera-scm-server
Executing: /usr/java/jdk1.8.0_181-cloudera/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/java/postgresql-connector-java.jar:/opt/cloudera/cm/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
[ main] DbCommandExecutor INFO Successfully connected to database.
All done, your SCM database is configured correctly!

# 啟動 Server 服務,這里不用啟動 agent,后面從Web界面上安裝的時候直接啟動。
systemctl start cloudera-scm-server
systemctl status cloudera-scm-server
  • 自動安裝的依賴包如下:
作為依賴被安裝:
  GeoIP.x86_64 0:1.5.0-14.el7
  MySQL-python.x86_64 0:1.2.5-1.el7
  at.x86_64 0:3.1.13-24.el7
  bc.x86_64 0:1.06.95-13.el7
  bind-export-libs.x86_64 32:9.11.4-9.P2.el7 bind-libs.x86_64 32:9.11.4-9.P2.el7
  bind-utils.x86_64 32:9.11.4-9.P2.el7
  cups-client.x86_64 1:1.6.3-40.el7
  cups-libs.x86_64 1:1.6.3-40.el7
  cyrus-sasl-gssapi.x86_64 0:2.1.26-23.el7
  cyrus-sasl-plain.x86_64 0:2.1.26-23.el7
  ed.x86_64 0:1.9-4.el7
  fuse.x86_64 0:2.9.2-11.el7
  geoipupdate.x86_64 0:2.5.0-1.el7
  keyutils-libs-devel.x86_64 0:1.5.8-3.el7
  krb5-devel.x86_64 0:1.15.1-37.el7_7.2
  libcom_err-devel.x86_64 0:1.42.9-16.el7
  libkadm5.x86_64 0:1.15.1-37.el7_7.2
  libselinux-devel.x86_64 0:2.5-14.1.el7
  libsepol-devel.x86_64 0:2.5-10.el7
  libtirpc.x86_64 0:0.2.4-0.16.el7
  libverto-devel.x86_64 0:0.2.5-4.el7
  m4.x86_64 0:1.4.16-10.el7
  mailx.x86_64 0:12.5-19.el7
  mod_ssl.x86_64 1:2.4.6-90.el7.centos
  openssl-devel.x86_64 1:1.0.2k-19.el7
  patch.x86_64 0:2.7.1-12.el7_7
  pcre-devel.x86_64 0:8.32-17.el7
  psmisc.x86_64 0:22.20-16.el7
  python-psycopg2.x86_64 0:2.5.1-4.el7
  redhat-lsb-core.x86_64 0:4.1-27.el7.centos.1
  redhat-lsb-submod-security.x86_64 0:4.1-27.el7.centos.1
  rpcbind.x86_64 0:0.2.0-48.el7
  spax.x86_64 0:1.5.2-13.el7
  time.x86_64 0:1.7-45.el7
  zlib-devel.x86_64 0:1.2.7-18.el7

更新完畢:
  selinux-policy-targeted.noarch 0:3.13.1-252.el7.1

作為依賴被升級:
  bind-libs-lite.x86_64 32:9.11.4-9.P2.el7
  bind-license.noarch 32:9.11.4-9.P2.el7
  cyrus-sasl-lib.x86_64 0:2.1.26-23.el7
  dhclient.x86_64 12:4.2.5-77.el7.centos
  dhcp-common.x86_64 12:4.2.5-77.el7.centos
  dhcp-libs.x86_64 12:4.2.5-77.el7.centos
  e2fsprogs.x86_64 0:1.42.9-16.el7
  e2fsprogs-libs.x86_64 0:1.42.9-16.el7
  krb5-libs.x86_64 0:1.15.1-37.el7_7.2
  libcom_err.x86_64 0:1.42.9-16.el7
  libselinux.x86_64 0:2.5-14.1.el7
  libselinux-python.x86_64 0:2.5-14.1.el7
  libselinux-utils.x86_64 0:2.5-14.1.el7
  libsemanage.x86_64 0:2.5-14.el7
  libsepol.x86_64 0:2.5-10.el7
  libss.x86_64 0:1.42.9-16.el7
  pcre.x86_64 0:8.32-17.el7
  policycoreutils.x86_64 0:2.5-33.el7
  selinux-policy.noarch 0:3.13.1-252.el7.1
  zlib.x86_64 0:1.2.7-18.el7
  • 安裝PG驅動

配置集群

這里搜索我們的機器,注意上面安裝 agent 包的時候不要啟動 agent 服務。

這里使用本地倉庫地址:http://node1/cloudera-repo

這里不勾選,上面我們已經在每個機器上安裝了jdk

所有機器的密碼相同,也就不需要使用上面的免Key登錄了。

在各個節點安裝 agent 服務。

這里進行網絡和主機配置檢查,根據提示調整機器配置,我這里先跳過了。

選擇安裝的服務,這里我們自定義:先之選一個 HDFS 服務。

然后為每個服務的角色分配所在主機節點:

配置 HDFS 的基本參數,留意數據存放路徑,需要是機器上存放數據的目錄,這個目錄需要足夠大。

然后等待安裝完成即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM