메뉴 건너뛰기

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

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


번호 제목 글쓴이 날짜 조회 수
» Cassandra 3.4(3.10) 설치/설정 (5대로 clustering) 총관리자 2016.04.11 401
259 hive metadata(hive, impala, kudu 정보가 있음) 테이블에서 db, table, owner, location를 조회하는 쿼리 총관리자 2020.02.07 394
258 Error: E0501 : E0501: Could not perform authorization operation, User: hadoop is not allowed to impersonate hadoop 해결하는 방법 총관리자 2015.06.07 389
257 namenode오류 복구시 사용하는 명령 총관리자 2016.04.01 387
256 Namenode Metadata백업하는 방법 총관리자 2020.02.10 386
255 scan의 startrow, stoprow지정하는 방법 총관리자 2015.04.08 377
254 TransmitData() to failed: Network error: Recv() got EOF from remote (error 108) 오류 현상 총관리자 2019.02.15 370
253 HUE를 사용할 사용자를 추가 하는 절차 총관리자 2018.05.29 370
252 HDFS상의 /tmp폴더에 Permission denied오류가 발생시 조치사항 총관리자 2017.01.25 367
251 기준일자 이전의 hdfs 데이타를 지우는 shellscript 샘플 총관리자 2019.06.14 363
250 hadoop클러스터를 구성하던 서버중 HA를 담당하는 서버의 hostname등이 변경되어 문제가 발생했을때 조치사항 총관리자 2016.07.29 363
249 root계정으로 MariaDB설치후 mysql -u root -p로 db에 접근하여 바로 해줘야 하는일..(케릭터셑은 utf8) 총관리자 2015.10.02 363
248 [kudu]테이블 drop이 안되고 timeout이 걸리는 경우 조치 방법 총관리자 2020.06.08 356
247 [sqoop] mapper를 2이상으로 설정하기 위한 split-by컬럼을 찾을때 유용하게 활용할 수 있는 쿼리 총관리자 2020.05.13 352
246 Hive MetaStore Server기동시 Could not create "increment"/"table" value-generation container SEQUENCE_TABLE since autoCreate flags do not allow it. 오류발생시 조치사항 총관리자 2017.05.03 352
245 Apache Spark와 Drools를 이용한 CEP구현 테스트 총관리자 2016.07.15 345
244 Cleaning up the staging area file시 'cannot access' 혹은 'Directory is not writable' 발생시 조치사항 총관리자 2017.05.02 338
243 sentry설정후 beeline으로 hive2server에 접속하여 admin계정에 admin권한 부여하기 총관리자 2018.07.03 337
242 Cloudera가 사용하는 서비스별 포트 총관리자 2018.03.29 337
241 cloudera-scm-agent 설정파일 위치및 재시작 명령문 총관리자 2018.03.29 328

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.

위로