메뉴 건너뛰기

Bigdata, Semantic IoT, Hadoop, NoSQL

Bigdata, 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)를 지정하면

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


번호 제목 글쓴이 날짜 조회 수
319 특정 커밋 시점(commit id를 기준으로)으로 돌리기(reset) 총관리자 2016.11.21 75
318 Github를 이용하는 전체 흐름 이해하기 총관리자 2016.11.18 36
317 특정 단계의 commit상태로 만들기(이렇게 하면 중간에 반영된 모든 commit를 history가 삭제된다) 총관리자 2016.11.17 42
316 git 초기화(Windows에서 Git Bash사용) 총관리자 2016.11.17 197
315 spark notebook 0.7.0설치및 설정 총관리자 2016.11.14 160
314 참고할만한 spark예제를 설명하는 사이트 총관리자 2016.11.11 98
313 Kafka Offset Monitor로 kafka 상태 모니터링 하기 file 총관리자 2016.11.08 527
312 Eclipse실행시 Java was started but returned exit code=1이라는 오류가 발생할때 조치방법 총관리자 2016.11.07 397
311 [SparkR]SparkR 설치 사용기 1 - Installation Guide On Yarn Cluster & Mesos Cluster & Stand Alone Cluster file 총관리자 2016.11.04 106
310 데이타 분석및 머신러닝에 도움이 도움이 되는 사이트 총관리자 2016.11.04 64
309 java스레드 덤프 분석하기 file 총관리자 2016.11.03 111
308 centos 6에서 mariadb 5.1 to 10.0 으로 upgrade 총관리자 2016.11.01 106
307 Spark Streaming 코드레벨단에서의 성능개선 총관리자 2016.10.31 44
306 Flume과 Kafka를 사용한 초당 100만개 로그 수집 테스트 file 총관리자 2016.10.31 1021
305 Flume을 이용한 데이타 수집시 HBase write 성능 튜닝 file 총관리자 2016.10.31 621
304 How-to: Build a Complex Event Processing App on Apache Spark and Drools file 총관리자 2016.10.31 253
303 How-to: Tune Your Apache Spark Jobs (Part 2) file 총관리자 2016.10.31 77
302 mybatis와 spring을 org.apache.commons.dbcp2.BasicDataSource의 DataSource로 연동할때 DB설정(참고) 총관리자 2016.10.31 990
301 Caused by: java.sql.SQLNonTransientConnectionException: Could not read resultset: unexpected end of stream, read 0 bytes from 4 오류시 확인/조치할 내용 총관리자 2016.10.31 3758
300 VisualVM 1.3.9을 이용한 spark-submit JVM 모니터링을 위한 설정및 spark-submit실행 옵션 총관리자 2016.10.28 1891

A personal place to organize information learned during the development of such Hadoop, Hive, Hbase, Semantic IoT, etc.
We are open to the required minutes. Please send inquiries to gooper@gooper.com.

위로