Cassandra timeout cqlsh query large(ish) amount of data

前端 未结 4 1952
一整个雨季
一整个雨季 2021-01-03 21:36

I\'m doing a student project involving building and querying a Cassandra data cluster.

When my cluster load was light ( around 30GB ) my queries ran without a probl

4条回答
  •  天涯浪人
    2021-01-03 21:40

    To change the client timeout limit in Apache Cassandra, there are two techniques:

    Technique 1: This is a good technique:

    1. Navigate to the following hidden directory under the home folder: (Create the hidden directory if not available)
    
        $ pwd
        ~/.cassandra
    
    
    2. Modify the file cqlshrc in it to an appropriate time in seconds: (Create the file if not available)
    
        Original Setting:
    
            $ more cqlshrc
            [connection]
            client_timeout = 10
            # Can also be set to None to disable:
            # client_timeout = None
            $
    
        New Setting:
    
            $ vi cqlshrc
            $ more cqlshrc
            [connection]
            client_timeout = 3600
            # Can also be set to None to disable:
            # client_timeout = None
            $
    
        Note: Here time is in seconds. Since, we wanted to increase the timeout to one hour. Hence, we have set it to 3600 seconds.
    

    Technique 2: This is not a good technique since, you are changing the setting in the client program (cqlsh) itself. Note: If you have already changed using technique 1 - then it will override the time specified using technique 2. Since, profile settings have highest priority.

    1. Navigate to the path where cqlsh program is located. This you can find using the which command:
    
        $ which cqlsh
        /opt/apache-cassandra-2.1.9/bin/cqlsh
        $ pwd
        /opt/apache-cassandra-2.1.9/bin
        $ ls -lrt cqlsh
        -rwxr-xr-x 1 abc abc 93002 Nov  5 12:54 cqlsh
    
    
    2. Open the program cqlsh and modify the time specified using the client_timeout variable. Note that time is specified in seconds.
    $ vi cqlsh
    
    In __init__ function:
        def __init__(self, hostname, port, color=False,
                     username=None, password=None, encoding=None, stdin=None, tty=True,
                     completekey=DEFAULT_COMPLETEKEY, use_conn=None,
                     cqlver=DEFAULT_CQLVER, keyspace=None,
                     tracing_enabled=False, expand_enabled=False,
                     display_time_format=DEFAULT_TIME_FORMAT,
                     display_float_precision=DEFAULT_FLOAT_PRECISION,
                     max_trace_wait=DEFAULT_MAX_TRACE_WAIT,
                     ssl=False,
                     single_statement=None,
                     client_timeout=10,
                     connect_timeout=DEFAULT_CONNECT_TIMEOUT_SECONDS):
    
    In options.client_timeout setting:
        options.client_timeout = option_with_default(configs.get, 'connection', 'client_timeout', '10')
    
    You can modify at both these places. The second line picks up client_timeout information from the cqlshrc file.
    

提交回复
热议问题