CDH-5.7.1离线安装
生活随笔
收集整理的這篇文章主要介紹了
CDH-5.7.1离线安装
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
CDH-5.7.1離線安裝 參考自:http://blog.csdn.net/jdplus/article/details/45920733 1、文件下載 CDH (Cloudera’s Distribution, including Apache Hadoop),是Hadoop眾多分支中的一種,由Cloudera維護(hù),基于穩(wěn)定版本的Apache Hadoop構(gòu)建,并集成了很多補(bǔ)丁,可直接用于生產(chǎn)環(huán)境。? Cloudera Manager則是為了便于在集群中進(jìn)行Hadoop等大數(shù)據(jù)處理相關(guān)的服務(wù)安裝和監(jiān)控管理的組件,對(duì)集群中主機(jī)、Hadoop、Hive、Spark等服務(wù)的安裝配置管理做了極大簡化。? 相關(guān)包的下載地址:? Cloudera Manager地址:http://archive.cloudera.com/cm5/cm/5/? 下載對(duì)應(yīng)的文件,我下載的是:cloudera-manager-el6-cm5.9.2_x86_64.tar.gz CDH安裝包地址:http://archive.cloudera.com/cdh5/parcels 由于我們的操作系統(tǒng)為CentOS6.8,需要下載以下文件,找到對(duì)應(yīng)的版本:? CDH-5.7.1-1.cdh5.9.2.p0.3-el6.parcel? CDH-5.7.1-1.cdh5.9.2.p0.3-el6.parcel.sha1 manifest.json? 準(zhǔn)備JDBC,等下連接MySQL會(huì)用到:http://download.softagency.net/MySQL/Downloads/Connector-J/ 算上jdbc一共是5個(gè)文件 強(qiáng)烈建議:有條件的話,以下所有操作都在root下完成,不要問我為什么知道的。 否側(cè),出現(xiàn)錯(cuò)誤,10個(gè)有9個(gè)都是目錄權(quán)限問題,根據(jù)log查錯(cuò)即可。 2、準(zhǔn)備工作:系統(tǒng)環(huán)境搭建 如果使用虛擬機(jī)安裝的話,每個(gè)節(jié)點(diǎn)至少保證硬盤空間20G,推薦30G以上。 內(nèi)存,master至少6G,推薦8G以上,slave至少4G 以下操作均需要(root)管理員權(quán)限? 2.1、網(wǎng)絡(luò)配置(所有節(jié)點(diǎn))? ?臨時(shí)修改 hostname 主機(jī)名 修改主機(jī)名:vim /etc/sysconfig/network NETWORKING=yes?? HOSTNAME=主機(jī)名 GATEWAY=192.168.3.253?? 修改ip與主機(jī)名的對(duì)應(yīng)關(guān)系:vim /etc/hosts DEVICE="eth0"?? BOOTPROTO=none?? IPV6INIT="yes"?? NM_CONTROLLED="yes"?? ONBOOT="yes"?? TYPE="Ethernet"?? UUID="038b2dab-5902-46d7-9d4c-2c0fb42599b9"?? HWADDR=00:0C:29:50:84:9A?? IPADDR=192.168.3.201?? PREFIX=24?? GATEWAY=192.168.3.253?? DNS1=192.168.1.242?? DEFROUTE=yes?? IPV4_FAILURE_FATAL=yes?? IPV6_AUTOCONF=yes?? IPV6_DEFROUTE=yes?? IPV6_PEERDNS=yes?? IPV6_PEERROUTES=yes?? IPV6_FAILURE_FATAL=no?? NAME="System?eth0"?? LAST_CONNECT=1468601480?? 2.2、打通SSH,設(shè)置ssh無密碼登陸(所有節(jié)點(diǎn))? 執(zhí)行ssh-keygen -t rsa,一路回車,生成無密碼的密鑰對(duì)。? 將公鑰添加到認(rèn)證文件中:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,并設(shè)置authorized_keys的訪問權(quán)限:chmod 600 ~/.ssh/authorized_keys。? 通過scp命令將各節(jié)點(diǎn)的認(rèn)證文件拷貝到所有其他節(jié)點(diǎn)使得各節(jié)點(diǎn)能夠相互訪問。 ? 2.3、安裝Oracle的Java(所有節(jié)點(diǎn)) (JAVA安裝路徑:最好選擇以下)? '/usr/java/jdk1.8' 、'/usr/java/jre1.8' 、'/usr/lib/jvm/j2sdk1.8-oracle'、 '/usr/lib/jvm/j2sdk1.8-oracle/jre' 、'/usr/lib/jvm/java-8-oracle' '/usr/lib/jvm/java-1.8.0-openjdk' 、'/usr/lib/jvm/java-8-openjdk' '/Library/Java/Home' 、'/usr/java/default'、 '/usr/lib/jvm/default-java'、 '/usr/lib/jvm/java-openjdk' 、'/usr/lib/jvm/jre-openjdk' CDH默認(rèn)會(huì)到這些目錄下找JAVA CentOS自帶OpenJdk,不過運(yùn)行CDH5需要使用Oracle的JDK,需要Java 7的支持。? 卸載自帶的OpenJdk,使用rpm -qa | grep java查詢java相關(guān)的包,使用rpm -e --nodeps 包名卸載之。? 去Oracle的官網(wǎng)下載jdk的rpm安裝包,并使用rpm -ivh 包名安裝,最后配置環(huán)境變量。? 在 etc/profile中, vi /etc/profile 添加如下(使用rpm安裝的java在/usr/java/jdk1.8XXXX): export?JAVA_HOME=/usr/java/jdk1.8.0_91?? export?PATH=$JAVA_HOME/bin:$PATH?? export?CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar?? 然后使環(huán)境變量生效: source /etc/profile 2.4、安裝配置MySql(主節(jié)點(diǎn))? # mysql? ? ? ? ? 客戶端程序 # mysql-server? ? 服務(wù)端程序 # mysql-devel? ? 開發(fā)設(shè)計(jì)的庫 [root@localhost ~]# yum -y install mysql mysql-server mysql-devel ? # 開機(jī)啟動(dòng) [root@localhost ~]# chkconfig mysqld on # 啟動(dòng)mysqld服務(wù) [root@localhost ~]# service mysqld start # 進(jìn)行一些安全性配置 [root@localhost ~]# /usr/bin/mysql_secure_installation 注意:這里遠(yuǎn)程連接mysql可能會(huì)出現(xiàn)權(quán)限報(bào)錯(cuò),需要修改user表,具體方法請自行搜索 root的初試密碼:mysqladmin -u root password 'xxxx' mysql -u root -p xxxxxx 進(jìn)入mysql命令行,創(chuàng)建以下數(shù)據(jù)庫: #hive?? ?? create?database?hive?DEFAULT?CHARSET?utf8?COLLATE?utf8_general_ci;、?? ?? #activity?monitor?? ?? create?database?amon?DEFAULT?CHARSET?utf8?COLLATE?utf8_general_ci;?? #activity?oozie?如果需要的話?? ?? create?database?oozie?DEFAULT?CHARSET?utf8?COLLATE?utf8_general_ci;?? 設(shè)置root授權(quán)訪問以上所有的數(shù)據(jù)庫: #授權(quán)root用戶在主節(jié)點(diǎn)擁有所有數(shù)據(jù)庫的訪問權(quán)限 grant?all?privileges?on?*.*?to?'root'@'主機(jī)名'?identified?by?'密碼' with?grant?option;? ?? flush?privileges;?? 5.關(guān)閉防火墻和SELinux? 注意: 需要在所有的節(jié)點(diǎn)上執(zhí)行,因?yàn)樯婕暗降亩丝谔嗔?#xff0c;臨時(shí)關(guān)閉防火墻是為了安裝起來更方便,安裝完畢后可以根據(jù)需要設(shè)置防火墻策略,保證集群安全。? 關(guān)閉防火墻: service?iptables?stop?(臨時(shí)關(guān)閉)???? ?? chkconfig?iptables?off?(重啟后生效)?? 關(guān)閉SELINUX(實(shí)際安裝過程中發(fā)現(xiàn)沒有關(guān)閉也是可以的,不知道會(huì)不會(huì)有問題,還需進(jìn)一步進(jìn)行驗(yàn)證): set enforce 0 (臨時(shí)生效) ? 修改 vi /etc/selinux/config 下的? SELINUX=disabled (重啟后永久生效) #?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?? 6.所有節(jié)點(diǎn)配置NTP服務(wù) (這一步暫時(shí)可以跳過,但是在集群啟動(dòng)以后,會(huì)提示時(shí)間不同步) 集群中所有主機(jī)必須保持時(shí)間同步,如果時(shí)間相差較大會(huì)引起各種問題。 具體思路如下:? master節(jié)點(diǎn)作為ntp服務(wù)器與外界對(duì)時(shí)中心同步時(shí)間,隨后對(duì)所有datanode節(jié)點(diǎn)提供時(shí)間同步服務(wù)。? 所有datanode節(jié)點(diǎn)以master節(jié)點(diǎn)為基礎(chǔ)同步時(shí)間。? 所有節(jié)點(diǎn)安裝相關(guān)組件:yum install ntp。 啟動(dòng) ntp: $ service ntpd start 設(shè)置開機(jī)啟動(dòng): $ chkconfig ntpd on 檢查是否設(shè)置成功:chkconfig --list ntpd其中2-5為on狀態(tài)就代表成功。? 可以通過以下命令先進(jìn)行時(shí)間同步: ntpdate us.pool.ntp.org 主節(jié)點(diǎn)配置(master節(jié)點(diǎn)) vi /etc/ntp.conf? ntp服務(wù)只有一個(gè)配置文件,配置好了就OK。 這里只給出有用的配置,不需要的配置都用#注掉,這里就不在給出(大部分把#去掉即可,不需要添加): driftfile?/var/lib/ntp/drift?? #?Permit?time?synchronization?with?our?time?source,?but?do?not?? #?permit?the?source?to?query?or?modify?the?service?on?this?system.?? restrict?default?kod?nomodify?notrap?nopeer?noquery?? restrict?-6?default?kod?nomodify?notrap?nopeer?noquery?? #?Permit?all?access?over?the?loopback?interface.??This?could?? #?be?tightened?as?well,?but?to?do?so?would?effect?some?of?? #?the?administrative?functions.?? restrict?127.0.0.1?? restrict?-6?::1?? #?Hosts?on?local?network?are?less?restricted.?? restrict?192.168.3.0?mask?255.255.255.0?nomodify?notrap?? #?Use?public?servers?from?the?pool.ntp.org?project.?? #?Please?consider?joining?the?pool?(http://www.pool.ntp.org/join.html).?? server?0.centos.pool.ntp.org?iburst?? server?1.centos.pool.ntp.org?iburst?? server?2.centos.pool.ntp.org?iburst?? server?3.centos.pool.ntp.org?iburst?? 配置文件完成,保存退出,啟動(dòng)服務(wù),執(zhí)行如下命令:service ntpd start? 檢查是否成功,用ntpstat命令查看同步狀態(tài),出現(xiàn)以下狀態(tài)代表啟動(dòng)成功: synchronisedto NTP server () at stratum 2time correct towithin74 mspolling server every 128 s 如果出現(xiàn)異常請等待幾分鐘,一般等待5-10分鐘才能同步。? 在其他節(jié)點(diǎn),直接運(yùn)行 ntpdate -u node1? (主節(jié)點(diǎn)ntp服務(wù)器) 即可,和node1同步 這里可能出現(xiàn)同步失敗的情況,請不要著急,一般是本地的ntp服務(wù)器還沒有正常啟動(dòng),一般需要等待5-10分鐘才可以正常同步。啟動(dòng)服務(wù):service ntpd start? 因?yàn)槭沁B接內(nèi)網(wǎng),這次啟動(dòng)等待的時(shí)間會(huì)比master節(jié)點(diǎn)快一些,但是也需要耐心等待一會(huì)兒。 3、開始安裝Cloudera Manager 安裝Cloudera Manager Server 和Agent? 3.1、主節(jié)點(diǎn)解壓安裝? cloudera manager的目錄默認(rèn)位置在/opt下,解壓:tar xzvf cloudera-manager*.tar.gz將解壓后的cm-5.7.1和cloudera目錄放到/opt目錄下。? 為Cloudera Manager 5建立數(shù)據(jù)庫? 首先需要去MySql的官網(wǎng)下載JDBC驅(qū)動(dòng),http://dev.mysql.com/downloads/connector/j/,解壓后,找到mysql-connector-java-5.1.35-bin.jar,放到/opt/cm-5.7.1/share/cmf/lib/中。? 在主節(jié)點(diǎn)初始化CM5的數(shù)據(jù)庫: /opt/cm-5.9.2/share/cmf/schema/scm_prepare_database.sh?mysql?cm?-h master?-u root?-p 890610?--scm-host?master?scm?scm?scm?? 在這里后面的參數(shù)分別是:數(shù)據(jù)庫類型 數(shù)據(jù)庫名稱 數(shù)據(jù)庫主機(jī)名 數(shù)據(jù)庫用戶名 密碼 --scm-host cmserver主機(jī)名 scm scm scm 3.2、Agent配置? 修改/opt/cm-5.9.2/etc/cloudera-scm-agent/config.ini中的server_host為主節(jié)點(diǎn)的主機(jī)名。? 同步Agent到其他所有節(jié)點(diǎn): scp?-r?/opt/cm-5.9.2?root@slave2:/opt/?? 在所有節(jié)點(diǎn)創(chuàng)建cloudera-scm用戶 useradd?--system?--home=/opt/cm-5.9.2/run/cloudera-scm-server/?--no-create-home?--shell=/bin/false?--comment?"Cloudera?SCM?User"?cloudera-scm?? 準(zhǔn)備Parcels,用以安裝CDH5? 將CHD5相關(guān)的Parcel包放到主節(jié)點(diǎn)的/opt/cloudera/parcel-repo/目錄中(parcel-repo需要手動(dòng)創(chuàng)建)。? 相關(guān)的文件如下: CDH-5.7.1-1.cdh5.9.2.p0.5-el6.parcel CDH-5.7.1-1.cdh5.9.2.p0.5-el6.parcel.sha1 manifest.json 最后將CDH-5.9.2-1.cdh5.9.2.p0.3-el6.parcel.sha1,重命名為CDH-5.9.2-1.cdh5.9.2.p0.3-el6.parcel.sha 這點(diǎn)必須注意,否則,系統(tǒng)會(huì)重新下載CDH-5.9.2-1.cdh5.9.2.p0.3-el6.parcel.sha1文件。? 相關(guān)啟動(dòng)腳本? 通過/opt/cm-5.9.2/etc/init.d/cloudera-scm-server start啟動(dòng)服務(wù)端。? 通過/opt/cm-5.9.2/etc/init.d/cloudera-scm-agent start啟動(dòng)Agent服務(wù)。 (所有節(jié)點(diǎn)都要啟動(dòng)Agent服務(wù),包括服務(wù)端) 我們啟動(dòng)的其實(shí)是個(gè)service腳本,需要停止服務(wù)將以上的start參數(shù)改為stop就可以了,重啟是restart。 安裝到此處,可以考慮備份節(jié)點(diǎn),為將來的節(jié)點(diǎn)拓展做準(zhǔn)備。? CDH5的安裝配和集群配置 Cloudera Manager Server和Agent都啟動(dòng)以后,就可以進(jìn)行CDH5的安裝配置了。? 這時(shí)可以通過瀏覽器訪問主節(jié)點(diǎn)的7180端口測試一下了(由于CM Server的啟動(dòng)需要花點(diǎn)時(shí)間,這里可能要等待一會(huì)才能訪問成果,可能需要3-5分鐘),默認(rèn)的用戶名和密碼均為admin: ? ? 各個(gè)Agent節(jié)點(diǎn)正常啟動(dòng)后,可以在當(dāng)前管理的主機(jī)列表中看到對(duì)應(yīng)的節(jié)點(diǎn)。選擇要安裝的節(jié)點(diǎn),點(diǎn)繼續(xù)。 接下來,出現(xiàn)以下包名,說明本地Parcel包配置無誤,直接點(diǎn)繼續(xù)就可以了。 如果此處發(fā)現(xiàn)不到parcel包,就重啟所有節(jié)點(diǎn)的agent服務(wù),和master的server服務(wù)。 點(diǎn)擊,繼續(xù),如果配置本地Parcel包無誤,那么下圖中的已下載,應(yīng)該是瞬間就完成了,然后就是耐心等待分配過程就行了,這個(gè)過程的速度就取決于節(jié)點(diǎn)之間的傳輸速度。 等待一下,連接訪問master:7180即可 所有節(jié)點(diǎn)部署完成 接下來是主機(jī)檢查,可能會(huì)遇到以下問題:? Cloudera 建議將 /proc/sys/vm/swappiness 設(shè)置為 0。當(dāng)前設(shè)置為 60。使用 sysctl 命令在運(yùn)行時(shí)更改該設(shè)置并編輯 /etc/sysctl.conf 以在重啟后保存該設(shè)置。您可以繼續(xù)進(jìn)行安裝,但可能會(huì)遇到問題,Cloudera Manager 報(bào)告您的主機(jī)由于交換運(yùn)行狀況不佳。以下主機(jī)受到影響:? 通過echo 10 > /proc/sys/vm/swappiness即可解決。(注意切換到root) 已啟用透明大頁面壓縮,可能會(huì)導(dǎo)致重大性能問題。請運(yùn)行“echo never > /sys/kernel/mm/transparent_hugepage/defrag”和“echo never > /sys/kernel/mm/transparent_hugepage/enabled”以禁用此設(shè)置,然后將同一命令添加到echo never > /etc/rc.local 等初始化腳本中,以便在系統(tǒng)重啟時(shí)予以設(shè)置。以下主機(jī)將受到影響: 接下來是選擇安裝服務(wù): 服務(wù)配置,一般情況下保持默認(rèn)就可以了(Cloudera Manager會(huì)根據(jù)機(jī)器的配置自動(dòng)進(jìn)行配置,如果需要特殊調(diào)整,自行進(jìn)行設(shè)置就可以了): 接下來是數(shù)據(jù)庫的設(shè)置,檢查通過后就可以進(jìn)行下一步的操作了: 此處可能需要新建oozie的數(shù)據(jù)庫 下面是集群設(shè)置的審查頁面,全部保持默認(rèn)配置即可: 這里地方可以考慮修改hdfs的存儲(chǔ)文件夾,另外如果需要自己設(shè)定文件夾,一定要先mkdir文件夾,否側(cè)hdfs會(huì)無法啟動(dòng),并且報(bào)錯(cuò)文件夾不存在,并確保訪問權(quán)限。 終于到安裝各個(gè)服務(wù)的地方了,注意,這里安裝Hive,或oozie的時(shí)候可能會(huì)報(bào)錯(cuò),因?yàn)槲覀兪褂昧薓ySql作為hive的元數(shù)據(jù)存儲(chǔ),hive默認(rèn)沒有帶mysql的驅(qū)動(dòng),通過以下命令拷貝一個(gè)就行了: cp?/opt/cm-5.7.1/share/cmf/lib/mysql-connector-java-*-bin.jar?/opt/cloudera/parcels/CDH-5.7.1-1.cdh5.7.1.p0.11/lib/hive/lib/?? ?? cp?/opt/cm-5.7.1/share/cmf/lib/mysql-connector-java-*-bin.jar?/opt/cloudera/parcels/CDH-5.7.1-1.cdh5.7.1.p0.11/lib/oozie/lib/?? ?? cp?/opt/cm-5.7.1/share/cmf/lib/mysql-connector-java-*-bin.jar?/var/lib/oozie/?? 接下靜靜地等待即可。 安裝完成后,就可以進(jìn)入集群界面看一下集群的當(dāng)前狀況了。? 這里可能會(huì)出現(xiàn)無法發(fā)出查詢:對(duì) Service Monitor 的請求超時(shí)的錯(cuò)誤提示,如果各個(gè)組件安裝沒有問題,一般是因?yàn)榉?wù)器比較卡導(dǎo)致的,過一會(huì)刷新一下頁面就好了,根據(jù)實(shí)際情況調(diào)整配置即可: 另外如果想添加新的主機(jī),必須要先啟動(dòng)新主機(jī)上的agent服務(wù),否則新主機(jī)不能被發(fā)現(xiàn),要重新下載cm-agent,很麻煩。安裝新的節(jié)點(diǎn)以后,記得運(yùn)行"部署客戶端"命令。 Q&A: 1.在我部署完成以后,會(huì)出現(xiàn)大量問題,其中有大量警告,是由于var/log/*的權(quán)限問題造成的。 在master上,運(yùn)行chmod -R 777對(duì)應(yīng)的文件夾修改權(quán)限即可。 2.出現(xiàn)oozie和hive不能成功啟動(dòng) 一般是因?yàn)槿鄙賘dbc,復(fù)制到相應(yīng)位置即可,參照原文。或者是由于mysql數(shù)據(jù)庫中的表造成的,可能是表已經(jīng)存在了。 3.service monitor和host monitor都無法啟動(dòng) 一般也是由于var/log/*的權(quán)限問題造成的。 4.service monitor和host monitor正常啟動(dòng),但是無法獲取到圖表數(shù)據(jù) 注銷admin重新進(jìn)入,或者等一下 5.hdfs不能正常啟動(dòng) 可能是因?yàn)?dfs的權(quán)限原因,提高/目錄的權(quán)限 6.hdfs和yarn的端口不再是9000和10020,默認(rèn)的是8020和8021 7.如果使用Windows遠(yuǎn)程調(diào)試,請保證host文件(C:/Windows/System32/drivers/hosts)和集群上的host文件內(nèi)容一致。 8.主機(jī)崩潰怎么辦。一般來說崩潰了,直接重啟就好。不過一定記得要再次啟動(dòng)cm的agent和server服務(wù) 調(diào)整相關(guān)閾值后,基本正常運(yùn)行。 出現(xiàn)問題重裝教程: 當(dāng)前受管 假如在安裝的時(shí)候出現(xiàn)問題,如網(wǎng)絡(luò)連接中斷,機(jī)器死機(jī),繼續(xù)安裝的時(shí)候可能會(huì)出現(xiàn)查詢不到機(jī)器,并且根據(jù)ip搜索機(jī)器的時(shí)候,出現(xiàn)“當(dāng)前受管” 的狀態(tài)為“是”,安裝失敗的機(jī)器不能再選擇了。 先停止所有服務(wù)。清除數(shù)據(jù)庫。 1> 刪除Agent節(jié)點(diǎn)的UUID? ? ? ??# rm -rf /opt/cm-5.9.2/lib/cloudera-scm-agent/* 2> ?清空主節(jié)點(diǎn)CM數(shù)據(jù)庫 ? ? ? 進(jìn)入主節(jié)點(diǎn)的Mysql數(shù)據(jù)庫,然后drop database cm; 3> 在主節(jié)點(diǎn)上重新初始化CM數(shù)據(jù)庫 ? ? ?# /opt/cm-5.9.2/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p890610 --scm-host localhost scm scm scm
192.168.3.201???node1??
192.168.3.202???node2?
192.168.3.203???node3??
192.168.3.204???node4??
修改網(wǎng)絡(luò)配置 vim /etc/sysconfig/network-scripts/ifcfg-eth0轉(zhuǎn)載于:https://www.cnblogs.com/irich/p/6883839.html
總結(jié)
以上是生活随笔為你收集整理的CDH-5.7.1离线安装的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 保存一波集合框架的介绍
- 下一篇: 445端口关闭后目录文件共享怎么办