Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BnP not working #420

Closed
elad opened this issue Jun 23, 2016 · 2 comments
Closed

BnP not working #420

elad opened this issue Jun 23, 2016 · 2 comments

Comments

@elad
Copy link
Contributor

elad commented Jun 23, 2016

Hey guys,

I'm trying to run BnP on AWS EMR. My input data is Avro where the name field has the key and content has the value.

For testing purposes, I've got a tiny EMR cluster (1 master, 2 nodes). The master also runs Voldemort with config/single_node_cluster. Here's my BnP config:

type=java
job.class=voldemort.store.readonly.mr.azkaban.VoldemortBuildAndPushJob
avro.key.field=name
avro.value.field=content
build.input.path=/user/hadoop/avro-data/
build.output.dir=/tmp
build.replication.factor=1
build.type.avro=true
push.cluster=tcp://localhost:6666
push.store.name=test1
push.store.description="Testing avro build and push"
push.store.owners= myemail@myworkplace.com

Here's the output from running run-bnp.sh:

[hadoop@<EMR_HOSTNAME> voldemort]$ ./bin/run-bnp.sh bnp.conf
Voldemort version detected: 1.10.17
Executing BnP with:
config_file : bnp.conf
hadoop_config_path : /etc/hadoop/conf/
16/06/23 07:21:41 INFO azkaban.VoldemortBuildAndPushJobRunner: Extracting config properties out of: bnp.conf
16/06/23 07:21:41 INFO shell-job: Job props:
{
  avro.key.field: name
  avro.value.field: content
  build.input.path: /user/hadoop/avro-data/
  build.output.dir: /tmp
  build.replication.factor: 1
  build.type.avro: true
  job.class: voldemort.store.readonly.mr.azkaban.VoldemortBuildAndPushJob
  push.cluster: tcp://localhost:6666
  push.store.description: "Testing avro build and push"
  push.store.name: test1
  push.store.owners: myemail@myworkplace.com
  type: java
}
16/06/23 07:21:42 INFO client.AbstractStoreClientFactory: Client zone-id [-1] Attempting to get raw store [voldsys$_metadata_version_persistence] 
16/06/23 07:21:42 INFO client.AbstractStoreClientFactory: Client zone-id [-1] Attempting to get raw store [voldsys$_store_quotas] 
16/06/23 07:21:42 INFO shell-job: voldemort.fetcher.protocol is set to : webhdfs
16/06/23 07:21:42 INFO shell-job: voldemort.fetcher.port is set to : 50070
16/06/23 07:21:42 INFO shell-job: Build and Push Job constructed for 1 cluster(s).
16/06/23 07:21:42 INFO shell-job: Requesting block-level compression codec expected by Server
16/06/23 07:21:42 INFO shell-job: Server responded with block-level compression codecs: [ NO_CODEC ]
16/06/23 07:21:42 INFO shell-job: Using no block-level compression
16/06/23 07:21:44 INFO shell-job: Verifying store against cluster URL: tcp://localhost:6666
<store>
  <name>test1</name>
  <persistence>read-only</persistence>
  <description>"Testing avro build and push"</description>
  <owners>myemail@myworkplace.com</owners>
  <routing>client</routing>
  <replication-factor>1</replication-factor>
  <required-reads>1</required-reads>
  <required-writes>1</required-writes>
  <key-serializer>
    <type>avro-generic</type>
    <schema-info version="0">{"type":"string","avro.java.string":"String"}</schema-info>
  </key-serializer>
  <value-serializer>
    <type>avro-generic</type>
    <schema-info version="0">"bytes"</schema-info>
  </value-serializer>
