게시글
질문&답변
2024.03.07
각 서버에 설치하는 프로그램은 어떻게 정하나요?
안녕하세요! "dali7711"님! 오늘 날씨가 갑자기 쌀쌀해 졌네요...환절기 감기 조심하세요! 그리고 좋은 질문 감사합니다! ^^* 각 SW의 서버 인스턴스의 설치 기준은 우선 파일럿 환경 기준으로만 설명 드리자면 간단합니다. 개인의 PC환경에서 다양한 빅데이터 에코시스템들을 작동 시키기 위한 최선으로 구성한 것 입니다. 결국 가상서버들의 CPU/Mem의 자원을 분산 시키되, 아키텍처의 정합성은 깨지지 않도록 구성을 한 것 입니다. 예를들어 PostgreSQL은 Cloudera Manager가 사용 하게 되는데, Cloudera Manager가 Server01에 설치 되어 있기 때문에 같은 위치에 구성을 한것이고요, HBase Region 같은 경우 하둡에 의존성을 갖게 되므로 하둡의 워커노드가 3개이면 HBase리전도 3개로 맞춘것 입니다. 또한 질문중 왜? PostgreSQL로 했냐고 물으셨는데요... 이또한 Cloudera Manager에서 기본으로 제공하는 DBMS가 PostgreSQL이기 때문에 설치 구성의 편의성 차원이 이유입니다. 물론 Oracle을 별도로 설치하고 Cloudera Manager와 연결을 할 수 도 있지만, 파일럿 프로젝트의 핵심은 DBMS 기술을 배우는것이 아니니깐요! 물론 실프로젝트에선 Oracle을 많이 연결해 사용합니다. ^^ 그런데 실제 환경에서도 이런일들이 비일비재 합니다. 물리적인 자원은 한정되고, 사업은 확장 되면서 구축해야할 시스템은 늘어 나는데, H/W 장비는 지금당장 구매해 들어오기가 어려운 상황들로, 제품에 최적화된 아키텍처 보단, 빡빡한 자원에 맞춰 아키텍처링을 할 수 밖에 없는 상황들 입니다. 강의에선 "dalki7711"님처럼 궁금해 하실 분들이 있으실 것 같아서... "섹션2 - 빅데이터 실환경의 이해"에서 실제 프로젝트에선 수십대의 서버에 다양한 빅데이터 에코시스템들을 이중화 및 분산구조 등으로 성능/안정성/확장성을 고려해 배치 된다는 것은 간략하게나마 설명 드렸습니다. 이때 어떤 S/W를 사용할 것이냐는 프로젝트의 목적에 따라 비용/성능/안정성/운영 등 많은 것을 고려합니다만, 의외로 현장에선 아키텍트 또는 의사결정권자 등이 경험 했던 제품으로 많이 결정 되곤 합니다. 제가 파일럿 프로젝트 강의에서 Flume, Kafka, Storm, Hbase 등을 선택해 실시간 기능을 구성 했던 것 처럼요~ 실전 프로젝트에서 저같은경우는...사업의 요구사항을 최우선으로 하고요, 본인의 경험과 기술 트랜드 그리고 개발자/운영자들의 기술수준 등을 고려해서 아키텍처링을 하는편 입니다. 아 마지막 질문중 서비스 확장에대해 물어 보셨는데요, 대부분의 실운용 시스템엔 자원을 모니터링 하는 툴들이 있게 됩니다. 시스템의 중요도에 따라 리소스의 사용률 임계치 정하는데요...중요도가 높은 시스템일 수로 임계치를 낮게 잡습니다. 예를들의 CPU/Mem 사용률이 피크시간때 80% 이상 넘는 다든지, 일평균 70%를 넘는다든지, 자원의 스파이크가 매우 빈번하게 발생 한다던지 하면 삐요삐요를 알리고, 필요시 서버를 Scale-Out/Up 하게 됩니다. 요즘엔 Cloud Native 환경을 이용해 이러한 임계치를 기준으로 Auto Scale-In/Out를 처리하기도 합니다. 요약하자면 기준은 따로 없고요 시스템의 중요도와 모니터링 결과에 따라 케바케라 보시면 됩니다. ^^ -빅디 드림
- 0
- 1
- 102
질문&답변
2024.02.20
파일럿 프로젝트 pc 환경 구성 질문입니다.
안녕하세요! "ssafy204"님! Docker 컨테이너에서 작업은 SW들간의 의존성과 복잡성이 높아 불가능 합니다. 우선 강의에서 제공한 가상서버를 이용해 실습을 끝까지 완수해 보시고요~ 이후 다양하게 응용해 볼 수 있는 아이디어들이 개인의 역량에 따라 생기실 겁니다. 예를들어 프로젝트 중간에 Redis를 VM Server02에 설치하게 되는데, Redis서버를 Docker로 구성하는 아키텍처로 확장해 보는 방법등 입니다. -빅디 드림
- 0
- 1
- 101
질문&답변
2024.02.15
VirtualBox-5.0.40 실행불가
안녕하세요! "스스로 스터디"님! 아주 기분좋은 닉네임으로 만드셨네요!! ^^; 네~ 말씀하신대로 윈도우 버젼에 따라 VirtualBox 버젼에 호완성 문제가 있습니다. 그런경우 VirtualBox 7.0 버젼을 사용하시면 되고요~ 아마 강의에서 사용하는 VirtualBox 5.x와 UI가 좀 상이 하지만 문제없이 셋팅이 가능하실 겁니다. 그중 가장 큰차이는 "섹션 2. 파일럿 프로젝트 환경구성 > 4.통합환경구성"에서 "NAT Networks 및 호스트 전용 네트워크" 구성이 좀 다른데요. VirtualBox 7 기준 "파일 > 도구 > Network Manager"에서 관련 설정 창을 확인하실 수 있습니다. VirtualBox에서 가상서버만 정상 기동 된다면, 이후 과정은 강의 환경과 똑같아서 파일럿 프로젝트 진행에 문제 없으실 겁니다. 아래 관련 스크린캡쳐 올립니다~ -빅디 드림 (사진)(사진)
- 1
- 2
- 123
질문&답변
2024.02.15
클라우데라 ERR_CONNECTION_REFUSED 문제
네~ 확인 감사합니다! 가상서버 1,2번의 어댑터 값들이 다운로드로 최초 제공드린 설정값들에서 많이 상이해진 상태로 보입니다. 아마도...문제 해결을 위해 설정값들을 바꾸며 테스트를 진행 하신걸로 보이는데요... 지금 설정된 네트워크론 잘 안되는게 맞습니다. ^^;; 간단히 설명 드리자면요~ 어댑터1: NAT - VM서버가 Host(사용PC)에 연결된 인터넷과 통신에 사용 (파일럿 프로젝트 중후반 오픈소스 패키지 설치때 사용) 어댑터2: 호스트전용네트워크 - Host(사용PC)와 VM서버 및 VM서버간 통신에 사용 그래서 현재 문제되는 현상은 어댑터2의 호스트전용네트워크 설정 문제로 보입니다. 빠른 해결을 위해서 다소 번거롭겠지만 지금 VM Server01, 02는 모두 삭제해 주시고요, 새롭게 다운로드 받으셔서 "VM통합환경구성" 작업을 다시 부탁 드립니다. 특히 VirtualBox 6.x 부터는 호스트전용네트워크 설정이 좀 바뀌었는데요, "Virtualbox > 파일 > 호스트 네트워크 관리자" 에서 기 등록된 네트워크 어댑터가 있다면 모두 삭제하고 새롭게 등록해 주시고, 이때 등록된 네트워크 어댑터는 어댑터2의 호스트전용네트워크 설정중 "이름" 항목에서 반드시 선택해 주셔야 합니다. 우선 위 절차대로 진행해봐 주시고, VM서버의 Connection refuse가 발생 하면, 어댑터 설정값들을 수정하지 마시고, Server01,02의 각 어댑터1,2 설정값과 호스트네트워크관리자에 등록된 설정값들의 스크린샷을 다시한번 부탁 드립니다. 머든 시작이 5할 이상 이라는 말처럼, 시작이 참 어려운것 같습니다. ^^ 위 작업 다시한번 진행해봐 주세요~ -빅디 드림
- 0
- 4
- 278
질문&답변
2024.02.13
클라우데라 ERR_CONNECTION_REFUSED 문제
안녕하세요! qufrud95님! 즐거운 설 명절 보내 셨는지요?! 문의 주신 내용으로 봤을땐 VM이미지의 어댑터 설정을 확인해 봐야 할 것 같습니다. Server01, Server02 각각의 "네트워크 > 어댑터1 , 어댑터2" 스크린샷좀 부탁 드립니다. Server02는 문제가 없어 보이는데요...그래도 올려주세요~ ^^ -빅디 드림
- 0
- 4
- 278
질문&답변
2024.02.08
managed_smartcar_status_info 테이블
안녕하세요! Junhui Woo님! 먼저 까먹기 전에 "새해 복 많이 받으시고요! 파일럿 프로젝트도 연휴기간 꼭 완료 하세요!!" ^^ 문제의 상황을 좀 좁혀 봐야 겠습니다. 우선 Join은 잘 되는지를 확인해 봐야 할 것 같습니다. 하이브 에디터창에서 직접 Select 쿼리를 실행 하실때, wrk_date 조건문(t2.wrk_date='20240208')을 제외해서 쿼리 결과좀 부탁 드립니다. -빅디 드림
- 0
- 1
- 109
질문&답변
2024.02.03
Cloudera에서 식별되는 HDFS, HBase 에러
안녕하세요! Junhui Woo님! 실제 프로젝트를 진행 하다 보면, 여러 문제들이 발생하고 이를 해결해 가는 과정과 경험이 매우 중요합니다. 파일럿 프로젝트는 비록 미니멀하게 진행 되지만, 이런 트러블슈팅을 직접 해보면서 문제 해결 능력을 키우는것이 수강생들에게 더 좋은 상황이고, 무난한 기능 구현 보다 더 많은것을 배울수 있게 됩니다. 그러니 포기하지 마시고 좀 더 파이팅해 주세요~ ^^ HBase는 파일럿 프로젝트 환경에서 제일 무겁고 복잡한 놈입니다. 그래서 개인PC의 프로젝트 환경에서 위와같이 셧다운되는 현상은 비일비재합니다. 원인으로는 일시적인 자원부족(CPU, Mem) 현상, 특히 메모리 부족시 셧다운이 가장 잘 일어납니다. 그래서 현재 테스트와 무관한 서버들이 있다면 중지 시켜서 최대한 자원을 확보 후 테스트 하는게 중요합니다. 설명해 주신 상황은 HBase가 자원부족으로 강제 셧다운 된것으로 보이고 Junhui Woo님의 잘못은 없어보이니, 너무 자책하지 마시고요~ ^^;; 불필요한 서버/서비스를 종료후 차분하게 다시한번 테스트 진행해봐 주세요~ (특히 Cloudera Manager Service는 모니터링에만 사용하고, 테스트시에는 중지 시켜 놓으셔야 합니다.) ps. 주말엔 편안하게 리프레쉬 하고, 꼭~ 월요일부터 테스트 하셔야 합니다! ^^ -빅디 드림
- 0
- 1
- 141
질문&답변
2024.01.31
데이터 저장 공간 관련 문의 드립니다.
안녕하세요! Doo-min Song님! 아~주! 좋은 질문 주셨습니다! ㅎ DB도 결국 파일로 저장되는거 아시죠?! 다만 HDFS, Hive, Hbase, Kafka 등과의 차이는 스키마의 의존성이 강하냐 약하냐 입니다. 빅데이터 저장소들은 스키마에대한 의존성이 약합니다. 비정형성 데이터를 대규모로 안전하게 받아주고. 이후 필요시 스키마를 정의해 유연하게 처리 하기 위한 스키마마온리드(읽는 시점에 스키마를 정의) 또는 key/value 매커니즘에 중점을 두었기 때문입니다. 그래서 첫번째 질문의 답은 여러곳(디렉토리, 메모리, 서버 등)에 저장 되는게 맞지만 그 원리는 DB와 많이 다르다 입니다 두번째 답변은 빅데이터의 Volume Varity Velocity 특성 때문에 매우 어려운 주제인데요.. 그래서 RDB 방식과 유사하면서도 크게 차이가 남니다. 보안이 필요한 데이터만 분리해 별도 저장하고 접근제어를 철저히 하기도 하고요, 암복호화 솔루션을 이용해 필드별로 암호화해 저장하기도 하고요, 수집/적재 할때 비식별화해 저장 하기도 하고요, 애초에 개인 정보는 제외 하기도 하고요, 이는 빅데이터의 활용유형에 따라, 인더스트리에 따라, 조직 문화에 따라 다른데 예를들어.. 분석이 중심인 빅데이터 시스템은 3,4번 또는 4번 방식 위주로 처리 합니다. DW 또는 마켓팅에 활용되는 빅데이터 플램폼은 1,2번 위주로 처리를 합니다. 빅데이터의 철학과 가장 궁합이 잘맞는건 4번입니다. 빅데이터의 목적이 과거의 대규모 데이터에서 보이지 않았던 패턴과 미래 가치를 발견 및 분석 하는것이기 때문에 개개인의 식별정보는 필요하지 않기 때문이죠~ ^^ 좋은 질문 감사합니다. -빅디 드림
- 0
- 1
- 90
질문&답변
2024.01.31
storm topology 배포 에러
안녕하셔요! 빅디 입니다. Path 설정에서 storm 정보에 오타가 있는듯 합니다. 앞에있는 $를 제거해 주세요~ -빅디 드림
- 0
- 1
- 65
질문&답변
2024.01.30
외부 네트워크 설정 및 클러스터
안녕하세요! 빅디입니다. Junhui Woo님 열정을 응원합니다! ㅎ 첫번째 질문에 답변은요~ 상황에따라 여러방식이 있을수 있습니다. 아래 블로그는 홈 환경에서 구성 방법이니 참고해 보시고요! https://shutcoding.tistory.com/m/entry/%EC%99%B8%EB%B6%80pc%EC%97%90%EC%84%9C-VirtualBox-%EC%A0%91%EC%86%8D%ED%95%98%EA%B8%B0 두번째 답변은요~ 클러스터의 정의는 매우 다양합니다. 일반적으론 다수의 물리적 서버를 네트워크로 연결해, 논리적인 하나의 서버인 것처럼 컴퓨팅 파워를 만들어 내는것이 클러스터 입니다. 예를들어 하둡 클러스터, 스파크 클러스터, 카푸카 클러스터, Hbase 클러스터 등입니다. 여기서 각각 솔루션(제품) 특성에따라 분산된 여러 서버들을 하나로 묶는 것이 클러스터 입니다. 즉 클러스터의 그룹핑에 명확한 기준이라 함은 없습니다. 여러 서버를 하나로 묶어서 솔루션의 용도(분산저장소, 분산처리, NoSQL, MoM 등)에 맞춰 하드웨어/소프트웨어 기능을 최적화 하는거라면 클러스터라 생각 하셔도 됩니다. -빅디 드림
- 0
- 1
- 77