Druid集羣導入hadoop數據問題

與hadoopjar包衝突

Druid java.lang.OutOfMemoryError: unable to create new native thread

解決方案參考:Working with different versions of Hadoophtml

調整Druid集羣所在機器的ulimit
參考:CentOS修改ulimitjava

io.druid.java.util.common.ISE: Job[class io.druid.indexer.IndexGeneratorJob] failed!

該問題存在兩個方面的問題:git

  1. druid所用的hadoop版本與hadoop集羣的jar包衝突,尤爲是CDH版本構建的hadoop集羣。

解決方案1. 參考:Working with different versions of Hadoop
在每一個數據定義文件中指定: demo:github

"tuningConfig" : {
      "type" : "hadoop",
      "partitionsSpec" : {
        "type" : "hashed",
        "targetPartitionSize" : 5000000
      },
      "jobProperties" : {
        "mapreduce.job.classloader": "true",
         "mapreduce.job.classloader.system.classes": "-javax.validation.,java.,javax.,org.apache.commons.logging.,org.apache.log4j.,org.apache.hadoop."
        },
        "ignoreInvalidRows" : true
    }
  }

解決方案2:參考Druid.io 部署&使用文檔apache

druid.indexer.runner.javaOpts=-server -Xmx2g -Duser.timezone=UTC -Dfile.encoding=UTF-8 -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager -Dhadoop.mapreduce.job.classloader=true
  1. 文件的路徑錯誤。
    在各個節點啓動時,其jvm.config中的-Djava.io.tmpdir=/tmp須要一個本地可訪問的目錄便可。

chmod error : 11

  1. 保證hdfs文件可讀;
  2. 保證druid集羣帳戶與hdfs帳戶一致
  3. 保證hdfs帳戶目錄權限>=755
  4. 保證hdfs宿主機的帳戶權限>=755(這個好像沒用)

數據文件位置

數據文件須要放置在HDFS中json

參考

Druid集羣配置
druid.io 從本地批(batch)導入數據與從hdfs 批導入數據的index task配置
druid.io問題記錄jvm

相關文章
相關標籤/搜索