SlideShare a Scribd company logo
Cassandra를 Virtual Box에 설치해보자
이걸 한지 꽤 오래됐는데 이제서야 이걸 올리게 됐다
이게 다 옹차장이 술을 사지 않았기 때문이다!
그리고 이 내용은 한짤로 요약하자면 아래와 같다
캐리어 가야 되요~~.develop
사실은 매드 사이언티스트 신바람 이박사의 삽질기를 보다보니
자극받아서 한번 시도해 봤다
개발자의 열공중인 모습
요새 NOSQL이 말이 많다. 게다가 최근 MariaDB에선
Cassandra용 연동 API도 제공해 주신다고 하신다
사나이라면 설치해봐야 하지 않겠는가
말도많고 탈도 많은 NOSQL
제가한번 설치해 보겠습니다!
그런데 테스트할 서버가 많아야 하잖아?
카산드라를 설치해서 테스트 해보자 with virtualbox
없는 살림에 어쩌겠어? 가상화 해서 해야지 뭐
오라클느님의 가상화툴 Virtual box
설치 환경
1. Virtual Box
 Window BASE
2. Ubuntu
 2기 설치
일단은 Virtual Box부터설치를 해 봐야지
https://www.virtualbox.org/wiki/Downloads
일단 다운로드 해서 설치하란 소리
닥치고 일단 설치하고 나면 다음과 같이 새로만들기를 실행하자
가상머신에 설치할 OS를 선택해야한다
진리의 우분투 느님
메모리도 설정해주자 기본적인 메모리는 충분히.
메모리 설정 작게했다간 지옥을 맛보게 될 것이야
하드디스크도 8G이상 하는게 암걸리지 않을 것임
짜증을 맛보고 싶으면 뭐…작게해도 되고 뭐…
그냥 VDI로 합시다
VDI 하드디스크 설정
설정 끝
그담에 우분투를 설치하자
응?
2개 만들어야 하는거 아니냐고?
우분투 설치하고 난 다음 카산드라까지 설치하고
그냥 가상 이미지 복제하는게 쉽지않겠얼?
문제발생!
귀찮다….
원래 세미나용 발표자료를 바꾸려고 하니까
시간이 엄청 걸린다.검은사막 할 시간 없어…
그래서 기존에 만들었던걸로 그대로 붙여 넣자!
Virtual Box Ubuntu 설치
VirtualBox Ubuntu Downlod
http://www.ubuntu.com/download/desktop
CA1클릭->시작 시 시동디스크에 ISO 선택 화면
VirtualBox Ubuntu 설치
Ubuntu ISO 선택(amd64로 설치하는 것을 권장)
VirtualBox Ubuntu 설치
VirtualBox Ubuntu 설치
Ubuntu 해상도 문제
Virtual Box 특성상 Ubuntu의 해상도가 800x600 고정되어 있
는 경우가 종종 있음
<해결책>
1. Ubuntu 업데이트 및 DKMS 설치
 터미널을 연다
Ubuntu 해상도 문제
1. Ubuntu 업데이트 및 DKMS 설치
 sudo apt-get update 실행
 sudo apt-get upgrade 실행
 sudo apt-get install dkms 실행
Ubuntu 해상도 문제
2. 게스트 확장 설치
 설치 완료시 리부팅
Ubuntu 해상도 문제
2. 게스트 확장 설치
 Linux를 켜고 [게스트 확장 설치] 클릭(보통 virtual box 디렉토리에 존재함)
Ubuntu 호환 IP 설정
Virtual Box때문에 호스트 PC와 게스트 PC상 통신문제가 발생
2개의 어댑터를 통한 내부 통신 및 외부 통신이 가능하게 적용
Ubuntu 호환 IP 설정
설정->네트워크->어댑터1
NAT 선택 및 포트포워딩 클릭
Ubuntu 호환 IP 설정
호스트포트 9042, 게스트IP 192.168.56.101, 게스트포트 9042
지금부터 CA1의 내부 IP는 192.168.56.101로 설정할 것
9042포트는 Cassandra를 위한 설정
Ubuntu 호환 IP 설정
어댑터 2 생성->호스트전용어댑터->VirtualBox Host-Only
Ethernet Adaptor->모두 허용 설정->재시작
Ubuntu 호환 IP 설정
호스트PC의 네트워크->Virtual Host-Only Network 속성-
>IPv4 설정-> IP주소 아래와 같이 설정(DNS는 설정안함)->재시
작
Ubuntu 내부 IP 설정
터미널 열고 -> sudo vi /etc/network/interfaces [ENTER]
다음과 같이 입력 저장 및 리붓
앞으로 CA1은 IP가 192.168.56.101로 설정됨
추후 CA2는 IP가 192.168.56.102로 설정될 예정
주의 : 설정이후 호스트PC에서 ping 192.168.56.101하면 연결
불가됨 이는 나중에 포트포워딩으로 확인 가능
Cassandra 설치
Cassandra 설치
설치 메뉴얼
http://www.datastax.com/documentation/cassandra/2.0/cas
sandra/install/installDeb_t.html
설치 필요 JDK
JDK7 필요
JDK 설치
설치되어있던 openjdk 삭제
 sudo apt-get purge openjdk*
