설치환경
- Instance Type : m4.xlarge
- Storage : EBS 8G + EBS 300G
- OS Version : ubuntu 16.04
- Cassandra Version : Cassandra 3.7
- JDK : Oracle JDK 1.8.0_101
카산드라 설치
카산드라를 설치하기 이전에 jdk가 설치되어 있어야 합니다. 그 이유는 cassandra가 JAVA 기반이기 때문입니다.
# 먼저 jdk가 설치되어 있는지 version을 먼저 확인합니다.root@localhost:~# java -versionThe program 'java' can be found in the following packages: * default-jre * gcj-5-jre-headless * openjdk-8-jre-headless * gcj-4.8-jre-headless * gcj-4.9-jre-headless * openjdk-9-jre-headlessTry: apt install <selected package># java를 받기위한 repository를 추가해줍니다.root@localhost:~# add-apt-repository ppa:webupd8team/javaOracle Java (JDK) Installer (automatically downloads and installs Oracle JDK7 / JDK8 / JDK9). There are no actual Java files in this PPA.... gpg: Total number processed: 1gpg: imported: 1 (RSA: 1)OK# apt-get을 먼저 update 해준 후root@localhost:~# sudo apt-get updateHit:1 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu xenial InRelease...Get:36 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [1,176 B]Fetched 10.7 MB in 3s (2,914 kB/s)Reading package lists... DoneW: GPG error: http://dl.bintray.com/apache/cassandra 37x InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 749D6EEC0353B12CN: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.N: See apt-secure(8) manpage for repository creation and user configuration details.# java 8을 설치해줍니다.root@localhost:~# apt-get install oracle-java8-set-defaultReading package lists... DoneBuilding dependency tree... The following NEW packages will be installed: binutils gsfonts gsfonts-x11 java-common libfontenc1 libxfont1 oracle-java8-installer oracle-java8-set-default x11-common xfonts-encodings xfonts-utils0 upgraded, 11 newly installed, 0 to remove and 31 not upgraded.Need to get 6,478 kB/6,508 kB of archives.After this operation, 20.5 MB of additional disk space will be used.Do you want to continue? [Y/n] YGet:1 http://ppa.launchpad.net/webupd8team/java/ubuntu xenial/main amd64 oracle-java8-installer all 8u101+8u101arm-1~webupd8~2 [23.6 kB]Get:2 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libfontenc1 amd64 1:1.1.3-1 [13.9 kB]...Saving to: ‘jdk-8u101-linux-x64.tar.gz’ 0K ........ ........ ........ ........ ........ ........ 1% 47.1M 4s 3072K ........ ........ ........ ........ ........ ........ 3% 45.1M 4s....175104K ........ ........ ........ ....... 100% 123M=4.8s2016-09-23 01:28:37 (36.2 MB/s) - ‘jdk-8u101-linux-x64.tar.gz’ saved [181352138/181352138]Download done.Removing outdated cached downloads...update-alternatives: error: no alternatives for javaupdate-alternatives: using /usr/lib/jvm/java-8-oracle/jre/bin/ControlPanel to provide /usr/bin/ControlPanel (ControlPanel) in auto modeProcessing triggers for ureadahead (0.100.0-19) ...# 설치가 완료된 이후 java의 버전을 확인합니다.root@localhost:~# java -versionjava version "1.8.0_101"Java(TM) SE Runtime Environment (build 1.8.0_101-b13)Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode) |
Cassandra를 설치하려면 설치파일의 위치를 알아야 합니다. 따라서 /etc/apt/sources.list에 추가를 해주셔야 합니다.
root@localhost:~# vi /etc/apt/sources.listvi로 연 후 아래 두 줄을 맨 아래에 추가해 주시면됩니다. version은 최신버전인 3.7버전을 설치하였습니다.deb http://www.apache.org/dist/cassandra/debian 37x maindeb-src http://www.apache.org/dist/cassandra/debian 37x main |
cassandra page에 있는 gpg key를 입력해줍니다.
root@localhost:~# gpg --keyserver pgp.mit.edu --recv-keys 0353B12Cgpg: directory `/root/.gnupg' createdgpg: new configuration file `/root/.gnupg/gpg.conf' createdgpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this rungpg: keyring `/root/.gnupg/secring.gpg' createdgpg: keyring `/root/.gnupg/pubring.gpg' createdgpg: requesting key 0353B12C from hkp server pgp.mit.edugpg: /root/.gnupg/trustdb.gpg: trustdb createdgpg: key 0353B12C: public key "T Jake Luciani <jake@apache.org>" importedgpg: no ultimately trusted keys foundgpg: Total number processed: 1gpg: imported: 1 (RSA: 1)root@localhost:~# gpg --export --armor 0353B12C | sudo apt-key add -OK |
이후 update 후 install을 시작합니다.
root@localhost:~# apt-get updateroot@localhost:~# apt-get install cassandraReading package lists... DoneBuilding dependency treeReading state information... DoneThe following additional packages will be installed: libopts25 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib ntp python python-minimal python2.7 python2.7-minimalSuggested packages: cassandra-tools ntp-doc python-doc python-tk python2.7-doc binfmt-supportThe following NEW packages will be installed: cassandra libopts25 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib ntp python python-minimal python2.7 python2.7-minimal0 upgraded, 10 newly installed, 0 to remove and 31 not upgraded.Need to get 32.8 MB of archives.After this operation, 56.4 MB of additional disk space will be used.Do you want to continue? [Y/n] YGet:1 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libopts25 amd64 1:5.18.7-3 [57.8 kB]...Adding group `cassandra' (GID 117) ...Done.vm.max_map_count = 1048575net.ipv4.tcp_keepalive_time = 300update-rc.d: warning: start and stop actions are no longer supported; falling back to defaultsProcessing triggers for libc-bin (2.23-0ubuntu3) ...Processing triggers for systemd (229-4ubuntu7) ...Processing triggers for ureadahead (0.100.0-19) ... |
cassandra 설치후 서비스 및 node를 확인합니다.
root@localhost:~# service cassandra status● cassandra.service - LSB: distributed storage system for structured data Loaded: loaded (/etc/init.d/cassandra; bad; vendor preset: enabled) Active: active (running) since Fri 2016-09-23 01:32:34 UTC; 21s ago Docs: man:systemd-sysv-generator(8) CGroup: /system.slice/cassandra.service └─16695 java -Xloggc:/var/log/cassandra/gc.log -ea -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -XX:+HeapDumpOnOutOfMemoryError -Xss256k -XX:StringTableSize=1000003 -XX:+AlwaysPreTouch -XX:-UseBiaSep 23 01:32:34 localhost systemd[1]: Starting LSB: distributed storage system for structured data...Sep 23 01:32:34 localhost systemd[1]: Started LSB: distributed storage system for structured data.root@localhost:~# nodetool statusDatacenter: datacenter1=======================Status=Up/Down|/ State=Normal/Leaving/Joining/Moving-- Address Load Tokens Owns (effective) Host ID RackUN 127.0.0.1 103.02 KiB 256 100.0% 575e0cf9-5487-4fcb-bc3f-49b956f72f87 rack1 |
참고사이트
'NoSQL > Cassandra' 카테고리의 다른 글
| Requirements for Cassandra on AWS (0) | 2016.11.27 |
|---|---|
| Key Components for Configuring Cassandra (0) | 2016.11.27 |
| Apache Cassandra 란? (0) | 2016.11.27 |