最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

hadoop1.0安全認(rèn)證(kerberos)安裝與總結(jié)

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 12:59:14
文檔

hadoop1.0安全認(rèn)證(kerberos)安裝與總結(jié)

hadoop1.0安全認(rèn)證(kerberos)安裝與總結(jié):俗話說(shuō)得好,萬(wàn)事開(kāi)頭難。在軟件開(kāi)發(fā)中,環(huán)境部署要算是第一門(mén)檻了。我最近折騰了一周時(shí)間把cdh5.0.2.tar.gz版本在MRv1模式下,成功集成了Kerberos安全認(rèn)證,并且是在全分布式模式下。經(jīng)過(guò)這次安裝過(guò)程,對(duì)hadoop的了解又深入了一層?,F(xiàn)在趁著自己剛搭建完環(huán)
推薦度:
導(dǎo)讀hadoop1.0安全認(rèn)證(kerberos)安裝與總結(jié):俗話說(shuō)得好,萬(wàn)事開(kāi)頭難。在軟件開(kāi)發(fā)中,環(huán)境部署要算是第一門(mén)檻了。我最近折騰了一周時(shí)間把cdh5.0.2.tar.gz版本在MRv1模式下,成功集成了Kerberos安全認(rèn)證,并且是在全分布式模式下。經(jīng)過(guò)這次安裝過(guò)程,對(duì)hadoop的了解又深入了一層。現(xiàn)在趁著自己剛搭建完環(huán)

俗話說(shuō)得好,萬(wàn)事開(kāi)頭難。在軟件開(kāi)發(fā)中,環(huán)境部署要算是第一門(mén)檻了。我最近折騰了一周時(shí)間把cdh5.0.2.tar.gz版本在MRv1模式下,成功集成了Kerberos安全認(rèn)證,并且是在全分布式模式下。經(jīng)過(guò)這次安裝過(guò)程,對(duì)hadoop的了解又深入了一層?,F(xiàn)在趁著自己剛搭建完環(huán)

俗話說(shuō)得好,萬(wàn)事開(kāi)頭難。在軟件開(kāi)發(fā)中,環(huán)境部署要算是第一門(mén)檻了。我最近折騰了一周時(shí)間把cdh5.0.2.tar.gz版本在MRv1模式下,成功集成了Kerberos安全認(rèn)證,并且是在全分布式模式下。經(jīng)過(guò)這次安裝過(guò)程,對(duì)hadoop的了解又深入了一層?,F(xiàn)在趁著自己剛搭建完環(huán)境,腦子還時(shí)不時(shí)的閃現(xiàn)遇到的錯(cuò)誤,把我的安裝過(guò)程記錄于此,一方面方便自己今后查閱,另一方面希望對(duì)今后遇到同樣問(wèn)題人有所啟發(fā)。

首先說(shuō)下為什么要用tarball安裝,cdh提供了一種manager方式進(jìn)行安裝,對(duì)Debian系列提供apt-get,對(duì)Redhat系列提供yum安裝,但是這些安裝方式把一些細(xì)節(jié)都替我們做了,如果我們今后希望遇到出現(xiàn)什么情況,不方便調(diào)試。另外,作為一個(gè)愛(ài)折騰的人,tar.gz也是我按照軟件的首選。

先說(shuō)下我的搭建環(huán)境,4臺(tái)Centos6.5服務(wù)器,一臺(tái)做master,運(yùn)行namenode、jobtracker;另外三臺(tái)運(yùn)行datanode、tasktracker。此外master機(jī)器上還運(yùn)行Kerberos服務(wù)器。JDK的版本是1.7.60。關(guān)于5.0.2版本的環(huán)境要求可以參考http://www.cloudera.com/content/support/en/downloads/cdh/cdh-5-0-2.html#SystemRequirements。

這篇文章主要是我在參照cloudera官網(wǎng)的教程時(shí)遇到的坑。大家可以先去看看這個(gè)教程,再來(lái)看我的文章。

cdh5.0.2這里不再使用hadoop用戶,取而代之的是mapred用戶與hdfs用戶,這里需要分別為它們生產(chǎn)ssh的公鑰與秘鑰,并且配置免密碼登錄(當(dāng)然你可以為其中一個(gè)生產(chǎn),然后直接copy過(guò)去)。

1. Kerberos安裝

首先,Kerberos的原理、安裝什么大家自己去維基百科去查,具體命令像kinit、kadmin怎么用也是大家自己查,以后有時(shí)間我會(huì)單獨(dú)抽時(shí)間講講Kerberos。
大家現(xiàn)在可以按照這個(gè)文章來(lái)進(jìn)行操作:Kerberos deploy guide。

后面需要為集群中每個(gè)節(jié)點(diǎn)的mapred與hdfs用戶生成各自的principal與keytab,所以這里大家一定要熟悉kerberos的命令,把這些東西做成腳本,要不能煩死你。

2. CDH5.0.2.tar.gz安裝

2.1 下載相關(guān)tar包

首先在這里http://archive.cloudera.com/cdh5/cdh/5/下載5.0.2的hadoop的tar包hadoop-2.3.0-cdh5.0.2.tar.gz,除了這個(gè)外,為了集成Kerberos,還需要下載bigtop-jsvc-1.0.10-cdh5.0.2.tar.gz。

2.2 YARN模式改成MRv1模式

這里需要講一點(diǎn)是,5.0.2 tarball版本模式是YARN模式,我這里搭建的是MRv1(也就是普通的MapReduce)模式,所以需要對(duì)tar包解壓出的文件做一些修改。

把hadoop-2.3.0-cdh5.0.2.tar.gz解壓,假設(shè)你解壓到了/opt目錄下,把hadoop-2.3.0-cdh5.0.2直接重命名為hadoop(現(xiàn)在你的cdh根目錄是/opt/hadoop),下面進(jìn)行我們的修改工作:

  1. 把bin-mapreduce1的所以文件拷貝到bin下,對(duì)于相同的文件,直接覆蓋即可。
  2. 在/opt/hadoop/share/hadoop文件夾下有如下的文件結(jié)構(gòu)
    share/hadoop目錄結(jié)構(gòu)

把其中的mapreduce這個(gè)軟鏈接文件刪除,然后創(chuàng)建一個(gè)同名的軟鏈接指向mapreduce1

cd /opt/hadoop/share/hadoop/
rm mapreduce -rf
ln -s mapreduce1 mapreduce

經(jīng)過(guò)上面這兩步后,就默認(rèn)啟用了MRv1模式了,大家可以先把不帶Kerberos安全認(rèn)證的全分布式搭建起來(lái),等到不帶Kerberos安全認(rèn)證的全分布式搭建起來(lái)后(可參考Hadoop全分布式搭建),再進(jìn)行下面的操作。

2.3 配置HDFS

