분류 전체보기

    RedHat 계열 리눅스에서 default jdk 버전 변경 방법

    JDK 8 -> JDK 11 변경 방법 (RedHat) 1. Install JDK 11 sudo dnf install java-11-openjdk-dev 2. 현재 환경 변수가 JDK 8을 바라보고 있음 java -version openjdk version "1.8.0_332" OpenJDK Runtime Environment (build 1.8.0_332-b09) OpenJDK 64-Bit Server VM (build 25.332-b09, mixed mode) 3. JDK 11 -> JDK8 버전 변경 (default java version 변경) sudo /usr/sbin/alternatives --config java ---- There are 2 programs which provide 'jav..

    Cassandra Column이 마지막으로 쓰인 시간 보는 방법

    select writetime({{VALUE}}) from {{TABLE} where key1 = {{KEY1} and key2 = {{KEY_2}}; primary key는 조회할 수 없고, value 만 가능함. writetime()으로 해당 컬럼이 마지막으로 쓰인 시간을 조회합니다. (컬럼 단위임) 데이터 변경되면 변경된 시간으로 변경됨 (정확히는 변경이 아니라, Cassandra 구조인 LSM Tree 동작 방식 상, append only형태로 구성되니 변경이 아니고, 신규 컬럼이 써지는 형태임

    [Cassandra] 테이블 단위 tombstone 최소 유지 시간 설정 변경 방법

    alter table {{TABLE}} with gc_grace_seconds = 864000; # 10일 (default)

    [Cassandra] 노드 임시 중지/영구 제거/재 추가 방법

    노드 임시 중지 (서버 점검 및 재시작 등) nodetool drain 이 명령어는 노드를 일시적으로 비활성 상태로 만들어 클러스터에서 안전하게 제거하지 않고도 유지하는 데 사용됩니다. 일반적으로 노드의 유지 보수 작업이나 장애 복구 작업 중에 사용됩니다 노드가 클러스터에서 쿼리 요청을 받지 않도록 하기 위해 읽기 및 쓰기 요청을 중지합니다. 노드가 다른 노드로부터 데이터를 받거나 복제하지 않도록 하기 위해 데이터 전송을 중지합니다. 노드가 클러스터와의 연결을 끊기 전에 남아 있는 쓰기 작업을 완료합니다. nodetool drain 명령어를 실행한 노드는 클러스터에서 제거되지 않고 유지됩니다. 이후 다시 활성화되거나 유지 보수 작업 완료 후 정상적으로 작동할 수 있습니다. 노드를 클러스터에서 영구 제거 ..

    [Cassandra] 언제 Minor Compaction이 일어날까?

    Compaction에 대한 내용은 다루지 않음. Cassandra Compaction 종류 Minor Compaction: 카산드라에서 자동으로 트리거링 해주는 컴팩션. Major Compaction: 수동으로 노드 내의 모든 SSTable을 대상으로 컴팩션을 실행 User Defined Compaction: 특정 SSTable 들을 대상으로 수동으로 컴팩션을 실행. UpgradeSSTables: SSTable들을 최신 버전으로 업데이트함. CleanUp: 해당 노드가 소유한 범위에 더이상 포함되지 않는 대상들을 제거. 노드을 증설하면, 리밸런싱이 일어나는데, 증설 이후, 기존 노드들에서 cleanup을 때려줘야 불필요한 데이터들이 삭제됨 등이 있다. Minor Compaction 트리거링 시점 이중 카..