</store>
16/06/23 07:21:44 INFO utils.StoreDefinitionUtils: Validating schema for store: test1
16/06/23 07:21:44 INFO mr.HadoopStoreBuilder: HadoopStoreBuilder constructed with numChunksOverride <= 0, thus relying chunk size.
16/06/23 07:21:44 INFO utils.HadoopUtils: findContainingJar finds url:file:/tmp/hadoop-unjar126543570963866578/voldemort/store/readonly/mr/HadoopStoreBuilder.class
16/06/23 07:21:44 INFO utils.HadoopUtils: findContainingJar finds url:jar:file:/home/hadoop/voldemort/build/libs/voldemort-1.10.17-bnp.jar!/voldemort/store/readonly/mr/HadoopStoreBuilder.class
16/06/23 07:21:44 INFO azkaban.AbstractHadoopJob: Setting hadoop jar file for class:class voldemort.store.readonly.mr.HadoopStoreBuilder  to /home/hadoop/voldemort/build/libs/voldemort-1.10.17-bnp.jar
16/06/23 07:21:44 INFO azkaban.AbstractHadoopJob: *************************************************************************
16/06/23 07:21:44 INFO Configuration.deprecation: mapred.job.tracker is deprecated. Instead, use mapreduce.jobtracker.address
16/06/23 07:21:44 INFO azkaban.AbstractHadoopJob:           Running on Real Hadoop Cluster(local)           
16/06/23 07:21:44 INFO azkaban.AbstractHadoopJob: *************************************************************************
16/06/23 07:21:44 INFO Configuration.deprecation: dfs.umaskmode is deprecated. Instead, use fs.permissions.umask-mode
16/06/23 07:21:44 INFO mr.HadoopStoreBuilder: Data size = 2544282, replication factor = 1, numNodes = 1, numPartitions = 2, chunk size = 1073741824
16/06/23 07:21:44 INFO mr.HadoopStoreBuilder: Number of chunks: 1, number of reducers: 2, save keys: true, reducerPerBucket: true, buildPrimaryReplicasOnly: true
16/06/23 07:21:44 INFO mr.HadoopStoreBuilder: Building store...
16/06/23 07:21:44 INFO client.RMProxy: Connecting to ResourceManager at <EMR_HOSTNAME>.ec2.internal/<EMR_IP_ADDRESS>:8032
16/06/23 07:21:44 INFO client.RMProxy: Connecting to ResourceManager at <EMR_HOSTNAME>.ec2.internal/<EMR_IP_ADDRESS>:8032
16/06/23 07:21:44 WARN mapreduce.JobResourceUploader: Hadoop command-line option parsing not performed. Implement the Tool interface and execute your application with ToolRunner to remedy this.
16/06/23 07:21:45 INFO mapred.FileInputFormat: Total input paths to process : 1
16/06/23 07:21:45 INFO mapreduce.JobSubmitter: number of splits:16
16/06/23 07:21:45 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1466664638192_0007
16/06/23 07:21:45 INFO impl.YarnClientImpl: Submitted application application_1466664638192_0007
16/06/23 07:21:45 INFO mapreduce.Job: The url to track the job: http://<EMR_HOSTNAME>.ec2.internal:20888/proxy/application_1466664638192_0007/
16/06/23 07:21:45 INFO mapreduce.Job: Running job: job_1466664638192_0007
16/06/23 07:21:52 INFO mapreduce.Job: Job job_1466664638192_0007 running in uber mode : false
16/06/23 07:21:52 INFO mapreduce.Job:  map 0% reduce 0%
16/06/23 07:22:01 INFO mapreduce.Job:  map 6% reduce 0%
16/06/23 07:22:04 INFO mapreduce.Job:  map 13% reduce 0%
16/06/23 07:22:07 INFO mapreduce.Job:  map 25% reduce 0%
16/06/23 07:22:08 INFO mapreduce.Job:  map 56% reduce 0%
16/06/23 07:22:10 INFO mapreduce.Job:  map 63% reduce 0%
16/06/23 07:22:13 INFO mapreduce.Job:  map 69% reduce 0%
16/06/23 07:22:15 INFO mapreduce.Job:  map 81% reduce 0%
16/06/23 07:22:17 INFO mapreduce.Job:  map 100% reduce 0%
16/06/23 07:22:19 INFO mapreduce.Job:  map 100% reduce 100%
16/06/23 07:22:20 INFO mapreduce.Job: Job job_1466664638192_0007 completed successfully
16/06/23 07:22:21 INFO mapreduce.Job: Counters: 50
  File System Counters
    FILE: Number of bytes read=6245881
    FILE: Number of bytes written=14850537
    FILE: Number of read operations=0
    FILE: Number of large read operations=0
    FILE: Number of write operations=0
    HDFS: Number of bytes read=3444671
    HDFS: Number of bytes written=23864511
    HDFS: Number of read operations=78
    HDFS: Number of large read operations=0
    HDFS: Number of write operations=28
  Job Counters 
    Launched map tasks=16
    Launched reduce tasks=2
    Data-local map tasks=8
    Rack-local map tasks=8
    Total time spent by all maps in occupied slots (ms)=6998670
    Total time spent by all reduces in occupied slots (ms)=1702170
    Total time spent by all map tasks (ms)=155526
    Total time spent by all reduce tasks (ms)=18913
    Total vcore-milliseconds taken by all map tasks=155526
    Total vcore-milliseconds taken by all reduce tasks=18913
    Total megabyte-milliseconds taken by all map tasks=223957440
    Total megabyte-milliseconds taken by all reduce tasks=54469440
  Map-Reduce Framework
    Map input records=1000
    Map output records=1000
    Map output bytes=23870707
    Map output materialized bytes=6234182
    Input split bytes=2192
    Combine input records=0
    Combine output records=0
    Reduce input groups=1000
    Reduce shuffle bytes=6234182
    Reduce input records=1000
    Reduce output records=0
    Spilled Records=2000
    Shuffled Maps =32
    Failed Shuffles=0
    Merged Map outputs=32
    GC time elapsed (ms)=2351
    CPU time spent (ms)=40320
    Physical memory (bytes) snapshot=7464632320
    Virtual memory (bytes) snapshot=39301734400
    Total committed heap usage (bytes)=8743026688
  Shuffle Errors
    BAD_ID=0
    CONNECTION=0
    IO_ERROR=0
    WRONG_LENGTH=0
    WRONG_MAP=0
    WRONG_REDUCE=0
  File Input Format Counters 
    Bytes Read=3442479
  File Output Format Counters 
    Bytes Written=470
