【乾貨】快速搭建CDH的yum本地源的詳細過程
在做專案的過程中,專案環境上不了網,但利用CM安裝CDH的過程中,發現cloudera-cdh5的yum源會自動的訪問網路,因此報錯,導致安裝不成功。因此需要安裝一個本地的yum源。下文是經轉載而來,但一些細節會結合我的專案環境而改變。
為了方便在區域網中安裝CDH叢集,搭建一個CDH的yum本地源,方便區域網內各節點安裝。
在Cloudera的官網中給出了CDH本地源的搭建過程(官網說明文件連結),下面是本人親自搭建的詳細過程,首先要找一臺能聯網的主機來製作本地源,可自動下載必要的安裝包(如果全部都無法聯網,則手動下載相關的rpm安裝包,只是麻煩了一些,過程是一樣的),製作好本地源後該主機再斷網給本地區域網作為yum源使用即可。
1、關閉防火牆、關閉selinux
service firewalld stop
systemctl disable firewalld
[[email protected] selinux]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
2、下載repo檔案
根據作業系統下載repo檔案(本人使用的是centos 7.4,x86_64位),到cloudera官網上下載repo檔案,這是centos7對應的repo檔案
下載後,將cloudera-cdh5.repo檔案儲存到/etc/yum.repos.d/目錄下
3、安裝本地http伺服器
官網推薦的http伺服器是lighttpd,這是一款極輕量級的http伺服器,安裝也非常簡單
yum install epel-release
yum update
yum install lighttpd
本人習慣使用apache httpd,因此最後安裝的是apache httpd
yum install httpd
設定可讀取目錄列表,對於lighttpd的設定如下:
vi /etc/lighttpd/conf.d/dirlisting.conf
dir-listing.activate = "enable"
dir-listing.hide-dotfiles = "enable"
對於apache httpd的設定方式為修改httpd.conf檔案,加入以下配置項
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
</Directory>
4、製作repo檔案
安裝createrepo程式
sudo yum install yum-utils createrepo
下載CDH相關的rpm包
reposync -r cloudera-cdh5
將下載的rpm包放到http伺服器的目錄(我下載回來有兩個資料夾noarch和x86_64,可以將這兩個資料夾分別拉進下面的/var/www/html/cdh/5/RPMS/,然後各自生成repo,並在cloudera-cdh5中寫上兩個baseurl)
/var/www/html/cdh/5/RPMS/x86_64
在該http目錄下,製作repo檔案
# 注意後面加上空格和點,表示當前目錄
createrepo .
下載RPM-GPG-KEY-cloudera檔案,放到該http目錄下,下載連結
5、修改repo檔案中的本地源
修改/etc/yum.repos.d/cloudera-cdh5.repo中的下載url,指向本地源
baseurl=http://本機ip/cdh/5/
6、更新源,安裝CDH hadoop
yum update
yum install hadoop
然後再安裝JDK,安裝後cdh-hadoop就能運行了,非常方便。