Hi Ron,

I don't think anyone on the Drill team has access to an OpenShift environment. 
Let's see if we can use your work to ensure that the Docker image supports 
OpenShift in the future.

Please explain a bit more about the file permissions issue. Is the file owned 
by a user other than the one that runs Drill? If so, sounds like a bug, unless 
OpenShift uses a different user than plain Docker would.


I believe our standard image is for building Drill. What you want is an image 
that uses an existing Drill build. The "SNAPSHOT" refers to the current master 
version of the code, which is probably not what you want. You want the released 
1.17 binaries since you want to use, not develop, Drill.

Question for the team: do we have a separate image for folks who want to run 
the latest 1.17 release?

Short term, the best solution would be if you can build an image based on the 
existing Drill image rather than making a copy of the Dockerfile. If we 
understand the original file permission problem, perhaps we can find a way to 
fix that.

Are you looking to run Drill in embedded mode (Sqlline in a container, you ssh 
into the container; config lost on Drill shutdown) or in server mode (config 
stored in ZK so it persists across container runs)?


Thanks,
- Paul

 

    On Tuesday, January 28, 2020, 9:41:28 PM PST, Ron Cecchini 
<[email protected]> wrote:  
 
 
Hi, all.  Drill and OpenShift newbie here.

Has anyone successfully deployed a Drill Docker container to an OpenShift 
environment?

While there is information about Drill Docker, there seems to be zero 
information about OpenShift in particular.

Per the instructions at drill.apache.org/docs/running-drill-on-docker, I pulled 
the Drill Docker image from Docker Hub, and then pushed it to our OpenShift 
environment.  But when I tried to deploy it, I immediately ran into an error 
about /opt/drill/conf/drill-override.conf not being readable.

I understand why the problem is happening (because of who OpenShift runs the 
container as), so I downloaded the source from GitHub and modified the 
Dockerfile to include:

    RUN chgrp -R 0 /opt/drill && chmod -R g=u /opt/drill

so that all of /opt/drill would be available to everyone.  But then 'docker 
build' kept failing, giving the error:

    Non-resolvable parent POM for org.apache.drill:drill-root:1.18.0-SNAPSHOT:
    Could not transfer artifact org.apache:apache:pom:21

I tried researching that error but couldn't figure out what was going on.  So I 
finally decided to start trying to mount persistent volumes, creating one PV 
for /opt/drill/conf (and then copying the default drill-override.conf there) 
and one PV for /opt/drill/log.

Now the container gets much further, but eventually fails on something Hadoop 
related.  I'm not trying to do anything with Hadoop, so I don't know what 
that's about, but it says I don't have HADOOP_HOME set.

Hopefully I can figure out the remaining steps I need (an environment variable? 
 more configs?), but I was wondering if anyone else had already successfully 
figured out how to deploy to OpenShift, or might know why the 'docker build' 
fails with that error?

For what it's worth, I copied over only that drill-override.conf and nothing 
else.  And I did not set any Drill environment variables in OpenShift.  I'm 
basically trying to run the "vanilla" Drill Docker as-is.

Thanks for any help!

Ron
  

Reply via email to