16/06/23 07:22:21 INFO mr.HadoopStoreBuilder: Number of collisions in the job - 0
16/06/23 07:22:21 INFO mr.HadoopStoreBuilder: Maximum number of collisions for one entry - 0
16/06/23 07:22:21 INFO mr.HadoopStoreBuilder: Processed 0 out of 2 directories.
16/06/23 07:22:21 INFO mr.HadoopStoreBuilder: Total Processed directories: 2. Elapsed Time (Seconds):0
16/06/23 07:22:21 INFO shell-job: Pushing to cluster URL: tcp://localhost:6666
16/06/23 07:22:21 INFO shell-job: StorePushTask.call() invoked for cluster URL: tcp://localhost:6666
16/06/23 07:22:21 WARN shell-job: pushHighAvailability is DISABLED on cluster: tcp://localhost:6666
16/06/23 07:22:21 INFO shell-job: Push starting for cluster: tcp://localhost:6666
16/06/23 07:22:21 INFO utils.VoldemortUtils: Existing protocol = hdfs and port = 8020
16/06/23 07:22:21 INFO utils.VoldemortUtils: New protocol = webhdfs and port = 50070
16/06/23 07:22:21 INFO client.AbstractStoreClientFactory: Client zone-id [-1] Attempting to get raw store [voldsys$_metadata_version_persistence] 
16/06/23 07:22:21 INFO client.AbstractStoreClientFactory: Client zone-id [-1] Attempting to get raw store [voldsys$_store_quotas] 
16/06/23 07:22:21 INFO swapper.AdminStoreSwapper|tcp://localhost:6666: tcp://localhost:6666 : Initiating fetch of test1 with dataDir: /tmp/localhost
16/06/23 07:22:21 INFO swapper.AdminStoreSwapper|tcp://localhost:6666: tcp://localhost:6666 : Invoking fetch for Node localhost:6666 [id 0] for webhdfs://<EMR_HOSTNAME>.ec2.internal:50070/tmp/localhost
16/06/23 07:22:21 ERROR swapper.AdminStoreSwapper|tcp://localhost:6666: tcp://localhost:6666 : Error on Node localhost:6666 [id 0] during push : 
java.util.concurrent.ExecutionException: voldemort.VoldemortException: Fetch url webhdfs://<EMR_HOSTNAME>.ec2.internal:50070/tmp/localhost is not readable
  at java.util.concurrent.FutureTask.report(FutureTask.java:122)
  at java.util.concurrent.FutureTask.get(FutureTask.java:188)
  at voldemort.store.readonly.swapper.AdminStoreSwapper.invokeFetch(AdminStoreSwapper.java:220)
  at voldemort.store.readonly.swapper.AdminStoreSwapper.fetchAndSwapStoreData(AdminStoreSwapper.java:123)
  at voldemort.store.readonly.mr.azkaban.VoldemortSwapJob.run(VoldemortSwapJob.java:158)
  at voldemort.store.readonly.mr.azkaban.VoldemortBuildAndPushJob.runPushStore(VoldemortBuildAndPushJob.java:768)
  at voldemort.store.readonly.mr.azkaban.VoldemortBuildAndPushJob$StorePushTask.call(VoldemortBuildAndPushJob.java:514)
  at voldemort.store.readonly.mr.azkaban.VoldemortBuildAndPushJob$StorePushTask.call(VoldemortBuildAndPushJob.java:497)
  at java.util.concurrent.FutureTask.run(FutureTask.java:262)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  at java.lang.Thread.run(Thread.java:745)
