Uploaded image for project: 'Apache Cassandra'
  1. Apache Cassandra
  2. CASSANDRA-7585

cassandra sstableloader connection refused with inter_node_encryption

Agile BoardAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 2.0.10, 2.1.1
    • Legacy/Tools
    • None
    • Normal

    Description

      cassandra sstableloader connection refused with inter_node_encryption

      When using sstableloader to import tables (cassandra 2.0.5) with inter-node encryption and client encryption enabled, I get a connection refused error

      I am using

      sstableloader -d $myhost -p 9160 -u cassandra -pw cassandra -ciphers TLS_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA -st JKS -tf org.apache.cassandra.thrift.SSLTransportFactory -ts /path/to/truststore -tspw <passwd> $fullpath/$table

      Errors out with

      Streaming session ID: 1bc395c0-fbb2-11e3-9812-73da15121373
      WARN 17:13:34,147 Failed attempt 1 to connect to

      Similar problem reported in cassandra 2.0.8 by another user
      http://stackoverflow.com/questions/24390604/cassandra-sstableloader-connection-refused-with-inter-node-encryption
      ==================
      Relevant cassandra.yaml snippet (with obfuscation)

      server_encryption_options:
      internode_encryption: all
      keystore:/path/to/keystore
      keystore_password: <passwd>
      truststore:/path/to/truststore
      truststore_password:<passwd>

      1. More advanced defaults below:
        protocol: TLS
        algorithm: SunX509
        store_type: JKS
        cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA]
        require_client_auth: true
      1. enable or disable client/server encryption.
        client_encryption_options:
        enabled: true
        keystore: /path/to/keystore
        keystore_password: <truststorepasswd>
        #require_client_auth: true
      2. Set trustore and truststore_password if require_client_auth is true
        truststore:/path/to/truststore
        truststore_password: <truststorepasswd>
      3. More advanced defaults below:
        protocol: TLS
        algorithm: SunX509
        store_type: JKS
        cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA]

      ======================

      Note that by setting inter-node encryption to "none" sstableloader works.. but setting it to "all" fails... It seems like sstableloader uses 7000 is my guess instead of using the ssl port 7001 for streaming/gossip.

      Attachments

        1. 7585-2.0.txt
          32 kB
          Yuki Morishita
        2. 7585-2.0-v2.txt
          38 kB
          Yuki Morishita
        3. sstableloader-help.txt
          4 kB
          Yuki Morishita

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            yukim Yuki Morishita Assign to me
            samnor Samphel Norden
            Yuki Morishita
            Marcus Eriksson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment