<소프트웨어>
1. 데이터 셋
- 스마트카 상태 정보 데이터셋 : 일단위
- 스마트카 운전자 운행 데이터셋 : 실시간
- 스마트카 마스터 데이터셋 : 운전자 프로파일(이름, 거주지,나이,성별)
- 스마트카 물품구매 이력 데이터셋: 쇼핑몰 구입한 차량 물품 구매목록. 데이터셋.
수집레이어
원천데이터: 스마트카 운영, 상태, 마스터
수집영역 : 플럼 -> 카프카-> 스톰/에스퍼
적재영역 : -> 하둡 └> HBase, 레디스
적재레이어
수집영역 적재영역 처리/탐색영역
플럼 -> 하둡 휴(하이브, 스파크, 우지, 스쿰)
스톰 -> HBase, 레디스 :이벤트 프로세싱
처리/탐색영역
적재영역 처리/탐색영역 분석/응용 영역
하둡 휴
HBase (하이브, 스파크, 우지 +스쿰) 임팔라, 제플릿, 머하웃.
레디스
R/텐서플로 : 데이터 엑세스 해서 분석
머하웃/스파크 : 직접 워크로드만듬
임팔라/제플린 : 인메모리 빠른 탐색적 분석.
빅데이터 기술 접근법
플랫폼 전문가 : 하둡 에코시스템 설치 및 구성
수집/적재 전문가 : 대규모 데이터 연동 및 통합
처리/탐색 전문가 : 데이터 모델 설계 및 처리.
분석/응용 전문가 : 도메인 분석 및 인사이트 도출.
2. 아키텍처 이해
소프트웨어/하드웨어 이해
3. PC 환경구성
자바, 이클립스, 오라클 버추얼박스
버추얼박스는 호환성문제때문에 가능하면 old 버전으로 5.0 사용. window host x86
4. 빅데이터 파일럿 프로젝트용 PC 서버 구성
3개 가상머신 생성, 분산 클러스터 환경 구성하기 위한 3대리눅스 서버 설치및 구성.
5. CM : 클라우데라 메니저. : 빅데이타 소프트웨어 설치/관리 :: 하둡, 주키퍼.
6. 스마트카 로그 시뮬레이터 설치.
7. 파이럿 환경 관리.
<하드웨어>
3V : Volume, Velocity, Variety : 크기, 속도, 다양성 : 얼마나 많은, 자주, 다양한 데이터가 발생하는가?
SSD.. 아니면... 병목현상
CPU 가상화. 가능한
고사향 1번, 2번, 3번 서버....
저사향 1번, 2번 ........................
Server1 Hadoop Management Nodes, Hadoop DataNodes, HBase Management, HBase Region Server, PostgresSql
Server2 Hadoop DataNode, HBase Region, 우지, 플럼, 레디스, 하이브/스파크, 스톰, 휴, 제플린, 키프카, 주키퍼
Server3 Hadoop DataNode, HBase Region, Cloudera Management, 임팔라, 스쿱
CM 클라우데라 메니저.
개발도구에서 각각 서버에 접속해서 빅데이터 AI작업진행.
오라클 버추얼박스
OS Windows, mac OS/Linux
x86 데스크톱 PC
버추얼박스- 네트워크설정 | 파일> 환경설정> 네트워크 > NAT 네트워크 추가. 네트워크 이름 : NatNetwork 네트워크 CIDR(C) :10.0.2.0/24 네트워크 옵션: DHCP지원 |
NATNetwork Address Translation | Natwork Address Translation : 네트워크 주소 변환. IP 패킷에 있는 출발지 및 목적지의 IP 주소와 TCP/UDP 포트 숫자등을 바꿔 재기록하면서 네트워크 트래픽 주고받음 장점 : 1) 주소절약 : 하나의 공인 IP 주소 여러대 호스트가 인터넷접속 가능. 인터넷공유기로 여러 PC 사용하는데 이게 NAT 기능, 부족한 공인IP 절약 2) 보안 : NAT 동작의 특성상 IP를 숨길수 있는 기능, 라우터 외부로 트래픽 나갈때 사설 IP 가 공인 IP 주소로 바뀌므로 공격자가 라우터 안쪽에 있는 사설 IP 몰라서 최종목적지 공격이 어려워 내부 네트워크 및 호스트 보호. 프로세스: 1) 패킷해더에 출발지 목적지 주소 기록, 출발지는 자신의 사설 IP주소. PC 출발 -출발지 10.0.0.1 -목적지 200.100.10.1 2) 기본 게이트 웨이에서 외부로 나가는 패킷을 인식하게되면 출발지IP 주소를 게이트웨이 자신의 공인IP 주소로 변경, 별도의 NAT 테이블 보관 - 출발지 10.0.0.1 -> 150.150.0.1 (재기록,변경) - 목적지 200.100.10.1 NAT 테이블 프로토콜 | 사설IP | 출발지IP | 목적지 IP TCP | 10.0.0.1 | 150.150.0.1 | 200.100.10.1 3) 웹서버에서 수신한 데이터 처리후 , 응답하여 보내는 패킷에 출발지와 목적지의 IP 주소를 아래와 같이 기록 |
호스트 설정 | http://server01.hadoop.com:7180/ 192.168.56.101 server01.hadoop.com 192.168.56.102 server02.hadoop.com 192.168.56.103 server03.hadoop.com |
아키텍쳐 | |
메모리할당. | 서버 메모리 할당. 시스템 > 마더보드 기본메모리 Server01 3584 Server02 3072 |
크라우데라 에이전트 기본 패키지 설치 . | http://server01.hadoop.com:7180/ admin/admin 계속버튼 > 하단 Cloudera Express 선택 >계속버튼 > 클러스터이름 :Cluster1 >계속버튼 > 현재관리되고 있는 호스트 탭. 서버 세개 선택 계속 welcome> cluster Basics > Specify Hosts > Select Repository > Install Parcels > Inspect Cluster Oracle JDK 설치 선택 java 암호화 정책파일 선택안함. ssh 로그인 정보 제공. root adminuser 사용자 지정서비스 선택 I understand the risks, let me continue with cluster setup. 체크. 컨티뉴. |
1차 설치 HDFS, YARN, Zookeeper |
select Services> Assign Roles> Setup Database> Review Changes> Command Details Summary HDFS : NN : NameNode : Server01 선택 SNN : SecondaryNameNode: Server01선택 B : Balancer : Server01 선택 HttpFS : 미설치 NFS Gateway : 미설치 DataNode: Server02 YARN RM : ResourceManger : Server01 JHS : JobHistory: Server01 NodeManager : DataNode로 저장. 선택. Same As DataNode ZooKeeper Server : Server02 기본설정으로 저장 진행. 완료 후 >> 색 임계치값 빨강 : 정지... 그외는 크게 문제 없음... ex)디스크 여유공간 10% 이하. 자원이 부족할때 클라우데라메니저 중지. 해도 됨. 서비스기능에는 영향없음. 모니터링안됨. DataNode 추가. CM 홈 HDFS 메뉴 우측 콤보박스 클릭 역할인스턴스 추가. DataNode 데이터를 저장하면 01,02,저장. . DataNode 추가된거 확인하고선택, 선택된작업 콤보박스 시작 . -- 환경변수. 1. 메인 > HDFS > Configuration> Replication Factor dfs.replication 3-> 1 저장 cf) /user/hadoop hadoop fs -setrep 10 -R /user/hadoop/ Check HDFS Permissions _ dfs.permissions 해제 HDFS 블록크기 변경 128 => 64 HDFS Block Size _ dfs.blocksize 2. YARN 스케줄러 메모리 변경 1-> 1.5 Container Memory Maximum _ yarn.scheduler.maximum-allocation-mb 리소스매니저 메모리 변경 1-> 5 Container Memory _ yarn.nodemanager.resource.memory-mb Scheduler Class _ yarn.resourcemanager.scheduler.class org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler :: 동시다발적으로 일을시키다... 경합...오버헤드 행걸리는현상..때문에... ->org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoScheduler 동시처리는 못함. 순차처리.. 됌. -- 동작확인. $cd /home/bigdata $hdfs dfs -ls /tmp $zookeeper-client > 2번서버 |
시뮬레이터 설치 | mkdir -p /home/pilot-pjt/working/car-batch-log mkdir -p /home/pilot-pjt/working/driver-realtime-log 1,2번서버 $java -version $cd /usr/bin $ ls -l java lrwxrwxrwx. 1 root root 22 Jun 30 2018 java -> /etc/alternatives/java $ pwd /usr/bin $ rm java rm: remove symbolic link `java'? y $ rm javac rm: cannot remove `javac': No such file or directory $ ln -s /usr/java/jdk1.8.0_181-cloudera/bin/javac /usr/bin/javac $ ls -l javac lrwxrwxrwx 1 root root 41 May 23 00:12 javac -> /usr/java/jdk1.8.0_181-cloudera/bin/javac $ ln -s /usr/java/jdk1.8.0_181-cloudera/bin/java java $ ls -l java lrwxrwxrwx 1 root root 40 May 23 00:13 java -> /usr/java/jdk1.8.0_181-cloudera/bin/java $ java -version java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode) /home/pilot-pjt/working bigdata.smartcar.loggen-1.0.jar 옮김 java -cp bigdata.smartcar.loggen-1.0.jar com.wikibook.bigdata.smartcar.loggen.DriverLogMain 20190101 3 java -cp bigdata.smartcar.loggen-1.0.jar com.wikibook.bigdata.smartcar.loggen.CarLogMain 20190901 10 새창 # cd /home/pilot-pjt/working/driver-realtime-log/ # ls -ltr total 148 -rw-r--r-- 1 root root 147980 May 23 00:20 SmartCarDriverInfo.log # tail -f SmartCarDriverInfo.log ps -ef |grep smartcar.loggen kill -9 PID |
2차 설치 플럼, 카프카 |
1. CM의 홈에서 Cluster1 콤보박스 [서비스 추가: add Service] > 추가할 서비스 유형 Flume 선택, 우측하단 계속버튼 > Agent > 설치 서버 호스트 server02.hadoop.com.. 확인> 계속.> 완료. 2. 힙메모리 올리기 CM홈 > Flume >구성 > java heap : 50 -> 100 3. Flume 재시작 플럼> 구성 시스템 그룹 Flume(서비스전체 : Service-Wide) : flume Agent 이름 Agent Default Group : SmartCar_Agent 구성파일 Agent Default Group : 1. CM Cluster1 콤보박스 > 서비스 추가. > kafka > 계속 > kafka Broker _ Server02설치. 나머지 설치안함. > 완료. 2. 환경구성 kafka> 구성 Data Retention Time : 7일 >> 15분 3. 재시작. $kafka-topics --create --zookeeper server02.hadoop.com:2181 --replication-factor 1 --partitions 1 --topic SmartCar-Topic $kafka-console-producer --broker-list server02.hadoop.com:9092 -topic SmartCar-Topic $kafka-console-consumer --bootstrap-server server02.hadoop.com:9092 --topic SmartCar-Topic --partition 0 --from-beginning $kafka-console-consumer --bootstrap-server server02.hadoop.com:9092 --topic SmartCar-Topic --partition 0 --from-beginning |
'Data' 카테고리의 다른 글
[1028 from 실무로 배우는 빅데이터 기술 By 김강원 05]하둡, 주키퍼 명령어 (0) | 2021.05.24 |
---|---|
[1028 from 실무로 배우는 빅데이터 기술 By 김강원 04] 빅데이터 클러스터 구성 (0) | 2021.05.22 |
[1028 from 실무로 배우는 빅데이터 기술 By 김강원 03] 서버설정 크라우데라 설치 (2) | 2021.05.21 |
[1028 from 실무로 배우는 빅데이터 기술 By 김강원 01] 도메인이해 (0) | 2021.05.18 |
[1028 from 점프 투 파이썬, 부스트캠프]Python (0) | 2021.05.02 |