luketillman / dse-docker Goto Github PK
View Code? Open in Web Editor NEWDataStax Enterprise running in a Docker Container
License: Apache License 2.0
DataStax Enterprise running in a Docker Container
License: Apache License 2.0
I am using luketillman/datastax-enterprise:5.0.4 image and when I try to telnet into solr's port from another container
telnet 172.18.0.2 8983
telnet: can't connect to remote host (172.18.0.2): Connection refused
The command I am using in my compose is
command: [ -g -s -k ]
I think the solr is not running in that image
Update the description.md
to include:
It would be good to both document binding services to host and reference your blog article on how to expose dse-docker services to host in the README.md.
I am working with the 5.0.5 version and start it up as an analytics cluster. I create a simple key space and table with key and value pairs. I can open the spark command line and issue command but as soon as it needs to return results the CLI quits responding and no results are every returned.
Is there a simple config here that I am missing?
Thanks
Hi,
First, Thanks for your great docker. We are missing one variable that is a great to have:
DATA_FILE_DIRECTORIES
This will enable us to use multi volumes for Cassandra.
Thanks,
Rabie
@LukeTillman Thanks for this excellent docker image. Superb! I am trying to use Jupyter or Zeppelin on Spark, do you have an idea on how I can accomplish this?
Hi Luke,
just came across an issue with the directories for spark. The service just stops because of missing directories for Spark. See below the exception message.
I were able to fix it if I add /var/lib/spark/worker /var/lib/spark/rdd to the dockerfile where the directories are created.
Thanks,
Negib
Version: luketillman/datastax-enterprise:5.1.4
ERROR [main] 2017-10-21 15:25:22,092 DseDaemon.java:499 - Unable to start DSE server.
com.datastax.bdp.plugin.PluginManager$PluginActivationException: Unable to activate plugin com.datastax.bdp.plugin.SparkPlugin
at com.datastax.bdp.plugin.PluginManager.activateDirect(PluginManager.java:422) ~[dse-core-5.1.4.jar:5.1.4]
at com.datastax.bdp.plugin.PluginManager.activate(PluginManager.java:208) ~[dse-core-5.1.4.jar:5.1.4]
at com.datastax.bdp.plugin.PluginManager.preStart(PluginManager.java:104) ~[dse-core-5.1.4.jar:5.1.4]
at com.datastax.bdp.server.DseDaemon.preStart(DseDaemon.java:522) ~[dse-core-5.1.4.jar:5.1.4]
at com.datastax.bdp.server.DseDaemon.start(DseDaemon.java:492) ~[dse-core-5.1.4.jar:5.1.4]
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:614) [cassandra-all-3.11.0.1900.jar:3.11.0.1900]
at com.datastax.bdp.DseModule.main(DseModule.java:93) [dse-core-5.1.4.jar:5.1.4]
Caused by: com.datastax.bdp.plugin.SparkPlugin$$anon$1: Spark Plugin requires the Spark directories to be created with rwx permissions for dse. The following problems have been found: /var/lib/spark/worker is missing, /var/lib/spark/rdd is missing. Please fix these problems and start DSE again
Unable to start DSE server: Unable to activate plugin com.datastax.bdp.plugin.SparkPlugin
com.datastax.bdp.plugin.PluginManager$PluginActivationException: Unable to activate plugin com.datastax.bdp.plugin.SparkPlugin
at com.datastax.bdp.plugin.PluginManager.activateDirect(PluginManager.java:422)
at com.datastax.bdp.plugin.PluginManager.activate(PluginManager.java:208)
at com.datastax.bdp.plugin.PluginManager.preStart(PluginManager.java:104)
at com.datastax.bdp.server.DseDaemon.preStart(DseDaemon.java:522)
at com.datastax.bdp.server.DseDaemon.start(DseDaemon.java:492)
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:614)
at com.datastax.bdp.DseModule.main(DseModule.java:93)
Caused by: com.datastax.bdp.plugin.SparkPlugin$$anon$1: Spark Plugin requires the Spark directories to be created with rwx permissions for dse. The following problems have been found: /var/lib/spark/worker is missing, /var/lib/spark/rdd is missing. Please fix these problems and start DSE again
Exception (java.lang.RuntimeException) encountered during startup: com.datastax.bdp.plugin.PluginManager$PluginActivationException: Unable to activate plugin com.datastax.bdp.plugin.SparkPlugin
java.lang.RuntimeException: com.datastax.bdp.plugin.PluginManager$PluginActivationException: Unable to activate plugin com.datastax.bdp.plugin.SparkPlugin
at com.datastax.bdp.server.DseDaemon.start(DseDaemon.java:502)
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:614)
at com.datastax.bdp.DseModule.main(DseModule.java:93)
Caused by: com.datastax.bdp.plugin.PluginManager$PluginActivationException: Unable to activate plugin com.datastax.bdp.plugin.SparkPlugin
at com.datastax.bdp.plugin.PluginManager.activateDirect(PluginManager.java:422)
at com.datastax.bdp.plugin.PluginManager.activate(PluginManager.java:208)
at com.datastax.bdp.plugin.PluginManager.preStart(PluginManager.java:104)
at com.datastax.bdp.server.DseDaemon.preStart(DseDaemon.java:522)
at com.datastax.bdp.server.DseDaemon.start(DseDaemon.java:492)
... 2 more
Caused by: com.datastax.bdp.plugin.SparkPlugin$$anon$1: Spark Plugin requires the Spark directories to be created with rwx permissions for dse. The following problems have been found: /var/lib/spark/worker is missing, /var/lib/spark/rdd is missing. Please fix these problems and start DSE again
ERROR [main] 2017-10-21 15:25:22,095 CassandraDaemon.java:705 - Exception encountered during startup
java.lang.RuntimeException: com.datastax.bdp.plugin.PluginManager$PluginActivationException: Unable to activate plugin com.datastax.bdp.plugin.SparkPlugin
at com.datastax.bdp.server.DseDaemon.start(DseDaemon.java:502) ~[dse-core-5.1.4.jar:5.1.4]
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:614) ~[cassandra-all-3.11.0.1900.jar:3.11.0.1900]
at com.datastax.bdp.DseModule.main(DseModule.java:93) [dse-core-5.1.4.jar:5.1.4]
Caused by: com.datastax.bdp.plugin.PluginManager$PluginActivationException: Unable to activate plugin com.datastax.bdp.plugin.SparkPlugin
at com.datastax.bdp.plugin.PluginManager.activateDirect(PluginManager.java:422) ~[dse-core-5.1.4.jar:5.1.4]
at com.datastax.bdp.plugin.PluginManager.activate(PluginManager.java:208) ~[dse-core-5.1.4.jar:5.1.4]
at com.datastax.bdp.plugin.PluginManager.preStart(PluginManager.java:104) ~[dse-core-5.1.4.jar:5.1.4]
at com.datastax.bdp.server.DseDaemon.preStart(DseDaemon.java:522) ~[dse-core-5.1.4.jar:5.1.4]
at com.datastax.bdp.server.DseDaemon.start(DseDaemon.java:492) ~[dse-core-5.1.4.jar:5.1.4]
... 2 common frames omitted
Caused by: com.datastax.bdp.plugin.SparkPlugin$$anon$1: Spark Plugin requires the Spark directories to be created with rwx permissions for dse. The following problems have been found: /var/lib/spark/worker is missing, /var/lib/spark/rdd is missing. Please fix these problems and start DSE again
INFO [StorageServiceShutdownHook] 2017-10-21 15:25:22,118 DseDaemon.java:892 - DSE shutting down...
INFO [StorageServiceShutdownHook] 2017-10-21 15:25:22,120 PluginManager.java:128 - All plugins predeactivated.
INFO [StorageServiceShutdownHook] 2017-10-21 15:25:26,549 MessageServer.java:129 - internode-messaging message server finished shutting down.
INFO [StorageServiceShutdownHook] 2017-10-21 15:25:30,578 MessageServer.java:129 - internode-messaging message server finished shutting down.
INFO [StorageServiceShutdownHook] 2017-10-21 15:25:30,579 HintsService.java:220 - Paused hints dispatch
INFO [StorageServiceShutdownHook] 2017-10-21 15:25:30,585 Gossiper.java:1541 - Announcing shutdown
INFO [StorageServiceShutdownHook] 2017-10-21 15:25:30,588 StorageService.java:2318 - Node /10.11.12.100 state jump to shutdown
INFO [StorageServiceShutdownHook] 2017-10-21 15:25:32,589 MessagingService.java:984 - Waiting for messaging service to quiesce
INFO [ACCEPT-/10.11.12.100] 2017-10-21 15:25:32,591 MessagingService.java:1338 - MessagingService has terminated the accept() thread
INFO [StorageServiceShutdownHook] 2017-10-21 15:25:33,218 HintsService.java:220 - Paused hints dispatch
INFO [StorageServiceShutdownHook] 2017-10-21 15:25:33,273 PluginManager.java:139 - All plugins are stopped.
INFO [StorageServiceShutdownHook] 2017-10-21 15:25:33,274 DseDaemon.java:971 - DSE shutdown complete.
Hello Luke,
could you provide a tag latest in dockerhub? Kitematic requires that tag to be used.
Btw. thank you for your work ๐
Greetings
Knerd
I am trying to figure out how to turn analytics on. It seems like only cassandra is turned on by default. What am I missing?
Given a container with -g -s (Graph and Solr),
When you stop it (docker stop)
When you restart it (docker start)
Then DSE is in Cassandra mode (no Solr neither Graph)
Regards, J
As per title.
Is it possible to run cassandra-stress? I tried docker exec -it my-dse cassandra-stress similar to your example on running nodetool.
Thank you.
I started a search node and I'm following this documentation for running Solr queries https://docs.datastax.com/en/datastax_enterprise/5.0/datastax_enterprise/srch/queriesCql.html but when I try to run Solr queries I get
Error from server: code=2200 [Invalid query] message="Undefined name solr_query in where clause...
I'm trying to find my solrconfig.xml to see if Solr queries are enabled on the node but I don't see the solrconfig.xml file in the Solr conf directory. Am I doing something wrong?
I've noticed that when I start dse with Graph enabled (ex. by adding -k -g -s) I still can't connect to it via the DataStax Studio. Ex. I'm getting "All DSE gremlin server hosts are currently down or don't have the 'graph' workload set. Please, make sure that hosts are available and have the 'graph' workload and retry." I've exposed all ports to the host, connecting to 127.0.0.1:9042 and the "DSE Graph QuickStart" notebook.
I've noticed that the under /opt/dse/resources/dse/conf/dse.yaml
graph:
schema_mode: Production
can this be related? Should I somehow replace this config file?
As per title.
PR . #26
Hey, Docker now supports health-checks, which are extremely useful for DSE.
Any thoughts before i implement them?
Currently, the sed matches and replaces the seeds configuration only on the first run when the seeds is set to 127.0.0.1.
Considering the use case for this image is development, it is very likely that the container will not always be allocated the same ip. If the seeds ip is not correct, gossip will fail and cassandra will shutdown.
Proposed solution: #14
Right now, downloading DSE is something that happens outside of the Dockerfile
since downloading requires credentials and we don't want to bake creds into the final image (i.e. we don't want them available to docker history
). This sucks because we then have to use an ADD
instruction in the Dockerfile
to add the downloaded tarball from the build context, and then later have to chown
the unpacked tarball files resulting in an extra layer that effectively doubles the size of the overall image.
In order to remove that extra layer, we want to be able to download, unpack, and chown in a single RUN
instruction. And to do that, we need some way to download without baking credentials into the image. My (admittedly hacky) proposed solution is to:
.netrc
credentials file we use to download via a local HTTP server during the docker build. (For Travis builds, this file is already encrypted and used when downloading before kicking off the actual build).curl
to download those credentials to a temp directory, then use those credentials to download DSE to that same temp directory.RUN
instruction where we're downloading, unpack, chown, and then delete the temp directory so that we don't end up with credentials or other downloaded artifacts in the finished image.Hi Luke,
I am trying to assign CPU sets for my docker container using --cpusets option in docker.
I am hitting this assertion error. since the math is not adding up. Any way we can ignore this check ?
ERROR [main] 2017-08-24 05:18:08,056 DseModule.java:114 - Unable to start server. Exiting...
java.lang.AssertionError: cpuDetails.size= 3 != sockets: 2 * coresPerSocket: 1 * threadsPerCore: 2
CpuInfo{socketId=0, coreId=2, threadId=0}
CpuInfo{socketId=1, coreId=1, threadId=0}
CpuInfo{socketId=0, coreId=2, threadId=1}
at com.datastax.bdp.tools.VanillaCpuLayout.<init>(VanillaCpuLayout.java:90) ~[dse-core-5.1.2.jar:5.1.2]
at com.datastax.bdp.tools.VanillaCpuLayout.fromCpuInfo(VanillaCpuLayout.java:191) ~[dse-core-5.1.2.jar:5.1.2]
at com.datastax.bdp.tools.VanillaCpuLayout.fromCpuInfo(VanillaCpuLayout.java:132) ~[dse-core-5.1.2.jar:5.1.2]
at com.datastax.bdp.tools.VanillaCpuLayout.fromCpuInfo(VanillaCpuLayout.java:126) ~[dse-core-5.1.2.jar:5.1.2]
at com.datastax.bdp.util.DseUtil.calculateThreadsPerCore(DseUtil.java:499) ~[dse-core-5.1.2.jar:5.1.2]
at com.datastax.bdp.config.DseConstants.<clinit>(DseConstants.java:14) ~[dse-core-5.1.2.jar:5.1.2]
at com.datastax.bdp.config.DseConfig.init(DseConfig.java:446) ~[dse-core-5.1.2.jar:5.1.2]
at com.datastax.bdp.DseCoreModule.<init>(DseCoreModule.java:83) ~[dse-core-5.1.2.jar:5.1.2]
at com.datastax.bdp.DseModule.getRequiredModules(DseModule.java:144) ~[dse-core-5.1.2.jar:5.1.2]
at com.datastax.bdp.server.AbstractDseModule.configure(AbstractDseModule.java:27) ~[dse-core-5.1.2.jar:5.1.2]
at com.datastax.bdp.DseModule.configure(DseModule.java:78) ~[dse-core-5.1.2.jar:5.1.2]
at com.google.inject.AbstractModule.configure(AbstractModule.java:62) ~[guice-4.0.jar:na]
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340) ~[guice-4.0.jar:na]
at com.google.inject.spi.Elements.getElements(Elements.java:110) ~[guice-4.0.jar:na]
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138) ~[guice-4.0.jar:na]
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104) ~[guice-4.0.jar:na]
at com.google.inject.Guice.createInjector(Guice.java:96) ~[guice-4.0.jar:na]
at com.google.inject.Guice.createInjector(Guice.java:73) ~[guice-4.0.jar:na]
at com.google.inject.Guice.createInjector(Guice.java:62) ~[guice-4.0.jar:na]
at com.datastax.bdp.ioc.DseInjector.get(DseInjector.java:34) ~[dse-core-5.1.2.jar:5.1.2]
at com.datastax.bdp.DseModule.main(DseModule.java:91) ~[dse-core-5.1.2.jar:5.1.2]
As per title.
Hi Luke,
the directory /var/lib/dsefs needs to be added in the Dockerfile for the versions DSE5.1 and DSE5.1.1
dsefs server cant start and therefor dse spark and spark-sql not working properly.
During startup I can see an exception notifying that dsefs directory cant be created. Permission denied. dse is trying to create it during startup under /var/lib/
-nm
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.