apt-repository에 경로 추가
 sudo apt-get install software-properties-common
ppa 추가
 sudo add-apt-repository ppa:webupd8team/java
JDK 7 설치
 sudo apt-get install oracle-java7-installer
JDK 설치
설치되어있던 openjdk 삭제
 sudo apt-get purge openjdk*
apt-repository에 경로 추가
 sudo apt-get install software-properties-common
ppa 추가
 sudo add-apt-repository ppa:webupd8team/java
 sudo apt-get update
JDK 7 설치
 sudo apt-get install oracle-java7-installer
JDK 설치 확인
Cassandra 설치
Curl 설치
repository에 경로 추가
 sudo curl -L http://debian.datastax.com/debian/repo_key | sudo apt-key add -
패키지 설치
 sudo apt-get update
 sudo apt-get install dsc20
초기화
 sudo service cassandra stop
 sudo rm -rf /var/lib/cassandra/data/system/*
Cassandra 환경 설정
환경 설정 파일 경로
 /etc/cassandra/conf/cassandra.yaml
설정 내역
 Simple Data Center
 RackInferringSnitch
 IP 192.168.56.101
 Client 연결 포트 9042(기본)
 Cli 연결 9160(기본)
주의: cassandra.yaml에서 설정이 xxx : xxx 일 경우 띄어쓰기 잘 해줘야 함 붙여
쓸 경우 parse 에러 발생함
Cassandra.yaml 설정
initial token 설정(메인 0)
seeds 설정(192.168.56.101)
Listen Address 설정(192.168.56.101)
주의: 대부분의 사이트에서 listen_address를 0.0.0.0 잡으라고 하는데 이럴 경우 실행
하면 나중에 broadcast 를 잡지 않았다고 에러가 발생함
Cassandra.yaml 설정
rpc_address 설정(192.168.56.101)
cluster_name 설정(적당히 알아서)
endpoint_snitch(RackInferringSnitch)
기타 설정들에 대한 설명과 각 전략에 대한 설명은 칸이 부족해
적지 않는다
Cassandra.yaml 설정
로그 위치
 /var/log/cassandra/
데이터 위치
 /var/lib/cassandra/commitlog
 /var/lib/cassandra/data
 /var/lib/cassandra/saved_caches
주의: 나중에 token이 중복되었다니 등의 문제가 발생하면 이는 데이터를 지우기 전엔 복구
가 안되므로 위의 데이터 내의 파일을 모두 지우고 초기화를 하면 initial_token이 새로 적용
된다
Cassandra.yaml 설정
서비스 시작 및 동작상황 확인
 sudo service cassandra start
 node status
이미지 처럼 1개가 우선 동작하고 있는 것이 확인된다
Node 복제
VirtualBox에서 CA1노드를 복제한다
이름은 CA2로 하고 완전한 복제를 시행한다
Node 복제
CA1을 종료하고 CA2를 실행하여 IP를 192.168.56.102로 변경
한다
Cassandra.yaml의 IP부분중 seeds를 제외하고 나머지를 전부
102로 바꾼다
initial token 설정은 0이 아닌 다른 키로 입력한다(이거 충돌나
면 안됨)
순서대로 재시작
CA1을 켜고 CA2를 켠 다음 nodetool status를 확인한다
주의: 만약 error중 Cannot change the number of tokens from 1 to 256 에러 발생
하면 cassandra.yaml에서 num_tokens를 1로 바꾸고 data로그를 다 지운다
정상적인 동작상황이면 nodetool status를 통해 2개가 연결된
것을 확인할 수 있다
Cassandra client 연결
Client Lib
Client 종류는 여러가지가 존재함
https://github.com/datastax/java-driver에서 드라이버를 다운
받음 driver-core.jar
이 파트는 아무래도 SQL쿼리문 처럼 사용할 수 있기때문에 사용
함.
다른Lib는 가능한지 확인 안함
DB 생성
Cassandra는 Keyspace를 DB라고 생각하면 됨(방식 차이)
DB생성을 위해 CLI 접근
연결거부 에러는 신경쓰지 말것
DB 생성
connect 192.168.56.101/9160 ; 실행
create keyspace demodb with placement_strategy
=‘org.apache.cassandra.locator.SimpleStrategy’ and
strategy_options = {replication_factor:1};
demodb라는 keyspace 생성
demodb에 연결 시도
에러가 나지 않으면 정상 연결
이 앞에 포트포워딩 한 포트와 해당 PC의 IP를 연결하여 테스트
Client Demo 접근 테스트
user란 테이블을 생성 및 INSERT 시도
Client Table 생성
user란 테이블을 생성 및 INSERT 시도
Client Table 생성
user란 테이블을 생성 및 Select 시도
Client get 테스트
Insert Select Delete 등에 대해서 각 기능과 Update는 왜 어려
운지 등에 대한 별도의 연구가 필요
->update는 인덱스의 재배치가 필요하므로 페이지 로드가
크기 때문이다
시스템적인 구성에 대한 연구 또한 필요
Client SQL
껐다 켜면 cassandra cannot change the number of tokens from 1 to 256 라는게
종종 뜨는데 이건 num_tokens 세팅 때문이다 이는 데이터센터가 1개이상 즉
NetworkTopologyStrategy 사용시에 virtual node가 사용되고 이 virtual node의 갯
수를 설정할때 쓰는 부분이다. 우린 SimpleStrategy라 별 의미가 없다. 자세한건 여기
참조
http://www.datastax.com/documentation/cassandra/2.0/cassandra/configuratio
n/configVnodesProduction_t.html?scroll=task_ds_jsd_xjd_2l__task_ds_jsd_xjd_2l_u
nique_1
MariaDB 연동은 가능은 하지만 현재 알파버전 (10.1)으로 진행중이기 때문에 현재는
큰 의미는 없다. 내용은 Cassandra의 table을 Mariadb에서 읽어 들일 수 있게 Table
Mapping처리를 해주는 방법을 사용한다
주의
MariaDB 연동은 가능은 하지만 현재 알파버전 (10.1)으로 진행중이기 때문에 현재는
큰 의미는 없다. 내용은 Cassandra의 table을 Mariadb에서 읽어 들일 수 있게 Table
Mapping처리를 해주는 방법을 사용한다
주의
그래서 뭐 어쩌라고?
너, 나 그리고 우리가 쓰는 카톡 시스템 구조다.
활용방안에 대한 고민을 할게 많아 보이지 않은가?
없으면 어쩔수 없고뭐.. 군시렁..
카산드라를 설치해서 테스트 해보자 with virtualbox

More Related Content

PDF
Cassandra 멘붕기 | Devon 2012
PPTX
Cassandra education material
PDF
Redis edu 3
PPTX
실무로 배우는 시스템 성능 최적화 - 4부. 프로세스 이해하기
PDF
Redis basicandroadmap
PDF
PPTX
이것이 레디스다.
PDF
Redis trouble shooting
Cassandra 멘붕기 | Devon 2012
Cassandra education material
Redis edu 3
실무로 배우는 시스템 성능 최적화 - 4부. 프로세스 이해하기
Redis basicandroadmap
이것이 레디스다.
Redis trouble shooting

What's hot (20)

PDF
Mongo DB 활용가이드 Tip 35 ~ 41
PPTX
7부. 애플리케이션 입장에서의 성능 튜닝 (1~8장)
PDF
Zookeeper 소개
PDF
(OCI 탐험일지) cloud shell
PPTX
Ch9 프로세스의 메모리 구조
PPTX
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
PPTX
Apache ZooKeeper 로
 분산 서버 만들기
PPTX
Mongo db 복제(Replication)
PDF
AWS EC2 AMI seminar(KELP 2011)
PDF
주키퍼
PPTX
Zoo keeper 소개
PDF
[D2]thread dump 분석기법과 사례
PPTX
DNS Express
PDF
[252] 증분 처리 플랫폼 cana 개발기
PDF
Mongodb 특징 분석
PDF
A review of zookeeper 2010.12
PDF
Ansible
KEY
Mongodb cluster
PDF
cassandra overview & spark to cassandra
PPTX
Node Js와 Redis를 사용한 구조화된 데이터
Mongo DB 활용가이드 Tip 35 ~ 41
7부. 애플리케이션 입장에서의 성능 튜닝 (1~8장)
Zookeeper 소개
(OCI 탐험일지) cloud shell
Ch9 프로세스의 메모리 구조
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
Apache ZooKeeper 로
 분산 서버 만들기
Mongo db 복제(Replication)
AWS EC2 AMI seminar(KELP 2011)
주키퍼
Zoo keeper 소개
[D2]thread dump 분석기법과 사례
DNS Express
[252] 증분 처리 플랫폼 cana 개발기
Mongodb 특징 분석
A review of zookeeper 2010.12
Ansible
Mongodb cluster
cassandra overview & spark to cassandra
Node Js와 Redis를 사용한 구조화된 데이터
Ad

Viewers also liked (20)

PDF
Cloumon Product Introduction
PDF
[H3 2012] Cloud Database Service - Hulahoop를 소개합니다.
PPTX
Cql – cassandra query language
PDF
NoSQL 동향
PDF
알고 쓰자! HBase | Devon 2012
PDF
Flume 훑어보기
PPTX
Big Data Application Architectures - IoT
PDF
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: GRUTER의 빅데이터 플랫폼 및 전략 소개
PDF
Cassandra at Instagram 2016 (Dikang Gu, Facebook) | Cassandra Summit 2016
PDF
Deploying and Managing Hadoop Clusters with AMBARI
PDF
하둡 맵리듀스 훑어보기
PDF
Troubleshooting Cassandra (J.B. Langston, DataStax) | C* Summit 2016
PDF
20141029 하둡2.5와 hive설치 및 예제
PPTX
HBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL database
PPTX
NoSQL 모델링
PDF
NoSQL Guide & Sample
PDF
Apache cassandra & apache spark for time series data
PDF
[OpenStack Days Korea 2016] Track3 - VDI on OpenStack with LeoStream Connecti...
PDF
[OpenStack Days Korea 2016] Track3 - OpenStack on 64-bit ARM with X-Gene
PDF
[OpenStack Days Korea 2016] Track3 - Powered by OpenStack, Power to do more w...
Cloumon Product Introduction
[H3 2012] Cloud Database Service - Hulahoop를 소개합니다.
Cql – cassandra query language
NoSQL 동향
알고 쓰자! HBase | Devon 2012
Flume 훑어보기
Big Data Application Architectures - IoT
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: GRUTER의 빅데이터 플랫폼 및 전략 소개
Cassandra at Instagram 2016 (Dikang Gu, Facebook) | Cassandra Summit 2016
Deploying and Managing Hadoop Clusters with AMBARI
하둡 맵리듀스 훑어보기
Troubleshooting Cassandra (J.B. Langston, DataStax) | C* Summit 2016
20141029 하둡2.5와 hive설치 및 예제
HBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL database
NoSQL 모델링
NoSQL Guide & Sample
Apache cassandra & apache spark for time series data
[OpenStack Days Korea 2016] Track3 - VDI on OpenStack with LeoStream Connecti...
[OpenStack Days Korea 2016] Track3 - OpenStack on 64-bit ARM with X-Gene
[OpenStack Days Korea 2016] Track3 - Powered by OpenStack, Power to do more w...
Ad

Similar to 카산드라를 설치해서 테스트 해보자 with virtualbox (20)

PDF
가상머신 환경에서 리눅스 및 큐브리드 설치 가이드 20150714
PPTX
Hadoopcluster install in_centos_virtualbox
PPTX
프로젝트용 PC 환경구성 이찬희
PDF
Build the OpenStack Cloud with Neutron Networing, IceHouse
PDF
Docker.소개.30 m
PDF
Open stack의 vm개념을 통한 docker의 활용
PDF
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
PDF
리눅스 커널 디버거 KGDB/KDB
PDF
KAFKA 3.1.0.pdf
PPTX
가상 환경에서의 CentOS 6.8 설치
PDF
Cassandra
PDF
Docker at Deview 2013
PDF
Docker at Deview 2013
PDF
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
PPTX
VirtualBox를 통한 LAMP환경 구축
PDF
NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기
PDF
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
PPTX
이것이 리눅스다 - 김종욱
PDF
Virtual Development Environment Setting
PDF
Kafka slideshare
가상머신 환경에서 리눅스 및 큐브리드 설치 가이드 20150714
Hadoopcluster install in_centos_virtualbox
프로젝트용 PC 환경구성 이찬희
Build the OpenStack Cloud with Neutron Networing, IceHouse
Docker.소개.30 m
Open stack의 vm개념을 통한 docker의 활용
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
리눅스 커널 디버거 KGDB/KDB
KAFKA 3.1.0.pdf
가상 환경에서의 CentOS 6.8 설치
Cassandra
Docker at Deview 2013
Docker at Deview 2013
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
VirtualBox를 통한 LAMP환경 구축
NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
이것이 리눅스다 - 김종욱
Virtual Development Environment Setting
Kafka slideshare

카산드라를 설치해서 테스트 해보자 with virtualbox