Study/class note

하둡 / 몽고디비 설치

chanzae 2022. 3. 29. 21:10

49 몽고디비 설치

몽고디비 : NoSQL언어로 하둡에 있는 빅데이터를 검색하고 분석하는 소프트웨어 야후에서 개발했습니다. hive와 스칼라는 완전히 SQL과 똑같은데 몽고디비는 SQL과 다릅니다. 그런데 현업에서 몽고디비를 많이 쓰는 이유는 데이터가 update가 되기 때문입니다. hive와 스칼라는 update문이 수행되지 않습니다.

 

 

1. 하둡 시스템이 정상인지 확인합니다.

(base) [oracle@centos ~]$ jps
2676 JobTracker
2585 SecondaryNameNode
2827 TaskTracker
5142 Jps
2427 DataNode
2272 NameNode

6개의 프로세서가 잘 떠있는지 확인합니다.

 

 

2. root유저로 접속해서 몽고디비를 설치합니다.

[root@centos ~]# 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
########################################################

몽고디비 설치 레파지토리 설정해줌.

 

 

3. 몽고디비를 설치

[root@centos ~]# yum install -y mongodb-org

 

 

4. 몽고디비를 시작시킵니다.

[root@centos ~]# systemctl enable mongod
[root@centos ~]# systemctl start mongod

 

 

5. 몽고디비를 실행합니다.

[root@centos ~]# mongo

 

 

6. mongodb 에 emp 테이블을 생성합니다.

db.emp.save({empno:7499,ename:"SMITH",job:"CLERK",mgr:7902,hiredate:"1980-12-17",sal:1800,comm:800,deptno:20})
db.emp.save({empno:7369,ename:"ALLEN",job:"SALESMAN",mgr:7698,hiredate:"1981-02-20",sal:1600,comm:800,deptno:20})
db.emp.save({empno:7521,ename:"WARD",job:"SALESMAN",mgr:7698,hiredate:"1981-02-22",sal:1250,comm:500,deptno:30})
db.emp.save({empno:7566,ename:"JONES",job:"MANAGER",mgr:7839, hiredate:"1981-04-02",sal:2975,comm:0,deptno:20})
db.emp.save({empno:7654,ename:"MARTIN",job:"SALESMAN",mgr:7698,hiredate:"1981-09-28",sal:1250,comm:1400,deptno:30})
db.emp.save({empno:7698,ename:"BLAKE",job:"MANAGER",mgr:7839,hiredate:"1981-05-01",sal:2850,comm:0,deptno:30})
db.emp.save({empno:7782,ename:"CLARK",job:"MANAGER",mgr:7839,hiredate:"1981-06-09",sal:2450,comm:0,deptno:10})
db.emp.save({empno:7788,ename:"SCOTT",job:"ANALYST",mgr:7566,hiredate:"1987-04-19",sal:3000,comm:0,deptno:20})
db.emp.save({empno:7839,ename:"KING",job:"PRESIDENT",mgr:0,hiredate:"1981-11-17",sal:5000,comm:0,deptno:10})
db.emp.save({empno:7844,ename:"TURNER",job:"SALESMAN",mgr:7698,hiredate:"1981-09-08",sal:1500,comm:0,deptno:30})
db.emp.save({empno:7876,ename:"ADAMS",job:"CLERK",mgr:7788,hiredate:"1987-05-23",sal:1100, comm:0,deptno:20})
db.emp.save({empno:7900,ename:"JAMES",job:"CLERK",mgr:7698,hiredate:"1981-12-03",sal:950,comm:0,deptno:30})
db.emp.save({empno:7902,ename:"FORD",job:"ANALYST",mgr:7566,hiredate:"1981-12-03",sal:3500,comm:0,deptno:20})
db.emp.save({empno:7934,ename:"MILLER",job:"CLERK",mgr:7782,hiredate:"1982-01-23",sal:1300, comm:0,deptno:20})

 

 

7. emp 데이터를 count 합니다. 

> db.emp.count()
14

 

반응형