下面大家就可以按照官網(wǎng)的教程進(jìn)行操作,下面說(shuō)下我遇到的坑:

  • 在STEP 2中,必須參照MRv1 cluster deploy,在hdfs中創(chuàng)建/tmp,與mapred.system.dir制定的目錄,并且修改為相應(yīng)的權(quán)限。
  • 在STEP 7中,最后的dfs.http.policy這個(gè)property不用配置,否則在后面啟動(dòng)namnode是會(huì)報(bào).keystore文件找不到的異常。
  • STEP 8、9、10可選,配不配都行
  • 在STEP 11中,需要配置JSVC_HOME這個(gè)屬性,這里把我們一開(kāi)始下載的bigtop-jsvc-1.0.10-cdh5.0.2.tar.gz解壓后,放到它制定的位置上即可。
  • 在STEP 12、13,啟動(dòng)datanode、namenode時(shí),用sbin下的命令
  • sbin/hadoop-daemon.sh start namenode
    sbin/hadoop-daemons.sh start datanode
    

    這兩條命令都是用root用戶執(zhí)行。

    在這過(guò)程中,如果遇到什么logs文件夾不能寫(xiě)入,將其權(quán)限改為777即可。

    2.4 配置mapreduce

    配置mapreduce接著參考官方的教程,下面繼續(xù)說(shuō)我遇到的坑:

  • 首先是taskcontroller.cfg文件問(wèn)題,hadoop會(huì)在/../../conf/下去找這個(gè)文件,所以我們需要在/opt/hadoop下面(也就是我們解壓后的根目錄下),創(chuàng)建一個(gè)conf文件,然后在按照官方說(shuō)的配置就行了,官方教程中有一條
  • banned.users=mapred,hdfs,bin
    

    這里這樣配置后,后面運(yùn)行wordcount會(huì)報(bào)異常,這里可直接將其值配置為bin即可

  • 然后就是task-controller這個(gè)文件的權(quán)限問(wèn)題了,一定要用下面命令進(jìn)行修改
  • chown root:mapred task-controller
    chmod 4754 task-controller
    

    其解釋也在官網(wǎng)上有。

  • 當(dāng)這一切都配置好后,啟動(dòng)jobtracker與tasktracker還是有錯(cuò),這個(gè)錯(cuò)誤是
  • 2014-07-15 18:15:25,722 ERROR org.apache.hadoop.mapred.TaskTracker: Can not start task tracker because java.io.IOException: Secure IO is necessary to run a secure task tracker.
     at org.apache.hadoop.mapred.TaskTracker.checkSecurityRequirements(TaskTracker.java:943)
     at org.apache.hadoop.mapred.TaskTracker.initialize(TaskTracker.java:976)
     at org.apache.hadoop.mapred.TaskTracker.(TaskTracker.java:1780)
     at org.apache.hadoop.mapred.TaskTracker.main(TaskTracker.java:4124)
    

    這個(gè)錯(cuò)誤是因?yàn)槿鄙賜ative包所致,這個(gè)包應(yīng)該是在/opt/hadoop/lib/native/,很遺憾,這些東西需要我們自己編譯,因?yàn)槊總€(gè)版本都不一樣,我把a(bǔ)pache hadoop的native直接copy過(guò)去也不行。這里我偷了個(gè)懶,直接從同事那里copy過(guò)來(lái)了。以后會(huì)說(shuō)說(shuō)如何從源碼編譯。下面說(shuō)說(shuō)如何編譯。
    cdh的源碼都放在src文件夾下,安裝好maven后直接到這個(gè)文件夾下編譯就可以,我這里使用的是centos6.5編譯的,遇到的問(wèn)題主要有:

    1. maven repository經(jīng)常連接不上,需要多次重復(fù)操作。以后最好做一個(gè)本地repo
    2. centos上需要自己安裝一些依賴,否則回報(bào)各種錯(cuò)誤,可以用下面這條命令 
     yum install -y glibc-headers gcc-c++ zlib-devel openssl-devel 
    3. 一些test通過(guò)不了,需要跳過(guò),用下面這條命令進(jìn)行編譯
     mvn package -Pdist,native -DskipTests
    

    好了,如果在編譯過(guò)程中還是遇到什么依賴缺失,直接去google下就ok了。

  • 在用root啟動(dòng)jobtracker與tasktracker命令行會(huì)有錯(cuò)誤信息,提示我們不能直接用root啟動(dòng)這兩個(gè)進(jìn)程,在haooop-env.sh配置下面的信息就好了
  • export HADOOP_JOBTRACKER_USER=mapred
    export HADOOP_TASKTRACKER_USER=mapred
    

    啟動(dòng)的命令是

    sbin/hadoop-daemon.sh start jobtracker
    sbin/hadoop-daemons.sh start tasktracker
    

    也有由root啟動(dòng)。

    3. 總結(jié)

    這次搭建過(guò)程前前后后用了一個(gè)星期,麻煩是一回事,各種權(quán)限問(wèn)題,最主要是還是我對(duì)hadoop的基本組成不夠了解,hadoop的各個(gè)部分都是分開(kāi)的,在share/hadoop目錄下的每個(gè)文件夾都對(duì)應(yīng)與一個(gè)功能,我一開(kāi)始就想著把他們都放一起,導(dǎo)致不同模塊的配置文件重復(fù)并產(chǎn)生沖突,最后導(dǎo)致進(jìn)程起不來(lái),今后還是要加強(qiáng)對(duì)基本概念的理解。其次是遇到錯(cuò)誤多看看日志文件,很多錯(cuò)誤能夠直接根據(jù)錯(cuò)誤信息就能夠改正。

    還有需要吐槽的就是不能完全按部就班的照著教程來(lái)操作,應(yīng)該先看看像faq這些信息,做到有個(gè)整體上的把握,不至于拆了東墻補(bǔ)西墻,到最后也沒(méi)能完全解決問(wèn)題。

    下面進(jìn)行HA的環(huán)境搭建,這次一定要提高效率了?。?!

    俗話說(shuō)得好,萬(wàn)事開(kāi)頭難。在軟件開(kāi)發(fā)中,環(huán)境部署要算是第一門(mén)檻了。我最近折騰了一周時(shí)間把cdh5.0.2.tar.gz版本在MRv1模式下,成功集成了Kerberos安全認(rèn)證,并且是在全分布式模式下。經(jīng)過(guò)這次安裝過(guò)程,對(duì)hadoop的了解又深入了一層。現(xiàn)在趁著自己剛搭建完環(huán)境,腦子還時(shí)不時(shí)的閃現(xiàn)遇到的錯(cuò)誤,把我的安裝過(guò)程記錄于此,一方面方便自己今后查閱,另一方面希望對(duì)今后遇到同樣問(wèn)題人有所啟發(fā)。

    聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    hadoop1.0安全認(rèn)證(kerberos)安裝與總結(jié)

    hadoop1.0安全認(rèn)證(kerberos)安裝與總結(jié):俗話說(shuō)得好,萬(wàn)事開(kāi)頭難。在軟件開(kāi)發(fā)中,環(huán)境部署要算是第一門(mén)檻了。我最近折騰了一周時(shí)間把cdh5.0.2.tar.gz版本在MRv1模式下,成功集成了Kerberos安全認(rèn)證,并且是在全分布式模式下。經(jīng)過(guò)這次安裝過(guò)程,對(duì)hadoop的了解又深入了一層?,F(xiàn)在趁著自己剛搭建完環(huán)
    推薦度:
    標(biāo)簽: 安全 安裝 認(rèn)證
    • 熱門(mén)焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門(mén)推薦

    專題
    Top