posts - 28, comments - 37, trackbacks - 0, articles - 0

          hadoop-0.23 hdfs搭建1

          Posted on 2011-11-10 21:29 俞靈 閱讀(3072) 評(píng)論(3)  編輯  收藏

          使用hadoop-0.23 搭建hdfs,  namenode + datanode

          1.       HDFS-1052引入了多namenode, HDFS架構(gòu)變化較大, 可以參考hortonworks的文章: http://hortonworks.com/an-introduction-to-hdfs-federation/.

          我將在接下來(lái)的博客里把此文章翻譯一下(另外還有: http://developer.yahoo.com/blogs/hadoop/posts/2011/03/mapreduce-nextgen-scheduler/).

          所有namenode共享datanode, 各個(gè)namenode相互獨(dú)立, 互不影響, 每個(gè)namenode都有一個(gè)backupNodeSecondaryNamenode,提供主備切換功能和備份元數(shù)據(jù)的功能.

          下文的配置信息主要參考HDFS-2471.

          2.       環(huán)境:

          a)         五臺(tái)機(jī)器 ,linux系統(tǒng),

          b)         互相添加ssh-key,后應(yīng)該可以不用密碼互連

          c)         編譯好的0.23版本的包: hadoop-0.23.0-SNAPSHOT.tar.gz

          d)         每臺(tái)機(jī)器需要安裝java1.6或以上版本.并把JAVA_HOME加到$PATH.

          e)         最好加上psshpscp工具.

          這里把五臺(tái)機(jī)器命名為:

           Myhost1

                Myhost2

                Myhost3

          Myhost4

                Myhost5

               假設(shè)我們需要搭建如下集群:

          Myhost1Myhost2開啟 namenode, 另外三臺(tái)機(jī)器啟動(dòng)datanode服務(wù).

          3.       首先把分配到五臺(tái)機(jī)器上,然后解壓.(推薦使用pscp, pssh命令)

          4.       然后在五臺(tái)機(jī)器上安裝java,并把JAVA_HOME加到$PATH

          5.       進(jìn)入解壓后的hadoop目錄, 編輯 etc/hadoop/hdfs-site.xml

          a)         Myhost1的配置如下(其中hadoop存放在/home/yuling.sh/目錄下):

           <property>
              <name>fs.defaultFS</name>
              <value>hdfs:// Myhost1:9000</value>
            </property>

            <property>
              <name>dfs.namenode.name.dir</name>
              <value>/home/yuling.sh/cluster-data</value>
            </property>

          b)         Myhost2的配置如下(其中hadoop存放在/home/yuling.sh/目錄下):

           <property>
              <name>fs.defaultFS</name>
              <value>hdfs:// Myhost2:9000</value>
            </property>

            <property>
              <name>dfs.namenode.name.dir</name>
              <value>/home/yuling.sh/cluster-data</value>
            </property>

           

          c) 這里把Myhost1集群起名ns1, Myhost1集群起名ns2, 三臺(tái)slavaetc/hadoop/hdfs-site.xml配置如下:

           <property>
              <name>dfs.federation.nameservices</name>
              <value>ns1,ns2</value>
            </property>


            <property>
              <name>dfs.namenode.rpc-address.ns1</name>
              <value>hdfs:// Myhost1:9000</value>
            </property>


            <property>
              <name>dfs.namenode.http-address.ns1</name>
              <value> Myhost1:50070</value>
            </property>

            <property>
              <name>dfs.namenode.rpc-address.ns2</name>
              <value>hdfs:// Myhost2:9000</value>
            </property>
            <property>
              <name>dfs.namenode.http-address.ns1</name>
              <value> Myhost2:50070</value>
            </property>

            <property>
              <name>dfs.datanode.data.dir</name>
              <value>/home/yuling.sh/datanode</value>
            </property>  

          d) 解釋:namenode需要指定兩個(gè)參數(shù), 用于存放元數(shù)據(jù)和文件系統(tǒng)的URL. Datanode需指定要連接的namenode rpc-addresshttp-address. 以及數(shù)據(jù)存放位置dfs.datanode.data.dir.

          6.       然后編輯兩臺(tái)namenodehadoop目錄下 etc/hadoop/slaves文件. 加入三臺(tái)slave機(jī)器名:

          Myhost3

          Myhost4

                Myhost5

           

          7.       現(xiàn)在需要格式化namenode, 由于namenode共享datanode, 因此它們的clusterid需要有相同的名字.這里我們把名字設(shè)為 yuling .命令如下:

          bin/hdfs namenode –format –clusterid yuling

          兩臺(tái)機(jī)器格式話之后會(huì)在/home/yuling.sh/cluster-data下生成元數(shù)據(jù)目錄.

          8.       啟動(dòng)Myhost1Myhost2上的namenodeslavedatanode服務(wù). 命令如下:

             sbin/start-hdfs.sh

          分別在Myhost1Myhost2下運(yùn)行.

          9.       啟動(dòng)之后打開瀏覽器, 分別查看兩namenode啟動(dòng)后狀態(tài). URL:

          Myhost1:50070Myhost2:50070

          10.   這期間可能會(huì)遇到許多問(wèn)題, 但是可以根據(jù)拋出的異常自己解決, 我這里就不多說(shuō)了.

          下一篇博客將講述如何啟動(dòng)backupNodeSecondaryNamenode

           

          Feedback

          # re: hadoop-0.23 hdfs搭建1  回復(fù)  更多評(píng)論   

          2011-11-23 15:10 by doban
          建議博主寫一個(gè)篇比較詳盡的安裝文檔。我根據(jù)這個(gè)文檔調(diào)試了1天時(shí)間都沒能正常運(yùn)行起來(lái)。

          # re: hadoop-0.23 hdfs搭建1  回復(fù)  更多評(píng)論   

          2011-11-28 17:17 by klose
          defaultFS應(yīng)該在$HADOOP_CONF_DIR/core-site.xml配置,關(guān)注Hadoop0.23.請(qǐng)關(guān)注http://blog.sina.com.cn/jiangbinglover

          # re: hadoop-0.23 hdfs搭建1  回復(fù)  更多評(píng)論   

          2012-02-09 16:12 by sunceenjoy
          我按照本文最終試驗(yàn)成功,這里的步驟是對(duì)的。不過(guò)遺漏了幾點(diǎn):
          1.要在hadoop-env.sh里面配置JAVA_HOME,(把注釋exprot java_home改成你的目錄)。注意:hadoop-0.23 里是yarn-env.sh 要改成hadoop-env.sh,具體原因在libexec的某個(gè)腳本里面
          2.把slaves跟這個(gè)hadoop-env都移動(dòng)到etc/hadoop里面去。具體原因也在libexec的某個(gè)腳本里面(做了個(gè)判斷,如果conf目錄存在,則用此作為目錄,否則用etc/hadoop為配置目錄)。這真是瞎搞,統(tǒng)一一下不就得了。

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 淮南市| 太和县| 濉溪县| 屏边| 尚志市| 绩溪县| 白沙| 陵川县| 韶山市| 自贡市| 呼和浩特市| 康马县| 麟游县| 莎车县| 察雅县| 乌兰县| 高雄市| 军事| 弥渡县| 深圳市| 宜丰县| 呼伦贝尔市| 凉城县| 洱源县| 南平市| 新巴尔虎右旗| 武宁县| 壶关县| 泾阳县| 通辽市| 双桥区| 兴隆县| 蒙山县| 新竹市| 瑞安市| 吉安县| 英德市| 合山市| 江油市| 遂宁市| 梧州市|