我的家園

          我的家園

          Hadoop使用常見問題以及解決方法4

          Posted on 2012-04-15 16:37 zljpp 閱讀(187) 評論(0)  編輯  收藏

          Hadoop添加節(jié)點的方法
          自己實際添加節(jié)點過程:
          1. 先在slave上配置好環(huán)境,包括ssh,jdk,相關config,lib,bin等的拷貝;
          2. 將新的datanode的host加到集群namenode及其他datanode中去;
          3. 將新的datanode的ip加到master的conf/slaves中;
          4. 重啟cluster,在cluster中看到新的datanode節(jié)點;
          5. 運行bin/start-balancer.sh,這個會很耗時間
          備注:
          1. 如果不balance,那么cluster會把新的數(shù)據(jù)都存放在新的node上,這樣會降低mr的工作效率;
          2. 也可調用bin/start-balancer.sh 命令執(zhí)行,也可加參數(shù) -threshold 5
             threshold 是平衡閾值,默認是10%,值越低各節(jié)點越平衡,但消耗時間也更長。
          3. balancer也可以在有mr job的cluster上運行,默認dfs.balance.bandwidthPerSec很低,為1M/s。在沒有mr job時,可以提高該設置加快負載均衡時間。

          其他備注:
          1. 必須確保slave的firewall已關閉;
          2. 確保新的slave的ip已經(jīng)添加到master及其他slaves的/etc/hosts中,反之也要將master及其他slave的ip添加到新的slave的/etc/hosts中

          hadoop 學習借鑒
          1. 解決hadoop OutOfMemoryError問題:
          <property>
             <name>mapred.child.java.opts</name>
             <value>-Xmx800M -server</value>
          </property>
          With the right JVM size in your hadoop-site.xml , you will have to copy this
          to all mapred nodes and restart the cluster.
          或者:hadoop jar jarfile [main class] -D mapred.child.java.opts=-Xmx800M 

          2. Hadoop java.io.IOException: Job failed! at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1232) while indexing.
          when i use nutch1.0,get this error:
          Hadoop java.io.IOException: Job failed! at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1232) while indexing.
          這個也很好解決:
          可以刪除conf/log4j.properties,然后可以看到詳細的錯誤報告
          我這兒出現(xiàn)的是out of memory
          解決辦法是在給運行主類org.apache.nutch.crawl.Crawl加上參數(shù):-Xms64m -Xmx512m
          你的或許不是這個問題,但是能看到詳細的錯誤報告問題就好解決了

          distribute cache使用
          類似一個全局變量,但是由于這個變量較大,所以不能設置在config文件中,轉而使用distribute cache
          具體使用方法:(詳見《the definitive guide》,P240)
          1. 在命令行調用時:調用-files,引入需要查詢的文件(可以是local file, HDFS file(使用hdfs://xxx?)), 或者 -archives (JAR,ZIP, tar等)
          % hadoop jar job.jar MaxTemperatureByStationNameUsingDistributedCacheFile /
            -files input/ncdc/metadata/stations-fixed-width.txt input/ncdc/all output
          2. 程序中調用:
             public void configure(JobConf conf) {
                metadata = new NcdcStationMetadata();
                try {
                  metadata.initialize(new File("stations-fixed-width.txt"));
                } catch (IOException e) {
                  throw new RuntimeException(e);
                }
             }
          另外一種間接的使用方法:在hadoop-0.19.0中好像沒有
          調用addCacheFile()或者addCacheArchive()添加文件,
          使用getLocalCacheFiles() 或 getLocalCacheArchives() 獲得文件


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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 黄大仙区| 湄潭县| 台安县| 蒙阴县| 河曲县| 定兴县| 乃东县| 黄骅市| 凤台县| 汉寿县| 襄垣县| 浮梁县| 铜陵市| 临安市| 三河市| 库伦旗| 巍山| 青海省| 武强县| 墨玉县| 正安县| 莱阳市| 西贡区| 渭南市| 肥城市| 香河县| 甘洛县| 孟津县| 天祝| 锦州市| 都江堰市| 安图县| 内黄县| 涪陵区| 绥中县| 集贤县| 崇仁县| 弋阳县| 沈丘县| 梁山县| 蒲江县|