본문 바로가기
반응형

전체 글711

[Spark-Study] Day-5 인텔리제이에서 실습 2021.06.14 - [Study/Study group] - [Spark-Study] Day-1 2021.06.24 - [Study/Study group] - [Spark-Study] Day-2 2021.07.01 - [BigDATA/spark] - [Spark-Study] Day-3 2021.08.05 - [BigDATA/spark] - [Spark-Study] Day-4 관련 github : https://github.com/databricks/LearningSparkV2 챕터3의 소스를 동작하기 위해 다시 프로젝트를 생성해보았다. git clone https://github.com/databricks/LearningSparkV2.git 소스를 클론해 오고 IDE에서 오픈하였다. main소스에서는 .. 2021. 8. 12.
[Spark-Study] Day-4 스파크 로컬 디버깅 2021.06.14 - [Study/Study group] - [Spark-Study] Day-1 2021.06.24 - [Study/Study group] - [Spark-Study] Day-2 2021.07.01 - [BigDATA/spark] - [Spark-Study] Day-3 spark local debugging 해보기 코드상으로는 아래의 내용이 추가 된다. val conf = new SparkConf().setAppName("MnMCount") conf.setIfMissing("spark.master", "local[*]") val spark = SparkSession .builder .config(conf) .getOrCreate() // val spark = SparkSession //.. 2021. 8. 5.
[IntelliJ] plug-in Code With Me IntelliJ를 2021.02버전으로 업그레이드를 한 뒤에 재미난 것을 발견하였다. code with me라는 플러그 인 인데 이것을 사용하면 요즘 코로나 시대에 발 맞추어 비대면으로 코드 리뷰등을 손쉽게 할 수 있다. 2021.02버전을 인스톨하면 자동으로 해당 플러그인이 installed 된 상태이다. 1. 권한 부여 요 기능을 사용하려면 먼저 Permission and Security를 통해 말 그대로 권한을 부여한다. 아래처럼 읽기,수정, 모든권한 등등~ 2. 초대 링크 권한을 부여한 뒤 초대 링크를 카피한다. 3. 승인 대기 메신저로 링크를 상대방에게 보내주면 클릭 시 아래와 같이 승인이 날 때까지 대기한다. 4. 권한에 따라 활동이 가능하다. 승인이 된 후에는 런처가 자동으로 수행 되고 프로.. 2021. 7. 29.
Upgrade IntelliJ IDEA for Big Data Tool Plug-In & running spark! 2021.07.01 - [BigDATA/spark] - [Spark-Study] Day-3 회사에서 인텔리J를 사줘서 유용하게 사용하고 있다! 그래서 Ultimate version으로 셋팅! 학생이라면 Community 버전으로! 그런데 역시나 돈을 안내면 제한은 있다..ㅜㅜ 위에서 IntelliJ IDEA -> Applications로 드래그 해주면 인스톨 된다. 인스톨 이후 Plugins에서 Big Data Tools를 인스톨 해준다. 단, 커뮤니티 버전이면 big data tool 플러그인은 보이지 않는다.. 그리고 spark-submit을 위해 local에 spark를 셋팅 해주어야하며 Mac 유저라면 brew를 통해 인스톨 해주자. 스터디에서 사용되는 예제는 spark 3.x 이상이어야 동작한다.. 2021. 7. 29.
EPI group 스터디 인원 총 3명 : 태하, 웅기, 낭도 스터디 목표 1. 태하 : 스터디를 통해 개발에 대한 동기부여 및 개인역량 증진! 2. 웅기 : 3. 낭도 : 스터디 방식 어떻게 할까? 1. 태하 : 포트폴리오(최종산출물) 설정 -> 필요한 것들 스터디 하는 방식(개별) 2. 웅기 : java 기본 개념 잡고 3. 낭도 : Blog 정보 태하 : https://acet.pe.kr/ 웅기 : https://roobi-story.tistory.com/ 2021. 7. 27.
springboot에서 main args를 사용하려면? 내가 하고 싶은 것은 아래와같이 argument에 날짜를 넣고 그것을 메인쪽에 있는 String[] args에서 받아서 처리하는 것이다. 디버깅을 해보면 args에 위에서 설정했던 값이 들어오는것 처럼 보인다. 그러나 현실은 에러!! 아래에 보면 public void run()쪽에서 예외가 나버린다. java.lang.reflect.InvocationTargetException 콘솔창에 찍힌 오류 내용 Exception in thread "restartedMain" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodA.. 2021. 7. 2.
[Spark-Study] Day-3 스파크 예제를 위한 셋팅 spark 예제 돌려보기 sbt로 build를 하기 위해 필요한 것은 아래와 같다. 1. 소스 2. build.sbt sbt clean 한뒤에 sbt package를 해보자! spark-submit 해보기! /usr/local/Cellar/apache-spark/3.1.1/bin/spark-submit --class MnMcount target/scala-2.12/main-scala-chapter2_2.12-1.0.jar mnm_dataset.csv 인텔리J에 셋팅 해보기! 인텔리J에서 프로젝트를 Open 해보자! 아래와 같이 인텔리J에 프로젝트를 잘 가져왔다. 프로젝트 구조는 위와 같다. MnMcount 소스 // scalastyle:off println import org.apache.spark.sq.. 2021. 7. 1.
curl 명령어 사용시 정보 없이 조회 하는 방법 아래와 같이 curl로 찔러보았다! curl -XGET ${TARGET_URL} >> ${ERROR_OUTPUT_FILE_PATH} 2>&1 JSON형태만 저장되길 바랬는데..아래와 같이 원하지 않는 정보가 함께 파일에 쌓였다. % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed ^M 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 보이지 않기 위해서는 아래와 같이 -s, --silent 옵션을 사용하면 된다. curl -s -XGET ${TARGET_URL} >> ${ERROR_OUTPUT_FILE_PATH} 2>&1 아래와 같이 깔끔하게 저장되.. 2021. 6. 28.
es 버전이 낮으면.. 주저리 es버전..1.2.1 완전 오래된..버전을 사용하면.. 공용으로 사용하는 spark 2.4.5 / scala 2.12 / elastic lib 버전 문제로 온갖 삽질 다함... es 버전을 못올리는 상황이라면? 공용 spark쪽 사용 X es lib를 버전업 못한다면 자체 개발 -> springboot + springdata + elasticsearch로 개발 으악! 이것도 역시나 버전문제 발생.. 그래서 방향 다시 틀었다. REST api를 curl로 찔러서 파일로 다운. 이 파일을 자바에서 처리 하는걸로! 운영업무에 있어서 버전관리가 가장 큰 문제구나.. 2021. 6. 27.
[Spark-Study] Day-2 예제 돌려보기 p31 The Spark UI 저번시간 스파크 셋팅 이후 cd /usr/local/Cellar/apache-spark/3.1.1/bin에 가서 spark-shell을 실행 시켜준다. spark-shell 아래와 같이 환영 해줌! ㅋㅋ To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). Spark context Web UI available at http://아이피나옴:4040 Spark context available as 'sc' (master = local[*], app id = local-1624457045234). Spark session available as 'spark'. Wel.. 2021. 6. 24.
[error] SERVER ERROR: Service Unavailable url=블라블라 Error.. not found 에러! 15:54:42.639 [warn] :::::::::::::::::::::::::::::::::::::::::::::: 15:54:42.640 [warn] :: UNRESOLVED DEPENDENCIES :: 15:54:42.640 [warn] :::::::::::::::::::::::::::::::::::::::::::::: 15:54:42.640 [warn] :: net.databinder.dispatch#dispatch-core_2.12;0.11.2: not found 15:54:42.640 [warn] :: org.scalatest#scalatest_2.12;2.2.4: not found 15:54:42.640 [warn] :: org.apache.spark.. 2021. 6. 14.
[Spark-Study] Day-1 스파크 셋팅 mac에 아파치 스파크 설치 - brew info apache-spark - brew install apache-spark 3.1.1 셋팅 완료! 스파크는 아래와 같이 다양하게 사용이 가능하다! Spark Job Spark Stages - Job -> stage 즉, 각 Job마다 Stage가 parallel 하게 또한 연속적인 형태로 붙을 수 있다. - 스터디 시 그림만 보고 Job은 parallel하게 되고 연속적인 Single Stage가 호출 되는줄 오해 했음. Spark Tasks 최종적으로 머릿속에 큰 그림이 그려지는가? Spark 아키텍처 콜? Transformations, Actions, and Lazy Evaluation 각각의 특징을 설명할 수 있는가? Transformations와 A.. 2021. 6. 14.
맥북 ESC 사라짐 현상 현상 : vi를 편집하는데..esc가 사라졌다 ㅋㅋㅋㅋ 해결 :  sudo pkill TouchBarServer 명령어를 쳐주면 터치바가 재실행 된다고 한다. ESC가 다시 생겼다..ㅋㅋ 끝~ 2021. 6. 9.
D2Coding으로 폰트수정 개발자라면 많이들 사용하는 zsh 아래의 사이트를 참고하여 셋팅 후! https://ooeunz.tistory.com/21 폰트를 수정해보자! 체인지하는 부분이 아니여서 찾아보다가 서체를 먼저 설치를 해야한다는것을 알았다 ㅋㅋ 서체 변경은 https://github.com/naver/d2codingfont/releases/tag/VER1.3.2 (2021.08.14 수정)에서 D2Coding-Ver1.3.2-20180524.zip파일이 있다. 다운로드 후 압축 해제를 한다! 압축 해제를 하면 아래와 같이 나오는데 D2Coding directory로 들어가서 떠블 클릭을 해준다! 무엇을? 아래의 ttc, ttf, ttf 파일들을~클릭해서 서체를 설치 해준다. 서체 설치 후 iTerm Preferences에.. 2021. 5. 17.
elk www.elastic.co/kr/what-is/elk-stack ELK Stack: Elasticsearch, Logstash, Kibana ELK Stack이란 무엇인가요? ELK Stack은 널리 알려진 세 개의 오픈 소스 프로젝트인 E=Elasticsearch(Lucene 기반), L=Logstash, K=Kibana의 머리글자를 합친 것입니다. Beats가 추가되어 이제 ELK Stack을 Elastic Stack이 www.elastic.co 간만에 elk 셋팅을 해보려고 하는데 귀여운 이미지에 흥미가 더 생겼다 ㅋㅋ 이제는 거의 필수적으로 사용되는 ELK logstash 등 수집부분은 fluentd 같은 녀석을 많이 사용한다. EFK인가 그럼? ㅋㅋ Elasticsearch - 검색엔진 Logs.. 2021. 4. 30.
go cd go cd란? 오픈소스이다! 그리고 Continuous Integration and Continuous Delivery system이다. gocd는 gocd 서버와 gocd agent로 이루어져있다. 셋팅 시 자바기반이라 jdk가 필요하다. 그리고나서 go-server와 go-agent를 셋팅하면 된다. 셋팅 예제(CentOS기반) 1) 자바 설치 sudo yum install -y java-1.8.0-openjdk-devel.x86_64 # 자바 기반이라 자바 설치 2) go-server 설치 sudo yum install -y go-server # go-server 설치 sudo /etc/init.d/go-server start # goCD server start 3) go-agent 설치 sudo .. 2021. 4. 11.
Producer-Consumer 패턴 더보기 Runnable과 Callable의 차이점은? acet.pe.kr/819 > 상황 성능이 좋지 않은 부분이 발생하여 그 부분을 해소하기 위해 멀티 쓰레드로 처리하려고 했다. 그런데 멀티 쓰레드 처리 후 나오는 리스트형 데이터가 재사용 되어지는 문제가 발생. > 결론 생산자-소비자 패턴을 사용하기로 함. 생상자 - 멀티쓰레드 처리 및 리스트형 데이터를 블라킹 큐에 넣어줌. 넣기만 함! 소비자 - BlockingQueue에 넣어진 것들을 사용함. 사용만 함! > 간단한 프로젝트 만들어서 테스트 함. @SpringBootTest class DemoApplicationTests { @Test void producerAndConsumerMethodTest() { BlockingQueue q = new Li.. 2021. 3. 18.
Runnable과 Callable의 차이는? Runnable과 Callable의 차이는? - Runnable : 객체와 Exception을 발생 시키지 않음. - Callable : 특정 타입의 객체와 Exception을 발생 시킴. ㅇㅋ! 2021. 3. 18.
WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for '어쩌구@example.com/id_rsa' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. Load key "어쩌구@example.com/id_rsa": bad permissions ubuntu@example.co.. 2021. 3. 12.
Docker 리서치 도커 등장 배경 docker 관련 문서 : https://github.com/remotty/documents.docker.co.kr 서버를 관리한다는 것 복잡하고 어려운 서버관리 시간이 흐르면서 서버환경이 종종 바뀌거나 오픈소스가 바뀌거나 하는 걸 볼수 있습니다. CentOS -> Ubuntu Chef -> Ansible -> 또 다른 오픈소스 DevOps의 등장으로 짧은 개발주기와 잦은 배포 마이크로서비스 아키텍처의 유행 -> 프로그램은 더 잘게 쪼개어져 관리는 더욱 복잡해짐. 새로운 툴은 계속 나오고 클라우드의 발전으로 설치해야 할 서버가 수백, 수천대에 이르는 상황(?) 이런 노답인 상황에서 Docker가 등장하고 서버관리 방식이 완전히 바뀌게 됩니다. 도커의 역사 도커는 2013년 3월 산타클라라.. 2021. 2. 3.
마이크로서비스 아키텍처(Microservice Architecture) 마이크로 서비스 아키텍처 큰 문제를 상대적으로 작게 분해해 해결 이렇게 작게 나눈 각 서비스가 독립적으로 역할을 수행 한가지만, 아주 잘 처리하자. 라는 것이 마이크로 서비스 아키텍처의 기본 철학이다. 단일 책임 원칙(SRP)를 중시(Single Responsibility Principle) 비즈니스 태스크를 작은 태스크로 나누며, 각 태스크마다 마이크로 서비스를 정의 한다. 비즈니스 요구사항과 태스크를 얼마나 잘 나눴는지에 따라 시스템에 두개 혹은 100개의 마이크로 서비스가 존재 마이크로 서비스 아키텍처 특징 시스템을 둘 이상의 실행 단위 또는 컴포넌트로 구성한다. 각 컴포넌트는 기능을 서비스 형태로 표출, 결합도가 낮으며 비즈니스 목적에 맞게 동작한다. 각 컴포넌트는 메시징 큐, HTTP 요청/응답.. 2021. 2. 3.
반응형