Skip to content

Create DSE without a /conf folder #749

@gfelot

Description

@gfelot

Trying to build a DSE cluster :
ccm create --dse dse68 -v 6.8.3 --dse-username=test --dse-password=test -n 3

Then starting : ccm start

Traceback (most recent call last):
  File "/opt/homebrew/bin/ccm", line 112, in <module>
    cmd.run()
  File "/opt/homebrew/Cellar/ccm/3.1.5_3/libexec/lib/python3.11/site-packages/ccmlib/cmds/cluster_cmds.py", line 503, in run
    if self.cluster.start(no_wait=self.options.no_wait,
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/ccm/3.1.5_3/libexec/lib/python3.11/site-packages/ccmlib/dse_cluster.py", line 78, in start
    started = super(DseCluster, self).start(no_wait, verbose, wait_for_binary_proto, wait_other_notice, jvm_args, profile_options, quiet_start=quiet_start, allow_root=allow_root, timeout=180)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/ccm/3.1.5_3/libexec/lib/python3.11/site-packages/ccmlib/cluster.py", line 416, in start
    node.watch_log_for(start_message, timeout=kwargs.get('timeout',60), process=p, verbose=verbose, from_mark=mark)
  File "/opt/homebrew/Cellar/ccm/3.1.5_3/libexec/lib/python3.11/site-packages/ccmlib/node.py", line 510, in watch_log_for
    raise TimeoutError(time.strftime("%d %b %Y %H:%M:%S", time.gmtime()) + " [" + self.name + "] Missing: " + str([e.pattern for e in tofind]) + ":\n" + reads[:50] + ".....\nSee {} for remainder".format(filename))
ccmlib.node.TimeoutError: 16 Mar 2023 08:36:43 [node1] Missing: ['Starting listening for CQL clients']:
INFO  [main] 2023-03-16 09:33:44,992  DseModule.ja.....
See system.log for remainder

Looking at the logs in .ccm/dse68/logs/system.log

INFO  [main] 2023-03-16 09:33:45,345  DatabaseDescriptor.java:676 - DiskAccessMode is standard, indexAccessMode is standard, commitlogAccessMode is standard
INFO  [main] 2023-03-16 09:33:45,346  DatabaseDescriptor.java:1171 - Detected max direct memory 15.756GiB and max heap 504.000MiB
INFO  [main] 2023-03-16 09:33:45,347  DatabaseDescriptor.java:1209 - Using file cache of 7.878GiB, 50% of max direct memory
INFO  [main] 2023-03-16 09:33:45,347  DatabaseDescriptor.java:1225 - Using direct reads cache of 40.000MiB, refer to the the direct_reads_size_in_mb property
INFO  [main] 2023-03-16 09:33:45,348  DatabaseDescriptor.java:711 - Global memtable memory threshold is enabled at 126 MiB
ERROR [main] 2023-03-16 09:33:45,398  DseModule.java:109 - Exiting...
com.google.inject.CreationException: Unable to create injector, see the following errors:

1) An exception was caught and reported. Message: metadata directory '/var/lib/cassandra/metadata' or, if it does not already exist, an existing parent directory of it, is not readable and writable for the DSE. Check file system and configuration.
  at com.datastax.bdp.DseModule.configure(Unknown Source)

1 error
	at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:466)
	at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:155)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
	at com.google.inject.Guice.createInjector(Guice.java:96)
	at com.google.inject.Guice.createInjector(Guice.java:73)
	at com.google.inject.Guice.createInjector(Guice.java:62)
	at com.datastax.bdp.ioc.DseInjector.get(DseInjector.java:36)
	at com.datastax.bdp.DseModule.main(DseModule.java:103)
Caused by: org.apache.cassandra.exceptions.ConfigurationException: metadata directory '/var/lib/cassandra/metadata' or, if it does not already exist, an existing parent directory of it, is not readable and writable for the DSE. Check file system and configuration.
	at org.apache.cassandra.config.DatabaseDescriptor.resolveAndCheckDirectory(DatabaseDescriptor.java:1267)
	at org.apache.cassandra.config.DatabaseDescriptor.applySimpleConfig(DatabaseDescriptor.java:730)
	at org.apache.cassandra.config.DatabaseDescriptor.applyAll(DatabaseDescriptor.java:569)
	at org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:233)
	at org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:253)
	at com.datastax.bdp.DseCoreModule.<init>(DseCoreModule.java:84)
	at com.datastax.bdp.DseModule.getRequiredModules(DseModule.java:163)
	at com.datastax.bdp.server.AbstractDseModule.configure(AbstractDseModule.java:27)
	at com.datastax.bdp.DseModule.configure(DseModule.java:89)
	at com.google.inject.AbstractModule.configure(AbstractModule.java:62)
	at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
	at com.google.inject.spi.Elements.getElements(Elements.java:110)
	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
	... 5 common frames omitted

Everything ccm do must be in the .ccm folder.

I wanted to check the conf folder but it's not here:

tree -L 2
.
├── cluster.conf
├── node1
│   ├── bin
│   ├── commitlogs
│   ├── data
│   ├── keys
│   ├── logs
│   ├── node.conf
│   ├── resources
│   └── saved_caches
├── node2
│   ├── bin
│   ├── commitlogs
│   ├── data
│   ├── keys
│   ├── logs
│   ├── node.conf
│   ├── resources
│   └── saved_caches
└── node3
    ├── bin
    ├── commitlogs
    ├── data
    ├── keys
    ├── logs
    ├── node.conf
    ├── resources
    └── saved_caches

Creating an OSS C* cluster with : ccm create test -v 4.1.0 -n 3

The /conf folder is here.

tree -L 2
.
├── cluster.conf
├── node1
│   ├── bin
│   ├── commitlogs
│   ├── conf
│   ├── data0
│   ├── hints
│   ├── logs
│   ├── node.conf
│   └── saved_caches
├── node2
│   ├── bin
│   ├── commitlogs
│   ├── conf
│   ├── data0
│   ├── hints
│   ├── logs
│   ├── node.conf
│   └── saved_caches
└── node3
    ├── bin
    ├── commitlogs
    ├── conf
    ├── data0
    ├── hints
    ├── logs
    ├── node.conf
    └── saved_caches

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions