<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    hengheng123456789

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      297 Posts :: 68 Stories :: 144 Comments :: 0 Trackbacks
    轉自:http://jeffxie.blog.51cto.com/1365360/295076
    雖然和GOOGLE的云計算框架相差很遠,但是基本能夠實現云框架還是可以的,我選擇了hadoop,最近這個框架在網絡上炒的很火,一部分IT高手加入了開發隊列,本人也不例外(不過我不是高手,只是一個很普通的系統架構師而已)
    好了廢話少說,直接切入主題吧
    首先使用了五臺機器來實現hadoop框架。
    IP依次為:
    192.168.1.199(master)
    192.168.1.200(slave)
    192.168.1.201(slave)
    192.168.1.202(slave)
    192.168.1.203(slave)
    以下是簡單結構:
     
     
    首先登錄119服務器
    [root@localhost ~]# uname -ar
    Linux localhost 2.6.18-92.el5 #1 SMP Tue Jun 10 18:49:47 EDT 2008 i686 i686 i386 GNU/Linux
    保證計算機名的全局唯一性:
    hadoop1. test.com -----192.168.1.203
    hadoop2. test.com -----192.168.1.202
    hadoop3. test.com -----192.168.1.201
    hadoop4. test.com -----192.168.1.200
    hadoop5. test.com -----192.168.1.199
     
    設置hostname
    Hostname hadoop5.test.com
    [root@localhost ~]# vi /etc/hosts
    127.0.0.1               localhost.localdomain localhos
    192.168.1.199                   hadoop5.test.com
    [root@localhost ~]# uname -ar
    Linux hadoop5.test.com 2.6.18-92.el5 #1 SMP Tue Jun 10 18:49:47 EDT 2008 i686 i686 i386 GNU/Linux
    [root@localhost ~]# vi /etc/sysconfig/network 
     
    NETWORKING=yes
    NETWORKING_IPV6=no
    #HOSTNAME=localhost.localdomain
    HOSTNAME=hadoop5.test.com
    GATEWAY=192.168.1.254
     
    OK了,已經修改過來了,其他機器也同樣的設置。
    為了方便,關閉防火墻:(5臺服務器都設置)
    [root@hadoop5 ~]# service iptables stop
    [root@hadoop5 ~]# chkconfig iptables off
    方便起見,創建hadoop用戶
    [root@hadoop5 ~]# useradd hadoop
    下載JDK最新版:
    http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u19-linux-i586.bin?BundledLineItemUUID=YTBIBe.nt_gAAAEnpTtSWvsx&OrderID=Ga5IBe.n.w4AAAEnmjtSWvsx&ProductID=8ihIBe.nLjEAAAEnh3cZVnKo&FileName=/jdk-6u19-linux-i586.bin
     
    全部放入/home/hadoop目錄。
    [root@localhost local]# cp jdk-6u19-linux-i586.bin /usr/local/
    [root@localhost local]# cd /usr/local/   
    [root@localhost local]# chmod +x ./jdk-6u19-linux-i586.bin
    [root@localhost local]#./jdk-6u19-linux-i586.bin    #執行
    一直按回車即可,然后輸入yes回車。
    [root@localhost local]# rm -rf jdk-6u19-linux-i586.bin
    [root@localhost local]# cd  /home/hadoop/
    [root@localhost hadoop]# vi /etc/profile
    在最下面加入:
     
    export JAVA_HOME=/usr/local/jdk1.6.0_19
    export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    export PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH
    export HADOOP_HOME=/home/hadoop/hadoop-0.20.2
    export PATH=$PATH:$HADOOP_HOME/bin
     
    [root@localhost hadoop]# source /etc/profile
    現在我們修改hadoop的配置文件:0.20以上的配置和以前的配置有些是不同的,我們 0.20.2為例做東西
    [root@localhost conf]# pwd
    /home/hadoop/hadoop-0.20.2/conf
    [root@localhost conf]# vi  core-site.xml
    [root@localhost conf]# echo "export JAVA_HOME=/usr/local/jdk1.6.0_19" >>  hadoop-env.sh
    [root@localhost conf]# vi hdfs-site.xml
    [root@localhost conf]# vi mapred-site.xml

    添加slave地址
    vim /home/hadoop/hadoop-0.20.2/conf/slaves
    我的內容是:
    192.168.1.200
    192.168.1.201
    192.168.1.202
    192.168.1.203
    也可以用一下方法添加
    [root@localhost conf]# echo 192.168.1.199 > masters
    [root@localhost conf]# echo 192.168.1.200 > slaves
    [root@localhost conf]# echo 192.168.1.201 >> slaves 
    [root@localhost conf]# echo 192.168.1.202 >> slaves 
    [root@localhost conf]# echo 192.168.1.203 >> slaves 
    現在我們做無密碼的ssh登錄的設置:
    建立Master到每一臺SlaveSSH受信證書。由于Master將會通過SSH啟動所有Slave Hadoop,所以需要建立單向或者雙向證書保證命令執行時不需要再輸入密碼。在Master和所有的Slave機器上執行:ssh-keygen -t rsa
    執行此命令的時候,看到提示只需要回車。然 后就會在/root/.ssh/下面產生id_rsa.pub的證書文件,通過scpMaster機器上的這個文件拷貝 Slave上(記得修改名稱),例如:
    Scp root/.ssh/id_rsa.pub root@192.168.1.200:/root/.ssh/authorized_keys
    ,建立authorized_keys文件即可,可以打開這個文件看看,也就是rsa的公 鑰作為keyuser@IP作為value。此時可以試驗一下,從master sshslave已經不需要密碼了。由slave反向建立也是同樣。為什么要反向呢?其實如果一直都是Master啟動和關閉的話那么沒有必要建立反 向,只是如果想在Slave也可以關閉Hadoop就需要建立反向。
     
    [root@localhost .ssh]# scp /root/.ssh/id_rsa.pub root@192.168.1.200:/root/.ssh/authorized_keys
    root@192.168.1.200's password:
    id_rsa.pub                                                                                        100%  403     0.4KB/s   00:00   
    [root@localhost .ssh]# scp /root/.ssh/id_rsa.pub root@192.168.1.201:/root/.ssh/authorized_keys
    root@192.168.1.201's password:
    id_rsa.pub                                                                                        100%  403     0.4KB/s   00:00   
    [root@localhost .ssh]# scp /root/.ssh/id_rsa.pub root@192.168.1.202:/root/.ssh/uthorized_keys root@192.168.1.202's password:
    id_rsa.pub                                                                                        100%  403     0.4KB/s   00:00   
    [root@localhost .ssh]# scp /root/.ssh/id_rsa.pub root@192.168.1.203:/root/.ssh/authorized_keys
    root@192.168.1.203's password:
    id_rsa.pub                                                                                        100%  403     0.4KB/s   00:00  
     
    然后重啟SSHD服務
    [root@localhost .ssh]# service sshd restart
    Stopping sshd:                                             [  OK  ]
    Starting sshd:                                             [  OK  ]
     
    然后每臺服務器上都修改ssh的配置文件:/etc/ssh/sshd_config GSSAPIAuthentication的值設置為no
    這樣起到加速的作用,具體含義,自己看下ssh手冊。
     
    然后壓縮hadoop文件夾成為一個壓縮包
    [root@localhost hadoop]# cd /home/hadoop/
    [root@localhost hadoop]# tar zcvf hadoop-0.20.2.tar.gz hadoop-0.20.2
    依次傳送到slave服務器上
    [root@localhost hadoop]# scp hadoop-0.20.2.tar.gz root@192.168.1.200:/home/hadoop
    hadoop-0.20.2.tar.gz                                                                              100%   43MB  21.3MB/s   00:02   
    [root@localhost hadoop]# scp hadoop-0.20.2.tar.gz root@192.168.1.201:/home/hadoop
    hadoop-0.20.2.tar.gz                                                                              100%   43MB  14.2MB/s   00:03   
    [root@localhost hadoop]# scp hadoop-0.20.2.tar.gz root@192.168.1.203:/home/hadoop
    hadoop-0.20.2.tar.gz                                                                              100%   43MB  21.3MB/s   00:02   
    [root@localhost hadoop]# scp hadoop-0.20.2.tar.gz root@192.168.1.202:/home/hadoop
    hadoop-0.20.2.tar.gz 
    然后依次登錄slave服務器并解壓hadoop文件
    tar zxvf hadoop-0.20.2.tar.gz
     
    好,我們現在可以在master上執行如下命令:
    [root@localhost hadoop]# cd /home/hadoop/hadoop-0.20.2/bin/
    報了一堆錯誤
    總之意思就是說沒有jdk,后來仔細想想 ,確實忘記在slave上安裝jdk了。
    然后按照master上安裝jdk的步驟依次在slave上重復一次。
    所有機器都安裝完JDK之后,繼續到199主服務器上執行
    [root@localhost bin]# ./start-all.sh
    所有服務器執行成功.
    然后可以在瀏覽器上輸入http://192.168.1.199:50070/dfshealth.jsp
    查看master/slave的服務狀態了。
    不過有一點要注意一下,iptables可能限定了某些端口,所有方便起見,還是要關閉master/slave服務器上的iptables的。
    剩下就是開發事宜,我們下次再講,希望解占輝的文章對您有幫助,謝謝!
    參考文獻:
    作者:解占輝(jeffxie@gmail.com)  博客:jeffxie.blog.51cto.com
    posted on 2011-01-04 10:28 哼哼 閱讀(863) 評論(0)  編輯  收藏 所屬分類:
    主站蜘蛛池模板: 综合一区自拍亚洲综合图区| 亚洲国产精品综合久久20| 极品美女一级毛片免费| 手机在线毛片免费播放| 亚洲av永久无码嘿嘿嘿| www.黄色免费网站| 亚洲妇女熟BBW| 黄网址在线永久免费观看| 亚洲欧美国产日韩av野草社区| 成人免费毛片观看| 亚洲AV永久无码精品网站在线观看 | 国产成人精品日本亚洲直接| 西西大胆无码视频免费| 亚洲综合一区二区三区四区五区 | 99re6免费视频| 亚洲国产成人久久| 在线观着免费观看国产黄| 国产精品亚洲а∨天堂2021 | 亚洲天堂在线播放| 野花高清在线观看免费3中文 | 亚洲另类少妇17p| 暖暖免费在线中文日本| 亚洲中文字幕无码av在线| 在线a毛片免费视频观看| 一边摸一边桶一边脱免费视频| 国产AV无码专区亚洲AV漫画 | 青青青亚洲精品国产| 国产av无码专区亚洲av果冻传媒| 久久久99精品免费观看| 亚洲中文无码卡通动漫野外| 亚洲国产成人精品女人久久久| 久久精品成人免费观看| 亚洲一区二区三区写真| 国产亚洲人成A在线V网站| 曰批视频免费40分钟试看天天| 亚洲精品无码av片| 亚洲国产精品成人久久| 好男人看视频免费2019中文 | 成全高清视频免费观看| 最近免费字幕中文大全| 亚洲国产日韩精品|