<div dir="ltr">Hi Kota/John/Andrew, <div><br></div><div>Thanks for your suggestions.</div><div><br></div><div>So this is what i've tried with unsuccessful results.</div><div><br></div><div>-<u> jets3t.properties file</u></div>
<div><div><font face="courier new, monospace">s3service.s3-endpoint=<riak-host></font></div><div><font face="courier new, monospace">s3service.s3-endpoint-http-port=8080</font></div><div><font face="courier new, monospace">s3service.disable-dns-buckets=true</font></div>
<div><font face="courier new, monospace">s3service.s3-endpoint-virtual-path=/</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">httpclient.proxy-autodetect=false</font></div>
<div><font face="courier new, monospace">httpclient.proxy-host=<riak-host></font></div><div><font face="courier new, monospace">httpclient.proxy-port=8080</font></div></div><div><br></div><div>I've tried the proxy and s3 service together and each separately.</div>
<div>I've also tried putting the file in<font face="courier new, monospace"> /opt/mapr/conf , /opt/mapr/hadoop/hadoop-0.20.2/ and /opt/mapr/hadoop/hadoop-0.20.2/conf </font></div><div><br></div><div>After adding the settings, when I run <font face="courier new, monospace">hadoop distcp s3n://u:p@bucket/file /mymapr/</font> it still connects to s3, since I get access denied message from aws, saying they dont recognize the key and passphrase</div>
<div>I've also tried using pig <font face="courier new, monospace">T = LOAD 's3n://u:p@bucket/file' using PigStorage() as (line:chararray);</font></div><div><br></div><div><br></div><div>- <u>/etc/hosts file</u></div>
<div>I know internally aws converts it to a <font face="courier new, monospace">https://<bucket>.<a href="http://s3.amazonaws.com/">s3.amazonaws.com/</a></font> request. </div><div>So I added that to my hosts file and had my riak cs behind a haproxy forwarding 443 to the 8080 of the riak. When I run the hadoop distcp command as above, I get this error:</div>
<div><br></div><div><font face="courier new, monospace">14/08/01 20:59:30 INFO httpclient.HttpMethodDirector: I/O exception (java.net.ConnectException) caught when processing request: Connection refused<br></font></div><div>
<div><font face="courier new, monospace">14/08/01 20:59:30 INFO httpclient.HttpMethodDirector: Retrying request</font></div><div><font face="courier new, monospace">14/08/01 20:59:30 INFO httpclient.HttpMethodDirector: I/O exception (java.net.ConnectException) caught when processing request: Connection refused</font></div>
<div><font face="courier new, monospace">14/08/01 20:59:30 INFO httpclient.HttpMethodDirector: Retrying request</font></div><div><font face="courier new, monospace">14/08/01 20:59:30 INFO httpclient.HttpMethodDirector: I/O exception (java.net.ConnectException) caught when processing request: Connection refused</font></div>
<div><font face="courier new, monospace">14/08/01 20:59:30 INFO httpclient.HttpMethodDirector: Retrying request</font></div><div><font face="courier new, monospace">14/08/01 20:59:30 INFO metrics.MetricsUtil: getSupportedProducts {}</font></div>
<div><font face="courier new, monospace">java.lang.RuntimeException: RPC /supportedProducts error Connection refused</font></div><div><font face="courier new, monospace">        at amazon.emr.metrics.InstanceControllerRpcClient$RpcClient.call(Unknown Source)</font></div>
<div><font face="courier new, monospace">        at amazon.emr.metrics.InstanceControllerRpcClient.getSupportedProducts(Unknown Source)</font></div><div><font face="courier new, monospace">        at amazon.emr.metrics.MetricsUtil.emrClusterMapR(Unknown Source)</font></div>
<div><font face="courier new, monospace">        at amazon.emr.metrics.MetricsSaver.<init>(Unknown Source)</font></div><div><font face="courier new, monospace">        at amazon.emr.metrics.MetricsSaver.ensureSingleton(Unknown Source)</font></div>
<div><font face="courier new, monospace">        at amazon.emr.metrics.MetricsSaver.addInternal(Unknown Source)</font></div><div><font face="courier new, monospace">        at amazon.emr.metrics.MetricsSaver.addValue(Unknown Source)</font></div>
<div><font face="courier new, monospace">        at org.apache.hadoop.fs.s3native.Jets3tNativeFileSystemStore.retrieveMetadata(Jets3tNativeFileSystemStore.java:166)</font></div><div><font face="courier new, monospace">        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</font></div>
<div><font face="courier new, monospace">        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)</font></div><div><font face="courier new, monospace">        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</font></div>
<div><font face="courier new, monospace">        at java.lang.reflect.Method.invoke(Method.java:606)</font></div><div><font face="courier new, monospace">        at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:82)</font></div>
<div><font face="courier new, monospace">        at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:59)</font></div><div><font face="courier new, monospace">        at org.apache.hadoop.fs.s3native.$Proxy0.retrieveMetadata(Unknown Source)</font></div>
<div><font face="courier new, monospace">        at org.apache.hadoop.fs.s3native.NativeS3FileSystem.getFileStatus(NativeS3FileSystem.java:748)</font></div><div><font face="courier new, monospace">        at org.apache.hadoop.fs.FileSystem.exists(FileSystem.java:826)</font></div>
<div><font face="courier new, monospace">        at org.apache.hadoop.tools.DistCp.checkSrcPath(DistCp.java:648)</font></div><div><font face="courier new, monospace">        at org.apache.hadoop.tools.DistCp.copy(DistCp.java:668)</font></div>
<div><font face="courier new, monospace">        at org.apache.hadoop.tools.DistCp.run(DistCp.java:913)</font></div><div><font face="courier new, monospace">        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)</font></div>
<div><font face="courier new, monospace">        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)</font></div><div><font face="courier new, monospace">        at org.apache.hadoop.tools.DistCp.main(DistCp.java:947)</font></div>
</div><div><br></div><div><br></div><div><br></div><div><u>- hadoop conf</u></div><div>When i add this setting to hadoop's core-site.xml (reverting the hosts file setting)</div><div><div><font face="courier new, monospace"><property></font></div>
<div><font face="courier new, monospace">    <name>fs.s3n.ssl.enabled</name></font></div><div><font face="courier new, monospace">    <value>false</value></font></div><div><font face="courier new, monospace">  </property></font></div>
<div><font face="courier new, monospace">  <property></font></div><div><font face="courier new, monospace">    <name>fs.s3n.endpoint</name></font></div><div><font face="courier new, monospace">    <value>riak-cluster</value></font></div>
<div><font face="courier new, monospace">  </property></font></div></div><div><br></div><div>I get the same error as the one with the hosts file, so looks like the setting makes it point to the riak cluster, however i am getting the rpc connection issue.</div>
<div><br></div><div><u>- s3cmd</u> </div><div><br></div><div>s3cmd and python boto works fine with .s3cfg and .botoconfig respectively pointing to riak, so i know the connection works from mapr to riak, just not with hadoop.</div>
<div><br></div><div>Any help is appreciated.</div><div><br></div><div>Thanks</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>
<br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Thu, Jul 31, 2014 at 5:10 PM, Kota Uenishi <span dir="ltr"><<a href="mailto:kota@basho.com" target="_blank">kota@basho.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I played on Hadoop MapReduce on Riak CS, and it actually worked with<br>
the latest 1.5 beta package. Hadoop relies S3 connectivity on jets3t,<br>
so if MapR uses vanilla jets3t it will work. I believe so because MapR<br>
works on EMR (which usually extracts data from S3).<br>
<br>
Technically, you can add several options about S3 endpoints to connect<br>
other S3-compatible cloud storages into jets3t.properties, which are<br>
mainly "s3service.s3-endpoint" and<br>
"s3service.s3-endpoint-http(s)-port". I put the properties file into<br>
hadoop conf directory and it worked. Maybe there is a config-loading<br>
in MapR, too. [1] In this case, you should properly configure your CS<br>
use your domain by cs_root_host in app.config. [2]<br>
<br>
If your Riak CS is not configured with your own domain, you can also<br>
configure MapReduce to use proxy setting like this:<br>
<br>
httpclient.proxy-host=localhost<br>
httpclient.proxy-port=8080<br>
<br>
I usually use this configuration when I play locally. Put them into<br>
jets3t.properties.<br>
<br>
Note that 1.4.x CS won't work properly if the output file is on CS<br>
again - it doesn't have copy API used in the final file copy after<br>
reduce. We have 1.5 pre-release package internally and testing. Sooner<br>
or later it will be released.<br>
<br>
[1] <a href="https://jets3t.s3.amazonaws.com/toolkit/configuration.html" target="_blank">https://jets3t.s3.amazonaws.com/toolkit/configuration.html</a><br>
[2] <a href="http://docs.basho.com/riakcs/latest/cookbooks/configuration/Configuring-Riak-CS/" target="_blank">http://docs.basho.com/riakcs/latest/cookbooks/configuration/Configuring-Riak-CS/</a><br>
<div class="HOEnZb"><div class="h5"><br>
On Fri, Aug 1, 2014 at 4:08 AM, John Daily <<a href="mailto:jdaily@basho.com">jdaily@basho.com</a>> wrote:<br>
> This blog post on configuring S3 clients to work with CS may be useful:<br>
> <a href="http://basho.com/riak-cs-proxy-vs-direct-configuration/" target="_blank">http://basho.com/riak-cs-proxy-vs-direct-configuration/</a><br>
><br>
> Sent from my iPhone<br>
><br>
> On Jul 31, 2014, at 2:53 PM, Andrew Stone <<a href="mailto:astone@basho.com">astone@basho.com</a>> wrote:<br>
><br>
> Hi Charles,<br>
><br>
> AFAIK we haven't ever tested Riak Cs with the MapR connector. However, if<br>
> MapR works with S3, you should just have to change the IP to point to a load<br>
> balancer in front of your local Riak CS cluster. I'm unaware of how to<br>
> change that setting in MapR though. It seems like a question for them and<br>
> not Basho.<br>
><br>
> -Andrew<br>
><br>
><br>
> On Wed, Jul 30, 2014 at 5:16 PM, Charles Shah <<a href="mailto:find.chuck.at@gmail.com">find.chuck.at@gmail.com</a>><br>
> wrote:<br>
>><br>
>> Hi,<br>
>><br>
>> I would like to use MapR with Riak CS for hadoop map reduce jobs. My code<br>
>> is currently referring to objects using s3n:// urls.<br>
>> I'd like to be able to have the hadoop code on MapR point to the Riak CS<br>
>> cluster using the s3 url.<br>
>> Is there a proxy or hostname setting in hadoop to be able to route the s3<br>
>> url to the riak cs cluster ?<br>
>><br>
>> Thanks<br>
>><br>
>><br>
>> _______________________________________________<br>
>> riak-users mailing list<br>
>> <a href="mailto:riak-users@lists.basho.com">riak-users@lists.basho.com</a><br>
>> <a href="http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com" target="_blank">http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com</a><br>
>><br>
><br>
> _______________________________________________<br>
> riak-users mailing list<br>
> <a href="mailto:riak-users@lists.basho.com">riak-users@lists.basho.com</a><br>
> <a href="http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com" target="_blank">http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com</a><br>
><br>
><br>
> _______________________________________________<br>
> riak-users mailing list<br>
> <a href="mailto:riak-users@lists.basho.com">riak-users@lists.basho.com</a><br>
> <a href="http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com" target="_blank">http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com</a><br>
><br>
<br>
<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
Kota UENISHI / @kuenishi<br>
Basho Japan KK<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
riak-users mailing list<br>
<a href="mailto:riak-users@lists.basho.com">riak-users@lists.basho.com</a><br>
<a href="http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com" target="_blank">http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com</a><br>
</div></div></blockquote></div><br></div>