Blog Content

    티스토리 뷰

    [CentOS] MongoDB 설치


    몽고 DB?

    근래에 들어 빅데이터라는 말을 많이 들어보셨을 겁니다. 천만건이 될 수 있고 억단위로된 데이터의 개수로 말할 수도 있을것입니다. 이러한 것들의 데이터를 담을때는 기존에는 RDBMS 로 연관지어 두다보니 내가 필요한 데이터만 뽑아내는데 시간이 상당히 걸리는게 부지기수였습니다. 이렇게 말하듯 빅데이터란 수많은 자료들중에 의미있는 값으로 변환하는 작업도 포함될 것입니다. 여기서 중점적으로 봐야할 것은 많은 자료들 중에 의미있는 값으로 변환하는데 시간이 오래 걸리다보니 Relation 이 없고 읽고 쓰기가 빠른 데이터베이스가 등장하게 됩니다.


    그 중 이번에 설치할 것은 NoSQL 의 도큐먼트 기반의 몽고DB 입니다.


    들어가기에 앞서

    먼저 채팅 프로그램을 개발할때나 빠른 검색 키워드 등을 개발해볼때 한번쯤 해봄직한 DB인듯 합니다. (하지만 검색이라면 Apache Solr가..)

    저는 이번에 팀원들끼리 프로젝트를 진행하면서 읽고 쓰기가 빈번하지만 단위가 작고 데이터량이 많아 이번에 사용할 겸 CentOS 계열에 어떻게 설치하는지 공유하고자 합니다.


    설치할 버전은 3.4.x 버전대의 몽고DB 입니다.


    설치

    먼저 THP 를 비활성화 시켜주셔야 합니다. 관련 포스팅은 (링크) 로 가셔서 TokuDB 설치를 제외한 항목에 대해 수행해 주시면 됩니다.


    마리아 DB 설치와 비슷하게 먼저 Yum Repo 를 작성하여 등록해 줍니다. Yum Repo 최신 주소는 (링크) 로 가시면 안내되어있습니다.


    vi 편집기로 아래 명령어를 쳐 줍니다.


    vi /etc/yum.repos.d/mongodb-org-3.4.repo


    내용은 아래 정보를 입력해 주시면 됩니다.


    [mongodb-org-3.4]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
    


    입력하시고 :wq로 저장후 나옵니다.


    그리고 설치하도록 하겠습니다.


    yum -y mongodb-org


    설치가 되었으면 systemctl 로 등록후 실행시키도록 하겠습니다.


    systemctl enable mongod
    systemctl start mongod


    설치는 끝났으며 한번 접속해 보도록 하겠습니다.


    mongo -port 27017



    접속하시면 위와같은 에러가 나올것입니다. 저 부분 같은 경우에는 인증하지도 않았는데 접속하는 경우가 있을때 나오는 에러입니다.


    admin 계정을 한번 만들어보도록 하겠습니다.


    먼저 admin 데이터베이스로 전환하도록 하겠습니다.


    > use admin

    그런다음 아래 코드를 입력하여 User 생성을 합니다. 여기서 myAdminId / Password 는 임의값으로 수정하시면 됩니다.

    db.createUser(
    {
    	user: "myAdminId",
    	pwd: "myAdminPassword",
    	roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
    }
    )



    저는 root 라고 ID를 적어 넣었기에 결과값이 다르지만 참고용으로 올렸습니다.


    저 상태에서 exit를 한뒤 인증옵션을 키고 재접속 하도록 하겠습니다.


    exit


    인증 설정을 바꾸기 위해 mongodb 컨피그 파일을 열겠습니다.

    vi /etc/mongod.conf
    



    여시면 저기 security: 부분에 주석 # 을 제거하시고 아래에 인증을 위한 설정문을 입력하시면 됩니다.

    security:
     authorization: enabled


    그리고 몽고 DB를 재시작해주시고 접속 명령을 해 보도록 하겠습니다.


    systemctl restart mongod
    
    mongo -port 27017 -u "myAdminId" -p --authenticationDatabase "admin"

    암호를 입력해주시면 에러가 없어진것이 확인이 되셨을 겁니다. exit로 나가주신뒤에


    포트를 열어 다른곳에서 접속하기만 해주시면 끝납니다. 다른곳 접속하기전에 mongod.conf 파일을 열어 bindIp 항목의 ip 를 0.0.0.0 으로 변경하시거나 

    그줄에 제일 앞으로 가셔서 # 을 적으셔서 주석처리하셔도 동일한 효과를 얻으실 수 있습니다.


    firewall-cmd --zone=public --add-port=27017/tcp --permanent
    firewall-cmd --reload
    


    이상으로 몽고 DB 설치를 마칩니다.

    'Linux' 카테고리의 다른 글

    [CentOS] MongoDB 설치  (0) 2017.06.27
    [CentOS] Redmine 설치 + nginx + Passenger  (0) 2017.01.11
    [CentOS] SonarQube 설치  (0) 2017.01.10
    [CentOS] nginx 설치  (0) 2017.01.10
    [CentOS] PostgreSQL 설치  (0) 2017.01.10
    [CentOS] Jenkins 설치  (0) 2017.01.09

    0 Comments

    Leave a comment