Caused by: voldemort.VoldemortException: Fetch url webhdfs://<EMR_HOSTNAME>.ec2.internal:50070/tmp/localhost is not readable
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
  at voldemort.utils.ReflectUtils.callConstructor(ReflectUtils.java:116)
  at voldemort.utils.ReflectUtils.callConstructor(ReflectUtils.java:103)
  at voldemort.store.ErrorCodeMapper.getError(ErrorCodeMapper.java:83)
  at voldemort.client.protocol.admin.AdminClient$HelperOperations.throwException(AdminClient.java:438)
  at voldemort.client.protocol.admin.AdminClient$RPCOperations.getAsyncRequestStatus(AdminClient.java:683)
  at voldemort.client.protocol.admin.AdminClient$RPCOperations.waitForCompletion(AdminClient.java:888)
  at voldemort.client.protocol.admin.AdminClient$RPCOperations.waitForCompletion(AdminClient.java:959)
  at voldemort.client.protocol.admin.AdminClient$ReadOnlySpecificOperations.fetchStore(AdminClient.java:4183)
  at voldemort.store.readonly.swapper.AdminStoreSwapper$1.fetch(AdminStoreSwapper.java:180)
  at voldemort.store.readonly.swapper.AdminStoreSwapper$1.call(AdminStoreSwapper.java:164)
  at voldemort.store.readonly.swapper.AdminStoreSwapper$1.call(AdminStoreSwapper.java:158)
  ... 4 more
16/06/23 07:22:21 INFO swapper.AdminStoreSwapper|tcp://localhost:6666: tcp://localhost:6666 : About to attempt: DeleteAllFailedFetchStrategy
16/06/23 07:22:21 INFO swapper.AdminStoreSwapper|tcp://localhost:6666: tcp://localhost:6666 : Finished executing: DeleteAllFailedFetchStrategy; swapIsPossible: false
16/06/23 07:22:21 ERROR shell-job: Exception during push for cluster URL: tcp://localhost:6666. Rethrowing exception.
16/06/23 07:22:21 INFO shell-job: Cleaning up: Deleting BnP output and temp files from HDFS: /tmp/localhost
16/06/23 07:22:21 INFO shell-job: Deleted /tmp/localhost
16/06/23 07:22:21 ERROR shell-job: Got exceptions during Build and Push:
16/06/23 07:22:21 ERROR shell-job: Exception for cluster: tcp://localhost:6666
java.util.concurrent.ExecutionException: voldemort.VoldemortException: Exception during push. Swap will be aborted
  at java.util.concurrent.FutureTask.report(FutureTask.java:122)
  at java.util.concurrent.FutureTask.get(FutureTask.java:188)
  at voldemort.store.readonly.mr.azkaban.VoldemortBuildAndPushJob.run(VoldemortBuildAndPushJob.java:602)
  at voldemort.store.readonly.mr.azkaban.VoldemortBuildAndPushJobRunner.main(VoldemortBuildAndPushJobRunner.java:34)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:606)
  at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
  at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: voldemort.VoldemortException: Exception during push. Swap will be aborted
  at voldemort.store.readonly.swapper.AdminStoreSwapper.invokeFetch(AdminStoreSwapper.java:264)
  at voldemort.store.readonly.swapper.AdminStoreSwapper.fetchAndSwapStoreData(AdminStoreSwapper.java:123)
  at voldemort.store.readonly.mr.azkaban.VoldemortSwapJob.run(VoldemortSwapJob.java:158)
  at voldemort.store.readonly.mr.azkaban.VoldemortBuildAndPushJob.runPushStore(VoldemortBuildAndPushJob.java:768)
  at voldemort.store.readonly.mr.azkaban.VoldemortBuildAndPushJob$StorePushTask.call(VoldemortBuildAndPushJob.java:514)
  at voldemort.store.readonly.mr.azkaban.VoldemortBuildAndPushJob$StorePushTask.call(VoldemortBuildAndPushJob.java:497)
  at java.util.concurrent.FutureTask.run(FutureTask.java:262)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.concurrent.ExecutionException: voldemort.VoldemortException: Fetch url webhdfs://<EMR_HOSTNAME>.ec2.internal:50070/tmp/localhost is not readable
  at java.util.concurrent.FutureTask.report(FutureTask.java:122)
  at java.util.concurrent.FutureTask.get(FutureTask.java:188)
  at voldemort.store.readonly.swapper.AdminStoreSwapper.invokeFetch(AdminStoreSwapper.java:220)
  ... 9 more
Caused by: voldemort.VoldemortException: Fetch url webhdfs://<EMR_HOSTNAME>.ec2.internal:50070/tmp/localhost is not readable
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
  at voldemort.utils.ReflectUtils.callConstructor(ReflectUtils.java:116)
  at voldemort.utils.ReflectUtils.callConstructor(ReflectUtils.java:103)
  at voldemort.store.ErrorCodeMapper.getError(ErrorCodeMapper.java:83)
  at voldemort.client.protocol.admin.AdminClient$HelperOperations.throwException(AdminClient.java:438)
  at voldemort.client.protocol.admin.AdminClient$RPCOperations.getAsyncRequestStatus(AdminClient.java:683)
  at voldemort.client.protocol.admin.AdminClient$RPCOperations.waitForCompletion(AdminClient.java:888)
  at voldemort.client.protocol.admin.AdminClient$RPCOperations.waitForCompletion(AdminClient.java:959)
  at voldemort.client.protocol.admin.AdminClient$ReadOnlySpecificOperations.fetchStore(AdminClient.java:4183)
  at voldemort.store.readonly.swapper.AdminStoreSwapper$1.fetch(AdminStoreSwapper.java:180)
  at voldemort.store.readonly.swapper.AdminStoreSwapper$1.call(AdminStoreSwapper.java:164)
  at voldemort.store.readonly.swapper.AdminStoreSwapper$1.call(AdminStoreSwapper.java:158)
  ... 4 more
16/06/23 07:22:21 INFO shell-job: Closing AdminClient with BootStrapUrls: [tcp://localhost:6666]
16/06/23 07:22:21 ERROR azkaban.VoldemortBuildAndPushJobRunner: Exception while running BnP job!
voldemort.VoldemortException: An exception occurred during Build and Push !!
  at voldemort.store.readonly.mr.azkaban.VoldemortBuildAndPushJob.run(VoldemortBuildAndPushJob.java:634)
  at voldemort.store.readonly.mr.azkaban.VoldemortBuildAndPushJobRunner.main(VoldemortBuildAndPushJobRunner.java:34)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:606)
  at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
  at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: voldemort.VoldemortException: Got exceptions during Build and Push
  at voldemort.store.readonly.mr.azkaban.VoldemortBuildAndPushJob.run(VoldemortBuildAndPushJob.java:630)
  ... 7 more
BnP run script finished!
[hadoop@<EMR_HOSTNAME> voldemort]$ 

As you can see, it boils down to:

