Cassandra 설치 방법 (tar.gz)
카산드라를 다운받는 방법 중에, 압축 파일을 받고 특정 위치에 설치하는 방법입니다.
1. cassandra 홈페이지에서 압축 파일 다운로드
안정적인 버전인 3.11.11버전을 받아줍니다.
저 링크를 클릭해서 설치파일을 받으면 위와 같은 tar.gz 파일이 받아집니다.
2. 압축해제
cassandra를 관리할 임의의 폴더로 파일을 이동하시고 tar -xvf [파일명.tar]로 압축을 풀어줍니다.
저는 /home/seoul/lib/ 폴더에 압축을 풀었습니다. (seoul은 제 계정명입니다.)
3. 환경변수 설정
특정 위치에 설치한 카산드라를 관리하려면 아무래도 전역 환경변수로 설정하는 것이 편하기 때문에 환경변수를 설정해줍니다.
nano ~/.bashrc
맨 밑으로 이동하셔서
export CASSANDRA_HOME=/home/seoul/lib/apache-cassandra-3.11.11/
export PATH=$PATH:$JAVA_HOME/bin:$CASSANDRA_HOME/bin
두 줄을 작성해줍니다.
카산드라를 설치한 임의의 경로를 입력해주시면 되고, JAVA_HOME에 대한 환경변수가 잡혀있어야 합니다!
카산드라는 apache 기반이기 때문에 jdk를 사용합니다. 먼저 리눅스에서 jdk를 설치하고 환경변수 설치가 선행되어야 합니다. 저장하고 아래 명령어를 입력합니다.
source ~/.bashrc
위 명령어는 환경변수를 업데이트 해주는 기능입니다.
4. 카산드라 실행
명령어로 cassandra를 입력하시면 카산드라가 실행됩니다.
이런 화면이 보인다면 정상적으로 실행된 것입니다.
실행상태를 확인하려면 nodetool status를 입력하면 됩니다.
nodetool status
실행된 카산드라를 종료할 때는 netstat -nap | grep [포트번호]를 입력해서 pid를 확인한 다음 kill -9 [pid]를 입력해서 프로세스를 죽이면 됩니다!
netstat -nap | grep [포트번호]
kill -9 [pid]
5. 카산드라 cqlsh, cassandra-driver
카산드라는 카산드라 SQL을 사용하는데, 이 SQL이 파이썬으로 만들어졌기 때문에 필수적으로 다운받아야 하는 파이썬 라이브러리 cqlsh와 cassandra-driver가 있습니다.
먼저 파이썬 라이브러리를 받기 위한 pip를 설치해줍니다.
sudo apt-get update
sudo apt-get install python-pip
그리고 cqlsh와 cassandra-driver를 설치해줍니다.
python -m pip install cqlsh
python -m pip install cassandra-driver
설치가 완료되었다면 카산드라에 로그인 해봅니다.
기본 계정은 cassandra/cassandra입니다.
cqlsh -u cassandra -p cassandra
정상적으로 접속이 되면 이러한 화면이 나옵니다.
6. 카산드라 계정 설정
기본적으로 카산드라를 압축해제해서 사용하게되면 unauthorized error from server code=2100 unauthorized 이런 에러가 발생이 됩니다.
카산드라에서는 superuser라는 계정 권한을 사용하는데, 초기 계정에서는 이러한 권한이 설정이 되어 있지 않아서, 혹은 데이터베이스 초기 권한 설정이 잘못되어서 이런 문제가 발생하는 것 같더군요.
list users; 를 입력해서 위와 같은 화면이 나오면 정상적으로 계정 설정이 된 상태입니다.
기존 계정을 계속 사용하는 것은 보안상 취약할 수 있으니 임시로 사용할 계정을 생성하고, 기존 계정의 super권한을 박탈합니다.
create user [계정이름] with password ‘[비밀번호]’ superuser;
먼저 계정을 생성해주고
alter user [계정이름] with password '[비밀번호]' nosuperuser;
방금 만든 새로운 계정으로 접속해서 기존 계정의 비밀번호와 권한을 변경해줍니다.
추가적으로 카산드라에서는 흔히 사용하는 테이블을 keyspace라고 부릅니다.
아래 명령어로 현재 디폴트로 설정된 키스페이스의 리스트를 확인해볼 수 있습니다.
describe keyspaces;
'Database > NoSQL' 카테고리의 다른 글
[Cassandra] unauthorized error from server code=2100 unauthorized 에러 해결 (3) | 2021.11.17 |
---|