Hi Padma, I’m wondering if the issue is that I only have access to a subfolder in the s3 bucket. IE:
s3://bucket/folder1/folder2/folder3 <s3://bucket/folder1/folder2/folder3> I only have access to folder3. Might that be causing the issue? —C > On Oct 24, 2017, at 13:49, Padma Penumarthy <ppenumar...@mapr.com> wrote: > > Charles, can you try exactly what I did. > I did not do anything else other than enable the S3 plugin and change the > plugin > configuration like this. > > { > "type": "file", > "enabled": true, > "connection": "s3a://<bucket-name>", > "config": { > "fs.s3a.access.key": “XXXX", > "fs.s3a.secret.key": “YYYY" > }, > > > Thanks > Padma > > >> On Oct 24, 2017, at 10:06 AM, Charles Givre <cgi...@gmail.com >> <mailto:cgi...@gmail.com>> wrote: >> >> Hi everyone and thank you for your help. I’m still not able to connect to >> S3. >> >> >> Here is the error I’m getting: >> >> 0: jdbc:drill:zk=local> use s3; >> Error: RESOURCE ERROR: Failed to create schema tree. >> >> >> [Error Id: 57c82d90-2166-4a37-94a0-1cfeb0cdc4b6 on >> charless-mbp-2.fios-router.home:31010] (state=,code=0) >> java.sql.SQLException: RESOURCE ERROR: Failed to create schema tree. >> >> >> [Error Id: 57c82d90-2166-4a37-94a0-1cfeb0cdc4b6 on >> charless-mbp-2.fios-router.home:31010] >> at >> org.apache.drill.jdbc.impl.DrillCursor.nextRowInternally(DrillCursor.java:489) >> at >> org.apache.drill.jdbc.impl.DrillCursor.loadInitialSchema(DrillCursor.java:561) >> at >> org.apache.drill.jdbc.impl.DrillResultSetImpl.execute(DrillResultSetImpl.java:1895) >> at >> org.apache.drill.jdbc.impl.DrillResultSetImpl.execute(DrillResultSetImpl.java:61) >> at >> org.apache.calcite.avatica.AvaticaConnection$1.execute(AvaticaConnection.java:473) >> at >> org.apache.drill.jdbc.impl.DrillMetaImpl.prepareAndExecute(DrillMetaImpl.java:1100) >> at >> org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:477) >> at >> org.apache.drill.jdbc.impl.DrillConnectionImpl.prepareAndExecuteInternal(DrillConnectionImpl.java:181) >> at >> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:109) >> at >> org.apache.calcite.avatica.AvaticaStatement.execute(AvaticaStatement.java:121) >> at >> org.apache.drill.jdbc.impl.DrillStatementImpl.execute(DrillStatementImpl.java:101) >> at sqlline.Commands.execute(Commands.java:841) >> at sqlline.Commands.sql(Commands.java:751) >> at sqlline.SqlLine.dispatch(SqlLine.java:746) >> at sqlline.SqlLine.begin(SqlLine.java:621) >> at sqlline.SqlLine.start(SqlLine.java:375) >> at sqlline.SqlLine.main(SqlLine.java:268) >> Caused by: org.apache.drill.common.exceptions.UserRemoteException: RESOURCE >> ERROR: Failed to create schema tree. >> >> >> [Error Id: 57c82d90-2166-4a37-94a0-1cfeb0cdc4b6 on >> charless-mbp-2.fios-router.home:31010] >> at >> org.apache.drill.exec.rpc.user.QueryResultHandler.resultArrived(QueryResultHandler.java:123) >> at org.apache.drill.exec.rpc.user.UserClient.handle(UserClient.java:368) >> at org.apache.drill.exec.rpc.user.UserClient.handle(UserClient.java:90) >> at >> org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:274) >> at >> org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:244) >> at >> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) >> at >> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339) >> at >> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324) >> at >> io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:254) >> at >> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339) >> at >> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324) >> at >> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) >> at >> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339) >> at >> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324) >> at >> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:242) >> at >> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339) >> at >> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324) >> at >> io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86) >> at >> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339) >> at >> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324) >> at >> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:847) >> at >> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131) >> at >> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511) >> at >> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) >> at >> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) >> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) >> at >> io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111) >> at java.lang.Thread.run(Thread.java:745) >> 0: jdbc:drill:zk=local> >> >> >> Here is my conf.site <http://conf.site/> <http://conf.site/ >> <http://conf.site/>>.xml file: >> >> <property> >> <name>fs.s3.awsAccessKeyId</name> >> <value>XXX</value> >> </property> >> >> <property> >> <name>fs.s3.awsSecretAccessKey</name> >> <value> XXX </value> >> </property> >> <property> >> <name>fs.s3n.awsAccessKeyId</name> >> <value> XXX </value> >> </property> >> >> <property> >> <name>fs.s3n.awsSecretAccessKey</name> >> <value> XXX </value> >> </property> >> <property> >> <name>fs.s3a.awsAccessKeyId</name> >> <value> XXX </value> >> </property> >> >> <property> >> <name>fs.s3a.awsSecretAccessKey</name> >> <value> XXX </value> >> </property> >> >> And my config info: >> >> { >> "type": "file", >> "enabled": true, >> "connection": "s3://<my bucket>", >> "config": null, >> "workspaces": { >> "root": { >> "location": "/", >> "writable": false, >> "defaultInputFormat": null >> } >> }, >> >> I did copy jets3t-0.9.4.jar to the /jars/3rdparty path. Any debugging >> suggestions? >> —C >> >> >>> On Oct 20, 2017, at 15:55, Arjun kr <arjun...@outlook.com> wrote: >>> >>> Hi Charles, >>> >>> >>> I'm not aware of any such settings. As Padma mentioned in previous mail, It >>> works fine for me by following instructions in >>> https://drill.apache.org/docs/s3-storage-plugin/ . >>> >>> >>> Thanks, >>> >>> >>> Arjun >>> >>> >>> ________________________________ >>> From: Charles Givre <cgi...@gmail.com> >>> Sent: Friday, October 20, 2017 11:48 PM >>> To: user@drill.apache.org >>> Subject: Re: S3 Connection Issues >>> >>> Hi Arjun, >>> Thanks for your help. Are there settings in S3 that would prevent Drill >>> from connecting? I’ll try hdfs shell, but I am able to connect with the >>> CLI tool. My hunch is that there is a permission not set correctly on S3 >>> or I’m missing some config variable in Drill. >>> — C >>> >>> >>>> On Oct 20, 2017, at 14:12, Arjun kr <arjun...@outlook.com> wrote: >>>> >>>> Hi Charles, >>>> >>>> >>>> Any chance you can test s3 connectivity with other tools like hdfs shell >>>> or hive in case you haven't tried already (and these tools available)? >>>> This may help to identify if it is Drill specific issue. >>>> >>>> >>>> For connecting via hdfs , you may try below command. >>>> >>>> >>>> hadoop fs -Dfs.s3a.access.key="XXXX" -Dfs.s3a.secret.key="YYYYY" -ls >>>> s3a://<bucket-name>/ >>>> >>>> >>>> Enable DEBUG logging if needed. >>>> >>>> >>>> export HADOOP_ROOT_LOGGER=hadoop.root.logger=DEBUG,console >>>> >>>> >>>> Thanks, >>>> >>>> >>>> Arjun >>>> >>>> >>>> ________________________________ >>>> From: Padma Penumarthy <ppenumar...@mapr.com> >>>> Sent: Friday, October 20, 2017 3:00 AM >>>> To: user@drill.apache.org >>>> Subject: Re: S3 Connection Issues >>>> >>>> Hi Charles, >>>> >>>> I tried us-west-2 and it worked fine for me with drill built from latest >>>> source. >>>> I did not do anything special. >>>> Just enabled the S3 plugin and updated the plugin configuration like this. >>>> >>>> { >>>> "type": "file", >>>> "enabled": true, >>>> "connection": "s3a://<bucket-name>", >>>> "config": { >>>> "fs.s3a.access.key": “XXXX", >>>> "fs.s3a.secret.key": “YYYY" >>>> }, >>>> >>>> I am able to do show databases and also can query the parquet files I >>>> uploaded to the bucket. >>>> >>>> 0: jdbc:drill:zk=local> show databases; >>>> +---------------------+ >>>> | SCHEMA_NAME | >>>> +---------------------+ >>>> | INFORMATION_SCHEMA | >>>> | cp.default | >>>> | dfs.default | >>>> | dfs.root | >>>> | dfs.tmp | >>>> | s3.default | >>>> | s3.root | >>>> | sys | >>>> +---------------------+ >>>> 8 rows selected (2.892 seconds) >>>> >>>> >>>> Thanks >>>> Padma >>>> >>>> On Oct 18, 2017, at 9:18 PM, Charles Givre >>>> <cgi...@gmail.com<mailto:cgi...@gmail.com>> wrote: >>>> >>>> Hi Padma, >>>> The bucket is is us-west-2. I also discovered that some of the variable >>>> names in the documentation on the main Drill site are incorrect. Do I >>>> need to specify the region in the configuration somewhere? >>>> >>>> As an update, after discovering that the variable names are incorrect and >>>> that I didn’t have Jets3t installed properly, I’m now getting the >>>> following error: >>>> >>>> jdbc:drill:zk=local> show databases; >>>> Error: RESOURCE ERROR: Failed to create schema tree. >>>> >>>> >>>> [Error Id: e6012aa2-c775-46b9-b3ee-0af7d0b0871d on >>>> charless-mbp-2.fios-router.home:31010] >>>> >>>> (org.apache.hadoop.fs.s3.S3Exception) >>>> org.jets3t.service.S3ServiceException: Service Error Message. -- >>>> ResponseCode: 403, ResponseStatus: Forbidden, XML Error Message: <?xml >>>> version="1.0" >>>> encoding="UTF-8"?><Error><Code>SignatureDoesNotMatch</Code><Message>The >>>> request signature we calculated does not match the signature you provided. >>>> Check your key and signing method.</Message></Error> >>>> org.apache.hadoop.fs.s3.Jets3tFileSystemStore.get():175 >>>> org.apache.hadoop.fs.s3.Jets3tFileSystemStore.retrieveINode():221 >>>> >>>> Thanks, >>>> — C >>>> >>>> >>>> On Oct 19, 2017, at 00:14, Padma Penumarthy >>>> <ppenumar...@mapr.com<mailto:ppenumar...@mapr.com>> wrote: >>>> >>>> Which AWS region are you trying to connect to ? >>>> We have a problem connecting to regions which support only v4 signature >>>> since the version of hadoop we include in Drill is old. >>>> Last time I tried, using Hadoop 2.8.1 worked for me. >>>> >>>> Thanks >>>> Padma >>>> >>>> >>>> On Oct 18, 2017, at 8:14 PM, Charles Givre >>>> <cgi...@gmail.com<mailto:cgi...@gmail.com>> wrote: >>>> >>>> Hello all, >>>> I’m trying to use Drill to query data in an S3 bucket and running into >>>> some issues which I can’t seem to fix. I followed the various >>>> instructions online to set up Drill with S3, and put my keys in both the >>>> conf-site.xml and in the plugin config, but every time I attempt to do >>>> anything I get the following errors: >>>> >>>> >>>> jdbc:drill:zk=local> show databases; >>>> Error: SYSTEM ERROR: AmazonS3Exception: Status Code: 403, AWS Service: >>>> Amazon S3, AWS Request ID: 56D1999BD1E62DEB, AWS Error Code: null, AWS >>>> Error Message: Forbidden >>>> >>>> >>>> [Error Id: 65d0bb52-a923-4e98-8ab1-65678169140e on >>>> charless-mbp-2.fios-router.home:31010] (state=,code=0) >>>> 0: jdbc:drill:zk=local> show databases; >>>> Error: SYSTEM ERROR: AmazonS3Exception: Status Code: 403, AWS Service: >>>> Amazon S3, AWS Request ID: 4D2CBA8D42A9ECA0, AWS Error Code: null, AWS >>>> Error Message: Forbidden >>>> >>>> >>>> [Error Id: 25a2d008-2f4d-4433-a809-b91ae063e61a on >>>> charless-mbp-2.fios-router.home:31010] (state=,code=0) >>>> 0: jdbc:drill:zk=local> show files in s3.root; >>>> Error: SYSTEM ERROR: AmazonS3Exception: Status Code: 403, AWS Service: >>>> Amazon S3, AWS Request ID: 2C635944EDE591F0, AWS Error Code: null, AWS >>>> Error Message: Forbidden >>>> >>>> >>>> [Error Id: 02e136f5-68c0-4b47-9175-a9935bda5e1c on >>>> charless-mbp-2.fios-router.home:31010] (state=,code=0) >>>> 0: jdbc:drill:zk=local> show schemas; >>>> Error: SYSTEM ERROR: AmazonS3Exception: Status Code: 403, AWS Service: >>>> Amazon S3, AWS Request ID: 646EB5B2EBCF7CD2, AWS Error Code: null, AWS >>>> Error Message: Forbidden >>>> >>>> >>>> [Error Id: 954aaffe-616a-4f40-9ba5-d4b7c04fe238 on >>>> charless-mbp-2.fios-router.home:31010] (state=,code=0) >>>> >>>> I have verified that the keys are correct but using the AWS CLI and >>>> downloaded some of the files, but I’m kind of at a loss as to how to >>>> debug. Any suggestions? >>>> Thanks in advance, >>>> — C