메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


1. 다운로드

  http://cassandra.apache.org/download/

  http://www.apache.org/dyn/closer.lua/cassandra/3.4/apache-cassandra-3.4-bin.tar.gz


2. 압축풀기

  tar xvfz apache-cassandra-3.4-bin.tar.gz


3. 링크생성

  ln -s apache-cassandra-3.4 cassandra


4. 환경변수 추가(카산드라가 설치되는 모든 서버에 설정함, root로 실행)

   vi /etc/profile


   #classandra

   export CASSANDRA_HOME=$HOME/cassandra


   *변경사항 반영 

   source /etc/profile


5. ./conf/cassandra.yaml 정보수정(각 노드 모두 수정필요함)

  가. cluster_name: 'GSDA Cluster'

  나. data_file_directories:

    - /data/cassandra/data

  다. commitlog_directory: /data/cassandra/commitlog

  라. saved_caches_directory: /data/cassandra/saved_caches

  라-1. hints_directory: /data/cassandra/hints

  마. listen_address: sda1  (각 서버에 고유한 주소지정)

  바. rpc_address: 0.0.0.0(대표(마스타) 서버는 0.0.0.0으로 하고 나머지 서버도 모두 0.0.0.0으로 지정)

  사. endpoint_snitch: RackInferringSnitch

  아. broadcast_rpc_address: sda1 (각 서버에 고유한 주소지정) <- 1.2.11에서는 지원되지 않음

  자. - seeds: "sda1"로 지정함(cluster에서 대표가 되는 서버의 주소로 지정함)

  차. start_rpc: true로 변경함(defalt는 false) <= 활성화 시켜줘야 client program에서 접근하여 명령을 실행할 수 있다.

       (혹은 start_rpc값을 변경하지 않고, bin/nodetool enablethrift명령를 실행하여 직접 작동시킬 수도 있다)

       => 대표(마스타)서버에서만 실행할것(?)

  카. listen_on_broadcast_address: true

  하. broadcast_address: gsda1(각 서버에 고유한 주소지정)


5-1. 각 서버에 scp로 복사(서버에 특화된 설정값(listen_address, broadcast_address, broadcast_rpc_address)을 바꿀것)

scp -r -P 22 apache-cassandra-3.10 root@gsda2:$HOME

scp -r -P 22 apache-cassandra-3.10 root@gsda3:$HOME

scp -r -P 22 apache-cassandra-3.10 root@gsda4:$HOME

scp -r -P 22 apache-cassandra-3.10 root@gsda5:$HOME

6. cassandra기동(설치된 모든 서버에서 실행, -f는 background가 아닌 foreground로 기동,-R을쓰면 root로 기동할 수 있음(비추천))

  bin/cassandra -R (필요시 -f)


 * cassandra내리기 : ps -ef | grep cassandra해서 pid를 찾고 kill pid로 데몬을 죽여서 cassandra데몬을 내린다.


7. 각종 정보 확인

  가. 디스크 강제 쓰기 : bin/nodetool -h localhost flush  (-h localhost 생략가능)

  나. 요청작업 상태보기 : bin/nodetool -h localhost tpstats (-h localhost 생략가능)

  다. thrift 상태보기 : bin/nodetool -h localhost statusthrift (-h localhost 생략가능)

  라. cfg 상태보기(db크기등) : bin/nodetool -h localhost cfstats (-h localhost 생략가능)

  마. 클러스터 구성 정보 : bin/nodetool status (rpc_address를 0.0.0.0으로 지정햔 서버에서 명령을 주면 데몬이 죽어버림(?))

root@gsda4:~/cassandra/bin# nodetool status
Datacenter: 251
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address          Load       Tokens       Owns (effective)  Host ID                               Rack
UN  104.251.212.191  282.33 KiB  256          49.1%             1de4b4b4-ac78-45c0-9009-051fd09634e6  212
UN  104.251.212.146  219.62 KiB  256          48.0%             0ec06870-f209-4dd8-8013-cc0fe101e57c  212
UN  104.251.212.192  206.73 KiB  256          50.5%             95f9daf7-6b66-435f-9d0d-9bb0b81e4327  212
UN  104.251.212.183  311.93 KiB  256          52.4%             4060b53b-c4e1-42ef-a166-81c44f0bceaf  212

* jps로 데몬이 확인되지 않을 수 있는데 이때는 "ps -ef |grep cass"를 이용하여 확인한다.

* cassandra관련 포트

 7199 JMX monitoring port

 7000 Inter-node cluster

 7001 SSL inter-node cluster

 9042 CQL native Transport Port

 9160 Thrift

 1024-65355  Random port required by JMX, com.sun.management.jmxremote.rmi.port(cassandra-env.sh)를 지정하면

 랜덤하게 부여하지 않고 고정할 수 있다.


번호 제목 날짜 조회 수
287 oozie가 말하는 start시간은..서버에서 확인되는 시간이 아닙니다. 2014.05.14 4561
286 avro 사용하기(avsc 스키마 파일 컴파일 방법, consumer, producer샘플소스) 2016.07.08 4557
285 [CDP7.1.6,HDFS]HDFS파일을 삭제하고 Trash비움이 완료된후에도 HDFS 공간을 차지하고 있는 경우 확인/조치 방법 2023.07.17 4552
284 [CDP7.1.7]Hive Replication수행시 Target Cluster에서 Specified catalog.database.table does not exist 오류 2024.05.08 4538
283 Spark 1.6.1 설치후 HA구성 2016.05.24 4533
282 [CDP7.1.7]Hive Replication수행중 Specified catalog.database.table does not exist : hive.db명.table명 오류 발생시 조치방법 2024.04.05 4529
281 Oracle NLOB type의 데이터를 import하는 경우 No Java type for SQL type 2011 for column rst와 같은 오류 발생시 조치사항 2022.01.14 4528
280 [Atlas Server]org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions (user=atlas/node01.gooper.com@GOOPER.COM, scope=default:atlas_janus, params=[table=default:atlas_janus,], action-CREATE)] 2023.05.15 4527
279 hadoop 2.6.0에 sqoop2 (1.99.5) server및 client설치 == fail 2015.06.11 4527
278 sequence한 번호 생성방법 2014.04.25 4526
277 [Active Directory] AD Kerberos보안 설정 변경 방법 (Maximum lifetime for user ticket, Maximum lifetime for user ticket renewal) 2024.03.12 4524
276 [CDP7.1.7][Replication]Table does not match version in getMetastore(). Table view original text mismatch 2024.01.02 4524
275 resouce manager에 dr.who가 아닌 다른 사용자로 로그인 하기 2018.06.28 4520
274 Kafka Offset Monitor로 kafka 상태 모니터링 하기 file 2016.11.08 4516
273 external partition table생성및 data확인 2014.04.03 4515
272 RHEL 7.4에 zeppelin 0.7.4 설치 2018.07.31 4514
271 Error: Could not find or load main class nodemnager 가 발생할때 해결하는 방법 2015.06.05 4512
270 [Kudu] tablet server 혹은 kudu master가 어떤 원인에 의해서 replica가 failed상태인 경우 복구하는 방법 2021.05.24 4510
269 impala 설치/설정 2016.06.03 4509
268 scala application 샘플소스(SparkSession이용) 2018.03.07 4494
위로