通過cloudera-manager來安裝hadoop

jopen 12年前發布 | 40K 次閱讀 Hadoop 分布式/云計算/大數據

通過cloudera-manager來安裝hadoop

本人笨,裝的過程碰了不少東西,其他網站轉載的文章也沒具體寫清楚,以下我實戰了下總結下來。

1. ssh登陸要安裝管理界面的機器,確定關閉防火墻和selinux,然后安裝cloudera-manager-installer.bin

2. 修改host,并復制到所有節點

    vim /etc/hosts

</div>

</div>

</div> </blockquote>

    ##內容————————————————

    172.16.1.1x node1

 <p>     172.16.1.2x node2 </p>

 <p>     172.16.1.3x node3<span>   </span> </p>

</div>

<p>     127.0.0.1 localhost # 這是必須指定為localhost,且必須為第一個127.0.0.1的域 </p>

</div>

</div>

</div> </blockquote>

3. 打開管理界面 http://{{host}}:7180/

 1)用來安裝hadoop組件的帳號必須有ssh 且 root 權限

 2)像我們的服務器都使用了key登陸,所以在安裝時,必須為選用的帳號設置sudo權限且不需輸入密碼,以下操作是每一臺節點機器必須進行

  a. 用root操作,修改文件可寫權限: chmod +w /etc/sudoers

  b. vim /etc/sudoers 添加如:   nic ALL=(ALL)   NOPASSWD: ALL

  c. 去除可寫權限,chmod -w /etc/sudoers

 3)給你安裝hadoop的賬戶賦予這些文件的讀權限和執行權限

    chmod +r /bin/mktemp

 <p>     chmod +x /bin/mktemp </p>

 <p>     chmod +r /usr/bin/tee </p>

 <p>     chmod +x /usr/bin/tee </p>

 <p>     chmod +r /usr/bin/tr </p>

 <p>     chmod +x /usr/bin/tr </p>

</div>

</div>

</div>

</div> </blockquote>

 4)隨便進去一個目錄wget下載各種hadoop組件安裝包 (cloudera-manager所在機器如果不需要安裝任何hadoop組件,則不需要下載和安裝)

    wget http://archive.cloudera.com/cm4/redhat/5/x86_64/cm/4.1.1/RPMS/x86_64/jdk-6u31-linux-amd64.rpm

 <p>     wget<a href="/misc/goto?guid=4959549513973992570" target="_blank" rel="nofollow">http://archive.cloudera.com/cm4/redhat/5/x86_64/cm/4.1.2/RPMS/x86_64/cloudera-manager-agent-4.1.2-1.cm412.p0.428.x86_64.rpm</a> </p>

 <p>     wget<a href="/misc/goto?guid=4959549514055127896" target="_blank" rel="nofollow">http://archive.cloudera.com/cm4/redhat/5/x86_64/cm/4.1.2/RPMS/x86_64/cloudera-manager-daemons-4.1.2-1.cm412.p0.428.x86_64.rpm</a> </p>

 <p>     wget<span> </span><a href="/misc/goto?guid=4959549514129720990" target="_blank" rel="nofollow">http://archive.cloudera.com/cdh4/redhat/5/x86_64/cdh/4/RPMS/noarch/bigtop-utils-0.4+359-1.cdh4.1.2.p0.34.el5.noarch.rpm</a> </p>

 <p>     wget<span> </span><a href="/misc/goto?guid=4959549514209088390" target="_blank" rel="nofollow">http://archive.cloudera.com/cdh4/redhat/5/x86_64/cdh/4/RPMS/x86_64/bigtop-jsvc-0.4+359-1.cdh4.1.2.p0.43.el5.x86_64.rpm</a> </p>

 <p>     wget<span> </span><a href="/misc/goto?guid=4959549514280284355" target="_blank" rel="nofollow">http://archive.cloudera.com/cdh4/redhat/5/x86_64/cdh/4/RPMS/noarch/bigtop-tomcat-0.4+359-1.cdh4.1.2.p0.38.el5.noarch.rpm</a> </p>

 <p>     wget<span> </span><a href="/misc/goto?guid=4959549514363807677" target="_blank" rel="nofollow">http://archive.cloudera.com/cdh4/redhat/5/x86_64/cdh/4/RPMS/noarch/flume-ng-1.2.0+122-1.cdh4.1.2.p0.7.el5.noarch.rpm</a> </p>

 <p>     wget<span> </span><a href="/misc/goto?guid=4959549514449757959" target="_blank" rel="nofollow">http://archive.cloudera.com/cdh4/redhat/5/x86_64/cdh/4/RPMS/noarch/oozie-3.2.0+126-1.cdh4.1.2.p0.10.el5.noarch.rpm</a><span> </span>-O oozie-3.2.0-cdh4.1.2.p0.10.el5.noarch.rpm </p>

</div>

</div>

</div>

</div> </blockquote>

    ### 注意這只是其中一部分,并且各個版本可能不一樣,所需的文件可以從以上路徑下找,或者用cloudera-manager來自動安裝,把整個過程復制下來,慢慢找它自動下載的*.rpm包的路徑 ###

    ### 既然有自動下載和安裝功能,為什么還手動下載呢? 因為cloudera-manager安裝過程只要一發生失敗(安裝過程有權限問題、或者下載超時等問題.),一切行為都將回滾,包括下載和安裝的文件,

        即如果依賴cloudera-manager每次安裝都必須重新下載、重新安裝。再說,有的rpm包很大,咱們服務器不像國外服務器,咱國內服務器下載這下資源包過程很慢而且還有很大可能下載不了,也就是說很容易出現辛辛苦苦裝半天,一下回到解放前。

        要一勞永逸,在本地迅雷下好了,再scp上去平均速度也有90kb/s,比服務器下載要快(親測,不同網絡環境可能有不一樣), 下載后再從一個節點scp到各個節點 ###

    ### 要用到的安裝包名有如下列表,請各自尋找下載 ###

    ### 

 <p>         hadoop-2.0.0-cdh4.1.2.p0.27.el5.x86_64.rpm </p>

 <p>         hadoop-hdfs-2.0.0-cdh4.1.2.p0.27.el5.x86_64.rpm </p>

 <p>         hadoop-httpfs-2.0.0-cdh4.1.2.p0.27.el5.x86_64.rpm </p>

 <p>         hadoop-yarn-2.0.0.1.cdh4.1.2.p0.27.el5.x86_64.rpm </p>

 <p>         hadoop-mapreduce-2.0.0-cdh4.1.2.p0.27.el5.x86_64.rpm </p>

 <p>         hadoop-0.20-mapreduce-0.20.21.cdh4.1.2.p0.24.el5.x86_64.rpm </p>

 <p>         hadoop-libhdfs-2.0.0-cdh4.1.2.p0.27.el5.x86_64.rpm </p>

 <p>         hadoop-client-2.0.0-cdh4.1.2.p0.27.el5.x86_64.rpm </p>

 <p>         hadoop-hdfs-fuse-2.0.0-cdh4.1.2.p0.27.el5.x86_64.rpm </p>

 <p>         zookeeper-3.4.31.cdh4.1.2.p0.34.el5.noarch.rpm </p>

 <p>         hbase-0.92.1-cdh4.1.2.p0.24.el5.noarch.rpm </p>

 <p>         hive-0.9.0-cdh4.1.2.p0.21.el5.noarch.rpm </p>

 <p>         oozie-3.2.0-cdh4.1.2.p0.10.el5.noarch.rpm </p>

 <p>         oozie-client-3.2.0-cdh4.1.2.p0.10.el5.noarch.rpm </p>

 <p>         pig-0.10.01.cdh4.1.2.p0.24.el5.noarch.rpm </p>

 <p>         hue-common-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>         hue-about-2.1.-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>         hue-help-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>         hue-filebrowser-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>         hue-jobbrowser-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>         hue-jobsub-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>         hue-beeswax-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>         hue-plugins-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>         hue-proxy-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>         hue-shell-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>         hue-useradmin-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>         sqoop-1.4.11.cdh4.1.2.p0.21.el5.noarch.rpm </p>

 <p>     ### </p>

</div>

</div>

</div>

</div> </blockquote>

 5)執行安裝

    yum install cyrus-sasl-gssapi

 <p>     rpm -ivh jdk-6u31-linux-amd64.rpm # 竟然還指定裝這個,有點莫名奇妙,我給機器自己裝了jdk1.7的還配了環境變量,但這個cloudera還是說沒找到,還自己下載安裝,不知道是不是我沒配置好呢? </p>

 <p>     rpm -ivh cloudera-manager-agent-4.1.2-1.cm412.p0.428.x86_64.rpm </p>

 <p>     rpm -ivh cloudera-manager-daemons-4.1.2-1.cm412.p0.428.x86_64.rpm </p>

 <p>     rpm -ivh bigtop-utils-0.4+359-1.cdh4.1.2.p0.34.el5.noarch.rpm </p>

 <p>     rpm -ivh bigtop-jsvc-0.4-cdh4.1.2.p0.43.el5.x86_64.rpm </p>

 <p>     rpm -ivh bigtop-tomcat-0.4-cdh4.1.2.p0.38.el5.noarch.rpm </p>

 <p>     rpm -ivh flume-ng-1.2.0-cdh4.1.2.p0.7.el5.noarch.rpm </p>

 <p>     rpm -ivh hadoop-2.0.0-cdh4.1.2.p0.27.el5.x86_64.rpm </p>

 <p>     rpm -ivh hadoop-hdfs-2.0.0-cdh4.1.2.p0.27.el5.x86_64.rpm </p>

 <p>     rpm -ivh hadoop-httpfs-2.0.0-cdh4.1.2.p0.27.el5.x86_64.rpm </p>

 <p>     rpm -ivh hadoop-yarn-2.0.0.1.cdh4.1.2.p0.27.el5.x86_64.rpm </p>

 <p>     rpm -ivh hadoop-mapreduce-2.0.0-cdh4.1.2.p0.27.el5.x86_64.rpm </p>

 <p>     rpm -ivh hadoop-0.20-mapreduce-0.20.21.cdh4.1.2.p0.24.el5.x86_64.rpm </p>

 <p>     rpm -ivh hadoop-libhdfs-2.0.0-cdh4.1.2.p0.27.el5.x86_64.rpm </p>

 <p>     rpm -ivh hadoop-client-2.0.0-cdh4.1.2.p0.27.el5.x86_64.rpm </p>

 <p>     rpm -ivh hadoop-hdfs-fuse-2.0.0-cdh4.1.2.p0.27.el5.x86_64.rpm </p>

 <p>     rpm -ivh zookeeper-3.4.31.cdh4.1.2.p0.34.el5.noarch.rpm </p>

 <p>     rpm -ivh hbase-0.92.1-cdh4.1.2.p0.24.el5.noarch.rpm </p>

 <p>     rpm -ivh hive-0.9.0-cdh4.1.2.p0.21.el5.noarch.rpm </p>

 <p>     rpm -ivh oozie-3.2.0-cdh4.1.2.p0.10.el5.noarch.rpm </p>

 <p>     rpm -ivh oozie-client-3.2.0-cdh4.1.2.p0.10.el5.noarch.rpm </p>

 <p>     rpm -ivh pig-0.10.01.cdh4.1.2.p0.24.el5.noarch.rpm </p>

 <p>     rpm -ivh hue-common-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>     rpm -ivh hue-about-2.1.-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>     rpm -ivh hue-help-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>     rpm -ivh hue-filebrowser-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>     rpm -ivh hue-jobbrowser-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>     rpm -ivh hue-jobsub-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>     rpm -ivh hue-beeswax-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>     rpm -ivh hue-oozie-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>     rpm -ivh hue-plugins-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>     rpm -ivh hue-proxy-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>     rpm -ivh hue-shell-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>     rpm -ivh hue-useradmin-2.1.0-cdh4.1.2.p0.9.el5.x86_64.rpm </p>

 <p>     rpm -ivh sqoop-1.4.11.cdh4.1.2.p0.21.el5.noarch.rpm </p>

</div>

</div>

</div>

</div> </blockquote>

 6)安裝過程有由于順序問題引起某些包安裝不全,請重復執行上述命令4-5次直到所有安裝包提示已經安裝為止

 7)用cloudera-manager進行“安裝”,這過程基本上就是完成配置文件和啟動cloudera-scm-agent(這個重要,有可能會提示出錯,出錯原因稍后補充)而已,很快。

 8)最后提示成功,則這臺機器已經受cloudera-scm-agent管理,基本上安裝配置完畢,剩下的就是根據cloudera-manager提示界面按需要完成hadoop組件、節點配置,如選擇namenode,datanode等。

    這個過程很簡單很方便,但當然如果配置完成并啟動后再修改某些節點的內容如什么什么mapreduce、什么Tracker之類,可能會出現問題再也啟動不了,具體內容出現過但沒深入研究,

    有的問題還沒法解決只能換了機器(除了hadoop安裝過程依賴多,配置多,服務器本身環境也復雜。所以官方文檔建議用干凈的機器)。

4.安裝過程問題補充

 1)cloudera-scm-agent 無法啟動:查看機器名,機器名不能包含下劃線

 2)安裝過程、或配置有問題,需完全刪除cloudera-scm-agent的,除了上述反安裝rpm包的命令,還需手動刪除部分文件

    rm -rf /var/run/cloudera-scm-agent

 <p>     rm -rf /var/log/cloudera-scm-agent </p>

</div>

</div>

</div>

</div> </blockquote>

 3)如果cloudera-manager上管理的機器識別標識老是機器名(應該是host上配置的)或ip不對, 手動修改啟動腳本參數

    vim /usr/sbin/cmf-agent

</div>

</div>

</div>

</div> </blockquote>

    大概內容、位置

    agent/src/cmf/agent.py

 <p>     —hostname vip1 —ip_address 172.16.22.1 </p>

</div>

</div>

</div>

</div> </blockquote>

 4)重啟agent

    /etc/init.d/cloudera-scm-agent restart

</div>

</div>

</div>

</div> </blockquote>

 5)卸載所有安裝內容的命令:

    rpm -e cloudera-manager-agent

 <p>     rpm -e cloudera-manager-daemons </p>

 <p>     rpm -e sqoop </p>

 <p>     rpm -e pig </p>

 <p>     rpm -e oozie </p>

 <p>     rpm -e oozie-client </p>

 <p>     rpm -e flume-ng </p>

 <p>     rpm -e hadoop-hdfs-fuse </p>

 <p>     rpm -e hadoop-libhdfs </p>

 <p>     rpm -e hue </p>

 <p>     rpm -e hue-useradmin </p>

 <p>     rpm -e hue-about </p>

 <p>     rpm -e hue-oozie </p>

 <p>     rpm -e hue-beeswax </p>

 <p>     rpm -e hue-jobsub </p>

 <p>     rpm -e hue-jobbrowser </p>

 <p>     rpm -e hue-shell </p>

 <p>     rpm -e hue-proxy </p>

 <p>     rpm -e hue-plugins </p>

 <p>     rpm -e hue-filebrowser </p>

 <p>     rpm -e hue-help </p>

 <p>     rpm -e hue-common </p>

 <p>     rpm -e hive </p>

 <p>     rpm -e hadoop-client </p>

 <p>     rpm -e hadoop-0.20-mapreduce </p>

 <p>     rpm -e hadoop-mapreduce </p>

 <p>     rpm -e hadoop-yarn </p>

 <p>     rpm -e hadoop-httpfs </p>

 <p>     rpm -e hbase </p>

 <p>     rpm -e hadoop-hdfs </p>

 <p>     rpm -e bigtop-tomcat </p>

 <p>     rpm -e bigtop-jsvc </p>

 <p>     rpm -e hadoop </p>

 <p>     rpm -e zookeeper </p>

 <p>     rpm -e bigtop-utils </p>

 <p>     rm -f /etc/cloudera-scm-agent/config.ini.rpmsave </p>

 <p>     rm -rf /etc/hadoop </p>

 <p>     rm -rf /usr/lib/hadoop </p>

 <p>     rm -rf /etc/hadoop-httpfs/ </p>

 <p>     rm -rf /usr/lib/hadoop-httpfs </p>

 <p>     rm -rf /etc/hive </p>

 <p>     rm -rf /usr/lib/hive </p>

 <p>     rm -rf /etc/hbase </p>

 <p>     rm -rf /usr/lib/hbase </p>

 <p>     rm -rf /usr/lib/hadoop-0.20-mapreduce/ </p>

 <p>     rm -rf /usr/lib/hadoop-hdfs </p>

 <p>     rm -rf /usr/lib/hadoop-mapreduce </p>

 <p>     rm -rf /usr/lib/hadoop-yarn </p>

 <p>     rm -rf /usr/lib/zookeeper </p>

 <p>     rm -rf /etc/zookeeper </p>

 <p>     rm -rf /usr/lib/oozie </p>

 <p>     rm -rf /etc/oozie </p>

 <p>     rm -rf /usr/lib/bigtop-tomcat </p>

 <p>     rm -rf /usr/lib/flume-ng </p>

 <p>     rm -rf /etc/flume-ng </p>

 <p>     rm -rf /var/lib/hive </p>

 <p>     rm -rf /var/lib/oozie </p>

 <p>     rm -rf /var/lib/zookeeper </p>

 <p>     rm -rf /dfs # cloudera 默認是這個配置路徑,根據實際吧,別亂刪 </p>

 <p>     rm -rf /data/dfs/ # cloudera 默認是這個配置路徑,根據實際吧,別亂刪 </p>

</div>

</div>

</div>

</div> </blockquote>

6. 測試。

    1)用瀏覽器打開hdfs-site.xml中配置的dfs.namenode.http-address所對應的地址,則看看到該hadoop集群機器當前相應狀況。

    2)登陸集群中的任意一臺機器,直接執行”hadoop fs -ls / ” 來查看hadoop中的文件,或”hadoop fs -put xxx /tmp” 把文件放到hadoop中存放。(這里當然需要配置系統環境變量PATH的$HADOOP_HOME/bin)。

    3)非集群內機器訪問并操作該hadoop集群文件,還是下載hadoop,配置什么的跟上面一樣,不需要啟動什么,然后直接hadoop fs 看看,或者hadoop fs -ls hdfs://xxxx:12345/。(前提,這臺機器能直接訪問集群的namenode、datanode)。

來自:http://my.oschina.net/sansom/blog/185378

</div>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!