удаленная массовая загрузка sstableloader
Я пытаюсь понять, как загрузить данные из моментального снимка и почему я получаю эту ошибку при массовой загрузке. Локальный компьютер пытается подключиться к cassandra.mydomain.com. Cassandra.yaml - это yaml с удаленного сервера. Я получаю ту же ошибку с указанием --conf-path и без него
Спасибо за любой совет.
~/deploy/cassandra/bin/sstableloader -d cassandra.mydomain.com --conf-path /tmp/cassandra.yaml /local/.data/cassandra/data/test/timeserie_time_daily-dd247b092e883bffbfce8621eff3cc3e/snapshots/1634621703263
Exception in thread "main" org.apache.cassandra.exceptions.ConfigurationException: Expecting URI in variable: [cassandra.config]. Found[cassandra.yaml]. Please prefix the file with [file:///] for local files and [file://<server>/] for remote file
s. If you are executing this from an external tool, it needs to set Config.setClientMode(true) to avoid loading configuration.
at org.apache.cassandra.config.YamlConfigurationLoader.getStorageConfigURL(YamlConfigurationLoader.java:80)
at org.apache.cassandra.config.YamlConfigurationLoader.loadConfig(YamlConfigurationLoader.java:100)
at org.apache.cassandra.config.DatabaseDescriptor.loadConfig(DatabaseDescriptor.java:262)
at org.apache.cassandra.config.DatabaseDescriptor.toolInitialization(DatabaseDescriptor.java:180)
at org.apache.cassandra.config.DatabaseDescriptor.toolInitialization(DatabaseDescriptor.java:151)
at org.apache.cassandra.tools.BulkLoader.load(BulkLoader.java:53)
at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:48)
1 ответ
Как указано в исключении, вам необходимо предоставить правильный URL-адрес для
cassandra.yaml
.
Если вы используете YAML на локальном компьютере, вам нужно добавить к нему префикс
file:///
. Например:
$ sstableloader -f file:///path/to/cassandra.yaml
-d node1
ks_name/table_name
Если вы указываете YAML на удаленном компьютере, вам нужно добавить к нему префикс
file://host/
. Например:
$ sstableloader -f file://hostname_or_ip/path/to/cassandra.yaml
-d node1
ks_name/table_name