Tag: hadoop

如何在类路径中包含hbase-site.xml

我目前正在尝试使用我的HBase代码来使用我的hbase-site.xml中指定的设置。 它似乎使用默认设置而不是hbase-site.xml配置文件中指定的设置。 我更新了文件后重新启动了HBase集群,但它仍然没有使用我更新的配置文件。 我使用的集群是2个节点,其中一个是主节点。 两个节点上的配置文件都将主节点的IP指定为zookeeper仲裁。 我认为问题是我的hbase-site.xml中指定的设置没有被使用,因为如果我通过代码将zookeeper仲裁设置为与我的hbase-site.xml中相同的值,代码运行正常,但第二个节点不能如果未通过代码指定仲裁,请联系主服务器。 config = HBaseConfiguration.create(); config.set(“hbase.zookeeper.quorum”, masterNodeIP); 我非常感谢有关如何将hbase-site.xml包含到我的代码的类路径中的说明或链接。 我在Windows机器上使用Eclipse进行开发,并在Linux集群上安装了HBase环境。 由于依赖性,我通常使用Eclipse来编译代码。 理想情况下,我希望群集中的每个节点都使用自己的配置文件。 提前致谢!

在Hadoop中传播自定义配置值

在Map / Reduce期间,有没有办法设置和(稍后)在Hadoop中获取自定义配置对象? 例如,假设一个应用程序预处理一个大文件并动态确定与该文件相关的一些特征。 此外,假设这些特征保存在自定义Java对象中(例如, Properties对象,但不是唯一的,因为一些可能不是字符串),并且随后对于每个映射和减少作业都是必需的。 应用程序如何“传播”此配置,以便每个映射器和reducerfunction可以在需要时访问它? 一种方法可能是使用JobConf类的set(String, String)方法,例如,通过第二个参数传递序列化为JSON字符串的配置对象,但这可能是太多的黑客然后适当无论如何,每个Mapper和Reducer都必须访问JobConf实例(例如,遵循前面问题中建议的方法)。

Hadoop MapReduce – 每个输入的一个输出文件

我是Hadoop的新手,我正在试图弄清楚它是如何工作的。 至于练习,我应该实现类似于WordCount-Example的东西。 任务是读入几个文件,执行WordCount并为每个输入文件写一个输出文件。 Hadoop使用组合器并将map-part的输出作为reducer的输入进行混洗,然后写入一个输出文件(我想每个正在运行的实例)。 我想知道是否可以为每个输入文件写一个输出文件(所以保留inputfile1的单词并将结果写入outputfile1,依此类推)。 是否有可能覆盖Combiner-Class或是否有另一种解决方案(我不确定这是否应该在Hadoop-Task中解决,但这是练习)。 谢谢…

Mahout:读取自定义输入文件

我正在玩Mahout,发现FileDataModel接受格式的数据 userId,itemId,pref(long,long,Double). 我有一些格式的数据 String,long,double 在Mahout上使用此数据集的最佳/最简单方法是什么?

JAVA_HOME没有设置

在伪分布式操作中处理Hadoop实现时,我发现以下JAVA_HOME变量没有设置,但是当我试图回应它时,它被设置了。 变量在conf/hadoop-env.sh (编辑export JAVA_HOME=/usr/lib/jvm/java-6-sun ), bash.bashrc 。 vardan@vardan-HP-G62-Notebook-PC:~/hadoop-0.20.203.0$ echo $JAVA_HOME /usr/lib/jvm/java-6-sun vardan@vardan-HP-G62-Notebook-PC:~/hadoop-0.20.203.0$ bin/start-all.sh starting namenode, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-namenode-vardan-HP-G62-Notebook-PC.out localhost: starting datanode, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-datanode-vardan-HP-G62-Notebook-PC.out localhost: Error: JAVA_HOME is not set. localhost: starting secondarynamenode, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-secondarynamenode-vardan-HP-G62-Notebook-PC.out localhost: Error: JAVA_HOME is not set. starting jobtracker, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-jobtracker-vardan-HP-G62-Notebook-PC.out localhost: starting tasktracker, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-tasktracker-vardan-HP-G62-Notebook-PC.out localhost: Error: […]

由于java.io.NotSerializableException:org.apache.spark.SparkContext,Spark作业失败

当我尝试在RDD[(Int,ArrayBuffer[(Int,Double)])]输入上应用方法(ComputeDwt)时,我面临exception。 我甚至使用extends Serialization选项来序列化spark中的对象。这是代码片段。 input:series:RDD[(Int,ArrayBuffer[(Int,Double)])] DWTsample extends Serialization is a class having computeDwt function. sc: sparkContext val kk:RDD[(Int,List[Double])]=series.map(t=>(t._1,new DWTsample().computeDwt(sc,t._2))) Error: org.apache.spark.SparkException: Job failed: java.io.NotSerializableException: org.apache.spark.SparkContext org.apache.spark.SparkException: Job failed: java.io.NotSerializableException: org.apache.spark.SparkContext at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:760) at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:758) at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:60) at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47) at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:758) at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$submitMissingTasks(DAGScheduler.scala:556) at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$submitStage(DAGScheduler.scala:503) at org.apache.spark.scheduler.DAGScheduler.processEvent(DAGScheduler.scala:361) at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$run(DAGScheduler.scala:441) at org.apache.spark.scheduler.DAGScheduler$$anon$1.run(DAGScheduler.scala:149) 谁能告诉我可能是什么问题以及应该采取什么措施来解决这个问题呢?

Java Hadoop Mapper如何发送多个值

我的映射器需要发送以下元组: 我希望将减少发送者作为密钥发送给reducer,并将prodID和速率作为值一起发送,因为它们是减少阶段所需的。 这是最好的方法吗? public void map(Object key, Text value, Context context) throws IOException, InterruptedException { String[] col = value.toString().split(“,”); custID.set(col[0]); data.set(col[1] + “,” + col[2]); context.write(custID, data); } public void reduce(Text key, Iterable values, Context context) throws IOException, InterruptedException { for (Text val : values) { String[] temp = val.toString().split(“,”); Text rate = new Text(temp[1]); […]

即时搜索数PB的数据

我需要在CSV格式文件中搜索超过PB的数据。 使用LUCENE进行索引后,索引文件的大​​小比原始文件的大。 是否可以减少索引文件大小??? 如何在HADOOP中分发LUCENE索引文件以及如何在搜索环境中使用? 或者是否有必要,我应该使用solr来分发LUCENE指数??? 我的要求是对PB级文件进行即时搜索….

无法在Spark中配置ORC属性

我正在使用Spark 1.6(Cloudera 5.8.2)并尝试以下方法来配置ORC属性。 但它不会影响输出。 下面是我试过的代码片段。 DataFrame dataframe = hiveContext.createDataFrame(rowData, schema); dataframe.write().format(“orc”).options(new HashMap(){ { put(“orc.compress”,”SNAPPY”); put(“hive.exec.orc.default.compress”,”SNAPPY”); put(“orc.compress.size”,”524288″); put(“hive.exec.orc.default.buffer.size”,”524288″); put(“hive.exec.orc.compression.strategy”, “COMPRESSION”); } }).save(“spark_orc_output”); 除此之外,我还尝试了在hive-site.xml和hiveContext对象中设置的这些属性。 输出上的hive –orcfiledump确认未应用配置。 Orcfiledump片段如下。 Compression: ZLIB Compression size: 262144

将外部jar设置为hadoop classpath

我试图将外部jar子设置为hadoop classpath但到目前为止没有运气。 我有以下设置 $ hadoop版本 Hadoop 2.0.6-alpha Subversion https://git-wip-us.apache.org/repos/asf/bigtop.git -r ca4c88898f95aaab3fd85b5e9c194ffd647c2109由jenkins在2013-10-31T07编译:55Z来自校验和的源95e88b2a9589fa69d6d5c1dbd48d4e这个命令是使用/usr/lib/hadoop/hadoop-common-2.0.6-alpha.jar运行 类路径 $ echo $ HADOOP_CLASSPATH /home/tom/workspace/libs/opencsv-2.3.jar 我能看到上面的HADOOP_CLASSPATH已经被hadoop接收了 $ hadoop classpath / etc / hadoop / conf:/ usr / lib / hadoop / lib / :/ usr / lib / hadoop /.//:/home/tom/workspace/libs/opencsv-2.3.jar:/ usr / lib / hadoop- hdfs /./:/ usr / lib / hadoop-hdfs / […]