16/06/23 07:22:21 INFO swapper.AdminStoreSwapper|tcp://localhost:6666: tcp://localhost:6666 : Initiating fetch of test1 with dataDir: /tmp/localhost
16/06/23 07:22:21 INFO swapper.AdminStoreSwapper|tcp://localhost:6666: tcp://localhost:6666 : Invoking fetch for Node localhost:6666 [id 0] for webhdfs://ip-10-200-105-233.ec2.internal:50070/tmp/localhost
16/06/23 07:22:21 ERROR swapper.AdminStoreSwapper|tcp://localhost:6666: tcp://localhost:6666 : Error on Node localhost:6666 [id 0] during push : 
java.util.concurrent.ExecutionException: voldemort.VoldemortException: Fetch url webhdfs://ip-10-200-105-233.ec2.internal:50070/tmp/localhost is not readable

Looks like it mixes up between /tmp in the local FS and HDFS.

Have you seen this before? Any ideas on how to get past it?

Thanks!

@elad
Copy link
Contributor Author

elad commented Jun 23, 2016

Okay, so I just picked up the warning about fetcher class assuming local file. Fixed that in server.properties. Also turns out that I had to use config/readonly_two_nodes_cluster. Now the error boils down to this:

16/06/23 08:19:03 ERROR swapper.AdminStoreSwapper|tcp://localhost:6666: tcp://localhost:6666 : Error on Node 127.0.0.1:6666 [id 0] during push : 
java.util.concurrent.ExecutionException: voldemort.VoldemortException: Error in getting Hadoop filesystem. Invalid keytab file path.
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:188)
    at voldemort.store.readonly.swapper.AdminStoreSwapper.invokeFetch(AdminStoreSwapper.java:220)
    at voldemort.store.readonly.swapper.AdminStoreSwapper.fetchAndSwapStoreData(AdminStoreSwapper.java:123)
    at voldemort.store.readonly.mr.azkaban.VoldemortSwapJob.run(VoldemortSwapJob.java:158)
    at voldemort.store.readonly.mr.azkaban.VoldemortBuildAndPushJob.runPushStore(VoldemortBuildAndPushJob.java:768)
    at voldemort.store.readonly.mr.azkaban.VoldemortBuildAndPushJob$StorePushTask.call(VoldemortBuildAndPushJob.java:514)
    at voldemort.store.readonly.mr.azkaban.VoldemortBuildAndPushJob$StorePushTask.call(VoldemortBuildAndPushJob.java:497)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

(I can provide more context if necessary.)

...turns out that you must add this to server.properties (from #278):

readonly.keytab.path=
readonly.kerberos.user=

@elad elad closed this as completed Jun 23, 2016
@elad
Copy link
Contributor Author

elad commented Jun 23, 2016

For posterity, here are the configurations that worked for me--

BnP config:

type=java
job.class=voldemort.store.readonly.mr.azkaban.VoldemortBuildAndPushJob
avro.key.field=name
avro.value.field=content
build.input.path=/user/hadoop/avro-data/
build.output.dir=/tmp
build.replication.factor=2
build.type.avro=true
push.cluster=tcp://localhost:6666
push.store.name=test1
push.store.description="Testing avro build and push"
push.store.owners=myemail@myworkplace.com

Example node server.properties:

# The ID of *this* particular cluster node
node.id=0

max.threads=100

############### DB options ######################

http.enable=true
socket.enable=true

#NIO connector settings.
enable.nio.connector=true

request.format=vp3
storage.configs=voldemort.store.readonly.ReadOnlyStorageConfiguration

enable.readonly.engine=true
bdb.enable=false
slop.enable=false

# This is the important part
file.fetcher.class=voldemort.store.readonly.fetcher.HdfsFetcher
readonly.hadoop.config.path=/etc/hadoop/conf
readonly.keytab.path=
readonly.kerberos.user=

Example node STORES/test1 (store name is arbitrary):

<store>
  <name>test1</name>
  <description>Testing avro build and push</description>
  <owners>myemail@myworkplace.com</owners>
  <persistence>read-only</persistence>
  <routing-strategy>consistent-routing</routing-strategy>
  <routing>client</routing>
  <replication-factor>2</replication-factor>
  <required-reads>1</required-reads>
  <required-writes>1</required-writes>
  <key-serializer>
    <type>avro-generic</type>
    <schema-info version="0">{"type":"string","avro.java.string":"String"}</schema-info>
  </key-serializer>
  <value-serializer>
    <type>avro-generic</type>
    <schema-info version="0">{"type":"bytes"}</schema-info>
  </value-serializer>
</store>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant