question

rohithsolomon avatar image
rohithsolomon asked Erick Ramirez edited

sstableloader fails with No LoginModules configured for DseClient

Team:

While running SSTABLELOADER I see the below error:

All host(s) tried for query failed (tried: /192.168.56.101:9042 (com.datastax.driver.core.exceptions.ConnectionException: [/192.168.56.101:9042] Unexpected error during transport initialization (java.lang.RuntimeException: javax.security.auth.login.LoginException: No LoginModules configured for DseClient)))
com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /192.168.56.101:9042 (com.datastax.driver.core.exceptions.ConnectionException: [/192.168.56.101:9042] Unexpected error during transport initialization (java.lang.RuntimeException: javax.security.auth.login.LoginException: No LoginModules configured for DseClient)))

Searching in Google landed me hits related to Kerberos based authentication and port issues:

> I haven't enable Kerberos based authentication. I followed instructions in https://docs.datastax.com/en/security/6.7/security/Auth/secEnableDseAuthenticator.html

authentication_options:
    enabled: true
    default_scheme: internal

I see the following line uncommented in DSE.YAML file. Looks like dafault settings:

kerberos_options:
    keytab: resources/dse/conf/dse.keytab
    service_principal: dse/_HOST@REALM
    http_principal: HTTP/_HOST@REALM
    qop: auth

> Port 9042 looks good

theowl@c-node2:/etc/dse$ netstat -anp | grep 9042
tcp        0      0 192.168.56.101:9042     0.0.0.0:*               LISTEN      -

The command I used:

theowl@c-node2:/etc/dse$ sudo sh -c 'sstableloader -d 192.168.56.101 /var/lib/cassandra/data/killr_video/user_by_email-*'

DSE Version:

DSE 6.7.8

Any help is highly appreciated.

sstableloader
1 comment
10 |1000

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

rohithsolomon avatar image rohithsolomon commented ·

Just curious, is this related to some config settings in one of the following:

-rwxr-xr-x 1 cassandra cassandra  1258 Apr 17 16:03 cqlshrc.sample.ssl
-rwxr-xr-x 1 cassandra cassandra  1210 Apr 17 16:03 cqlshrc.sample.kerberos_ssl
-rwxr-xr-x 1 cassandra cassandra   975 Apr 17 16:03 cqlshrc.sample.kerberos
-rw-r--r-- 1 cassandra cassandra  6969 Apr 17 16:03 cqlshrc.sample
-rwxr-xr-x 1 cassandra cassandra  1381 Apr 17 16:03 cqlshrc.default
-rw-r--r-- 1 cassandra cassandra   148 Apr 17 16:03 cassandra-jaas.config


0 Likes 0 ·

1 Answer

Erick Ramirez avatar image
Erick Ramirez answered Erick Ramirez edited

You'll need to provide login credentials when you have authentication enabled.

For example:

$ sstableloader -u cass_role -pw some_password -d host_ip /path/to/ks_name/table_name/

For more info, see the docs on sstableloader utility and Providing credentials on the command line. Cheers!

[CORRECTION] Use the -pw flag when specifying the password.

2 comments Share
10 |1000

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

rohithsolomon avatar image rohithsolomon commented ·

Hey @Erick Ramirez thanks for the reply. I think I used -u and -p initially and that failed. Looks like we should user -pw flag instead of -p

We often use -p for passwords and that toppled me.

0 Likes 0 ·
Erick Ramirez avatar image Erick Ramirez ♦♦ rohithsolomon commented ·

Yes, you're right. It got me too! :facepalm:

I'll update my post. Cheers!

0 Likes 0 ·