본문 바로가기
반응형

직장이 아닌 직업을 가지자!726

docker 빌드로 이미지를 만들어보자!(작성 중) docker로 이미지를 만들어보자! 우선 도커파일이 필요하다! 도커파일 안에는 예를 들어 아래의 포맷으로 구성되어져있다. FROM : 이미지를 생성할 때 사용할 기반 이미지를 지정. openjdk:8-jdk-alpine 라고 하면 알파인 OS에 JDK 8을 설치한 이미지 이다. RUN : 이미지를 생성할 때 실행할 코드를 지정한다. 아래에서는 패키지를 설치하고 파일 권한을 변경하기 위해 사용. WORKDIR : 작업 디렉토리를 지정. 해당 디렉토리가 없으면 새로 생성한다. 작업 디렉토리를 지정하면 그 이후 명령어는 해당 디렉토리를 기준으로 동작한다. COPY : 파일이나 폴더를 이미지에 복사한다. 상대경로를 사용할 경우 WORKDIR로 지정한 디렉토리를 기준으로 복사한다. ENV : 이미지에서 사용할 환.. 2022. 1. 25.
aws에서 타임존 및 호스트명을 변경해보자! EC2서버의 기본 타임존은 UTC 입니다. 이는 세계표준 시간으로 한국의 시간대가 아닙니다. 즉, 한국과 9시간의 차이가 발생!! 그러므로 한국시간으로 변경 해야합니다. 변경방법 sudo rm /etc/localtime sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime 확인 HOSTNAME 변경 아래의 방법으로 sudo hostnamectl set-hostname acet-springboot-webservice를 해줌. hostname 해주니 잘 반영되었다. sudo reboot이 아닌 나갔다가 다시 접속하니 아래와 같이 잘 반영되었다!! 아래의 방법은 해봤다가 삽질...변경이 안됐다! 참고 : https://docs.aws.amazon.com/ko_k.. 2022. 1. 25.
aws에 jdk install 하기 yum list java*jdk-devel 로 리스트를 가져왔더니..아래와 같이 2개의 패키지가 조회 되었다. 11로 셋팅하려고 했는데 안보이네.. 찾아보니 아래와 같은 방법이 있었다. 11버전을 깔아보자! rpm을 다운! # aws coreetto 다운로드 sudo curl -L https://corretto.aws/downloads/latest/amazon-corretto-11-x64-linux-jdk.rpm -o jdk11.rpm # jdk11 설치 sudo yum localinstall jdk11.rpm # jdk version 선택 sudo /usr/sbin/alternatives --config java # java 버전 확인 java --version # 다운받은 설치키트 제거 rm -rf .. 2022. 1. 25.
aws ssh 접속 불가 현상 위와 같이 ssh 접속을 하려는데 접속이 안되는 현상이 발생했다. ip가 고정이라면 괜찮지만..유동 아이피라면 아래처럼 열어놔서 해결하거나 매번 내 아이피로 수정해주면 된다. 내 IP를 선택 되어있는것을 Ipv4로 변경! aws에 요런 기능이 있었구만! ㅋ 저장 후에 다시 접속해보면 이제 어디서든 접속이 잘된다. .ssh에 있는 pem이 있어야 접근이 가능하니 안심하고 변경하자! 2022. 1. 25.
aws 서버구축 1. 회원가입 한다. https://aws.amazon.com/ko 2. 콘솔에 로그인해서 EC2 인스턴스를 만든다. EC2란? Elastic Compute Cloud의 약자이며 AWS에서 제공하는 서버라고 보면 된다. 학생 또는 개인 개발이 목적이면 걍 무료로 진행하면 된다. 딱 보면 무료처럼 보이는게 있다ㅋㅋ 3. 인스턴스를 만들기전 유의사항! 리전을 골라야한다. 미국쪽으로 디폴트로 되어있다. 한국쪽의 리전을 사용하는게 좋으니 서울로 골라준다. 이제 인스턴스를 시작해보자.(서버 구축 고고!) 아래의 사진처럼 Amazon Machine Image를 선택하자! 프리티어 가능한 사용하고 싶은 서버를 골라주면 된다. 서버하면 리눅스지! ㅋㅋ 선택 후 공짜 냄시가 나는걸로 선택하자. 킁킁~ T 시리즈는 범용 .. 2022. 1. 20.
aws 탄력 ip (public ip) 삭제하기 인스턴스와 탄력 ip의 연결은 해제했는데 완전삭제를 하지 못하였다. 찾아보니 요금이 부과 된다고 하여 완전 삭제를 하였다. 삭제 방법은 아래와 같습니다. 탄력적 IP 주소 릴리스!! 아래처럼 더 이상 계정에 할당할 수 없고 리소스에 연결할 수 없다고 합니다. 완전 삭제!! 릴리스를 하면 아래와 같이 사라진걸 볼수 있습니다. 끝! 2022. 1. 20.
helm chart storm 참고 : https://artifacthub.io/packages/helm/gresearch/storm helm chart를 통해서 아파치 스톰을 설치해보자! 쿠버네티스의 패키지를 한번에 다 설치해주기 때문에 뭐가(storm, zookeepr, ui, service, pod등) 어떻게 뜨는지 알수 있을 것이다. 당연히 k8s와 helm chart가 설치된 전제하에 아래를 보시면 됩니다. 가이드에 나온것과 같이 아래의 명령어를 쳐줍니다. $ helm repo add gresearch https://g-research.github.io/charts $ helm install my-storm gresearch/storm 원샷 원킬..이제 어떻게 띄워져있는지 보도록 하자! nimbus, supervisor, z.. 2022. 1. 19.
pv, pvc terminating 말고 완전 삭제하기! kubectl delete pv 으로 무심코 지웠는데... 완전 삭제가 아닌 terminating으로 나왔다. kubectl delete pv --grace-period=0 --force 이후 kubectl patch pv -p '{"metadata": {"finalizers": null}}' 를 해주면 완전히 삭제 된다. 2022. 1. 11.
OAuth2 구글, 네이버 로그인 추가 구글(https://console.cloud.google.com/) 프로젝트를 생성. OAuth2를 위해 API 및 서비스 > 사용자 인증정보 > OAuth 클라이언트ID 만들기 > OAuth 동의화면 등을 통해 아래와같이 생성 후 아래의 코드에 ID와 SECRET를 작성 해줍니다. application-oauth.properties spring.security.oauth2.client.registration.google.client-id=요기 spring.security.oauth2.client.registration.google.client-secret=요기 spring.security.oauth2.client.registration.google.scope=profile,email 네이버(https:.. 2022. 1. 6.
k8s와 docker 주저리 kubernetes를 공부하다가.. 아차! 싶었다! k8s는 도커 오케스트레이션을 위해서 나온 녀석인데..도커랑 나는 친한가? 도커를 확실히 가지고 놀아야겠다는 생각을 했다. 도커를 안해본건 아니다. 프로젝트에서도 해봤지만 제대로 모르는 느낌이다. 왜 이럴까? 온전히 내께 아니라서 그런거 같다. 좀 더 도커라는 녀석과 친해져야겠다. 외울껀 외우고 생각할껀 생각하며 온전히 이해 해보자! 2021. 12. 30.
springbootStudy07 - SpringBoot + Jpa + Mustache로 개발 이 강좌는 매주 화요일 사외 스터디를 통해 작성! 스프링 부트와 AWS로 혼자 구현하는 웹서비스 책을 선정!(이동욱 저) 내가 생각하는 커리큘럼이랑 같아서 선정! 음..그런데 책 대로 따라하면 바로 되지는 않음 ㅋㅋㅋ 변경사항 많음이 아쉬움! 지난 스터디 2021.10.13 - [OpenSource/Spring Boot] - springbootStudy01 - Jetbrains toolbox 설치 2021.10.14 - [OpenSource/Spring Boot] - springbootStudy02 - 그래들 기반 springboot project만들기! build.gradle 이해하기 2021.10.19 - [OpenSource/Spring Boot] - springbootStudy03-인텔리J(Int.. 2021. 12. 20.
log4j2 보안 취약성 발생! Apache Log4j 2*에서 발생하는 원격코드 실행 취약점(CVE-2021-44228)[2] https://www.boho.or.kr/data/secNoticeView.do?bulletin_writing_sequence=36389 log4j2가 사용하는 곳이 많다. 특히나 오픈소스등에 많다. apache storm , es , logstash등등.. 아래는 es 버전별 log4j 디펜던시 버전 정보이다. 정리해주신분 감사! (출처) - 조치방법 ※ (2.0-beta9 ~ 2.10.0) JndiLookup 클래스를 경로에서 제거 : zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class ※ (2.10 ~ 2.14... 2021. 12. 14.
리눅스에서 주기적으로 es 데이터 지우기 2021.08.22 - [OS/Linux&Unix] - Disk Full 처리 , 서버에서 로그만 찾겠다는 마인드는 버려라!! 에 이어서 이제 주기적으로 es 데이터를 지워주는 것을 리눅스 기반에서 처리 해보도록 하겠습니다. 아래의 2가지 요구사항! 1. 리눅스에서 주기적 crontab 이라는것을 사용하자. 2. es 데이터를 삭제 curl -XDELETE 'es-url:9200/index명-2021.10.*' 주기적인 처리는 crontab을 이용. crontab -e (수정)을 하여 아래와 같이 매달 1일 1시에 del_elastic.sh가 동작 하도록 한다. 00 01 1 * * /acet/script/del_elastic.sh >> /acet/script/remove.log 2>&1 del_elas.. 2021. 12. 12.
Zookeeper 상태 확인 mode에는 leader / follower가 있으며 상태체크는 status이며 죽어있으면 ./zkServer.sh start로 실행 시킨다. [acet-server bin]$ ./zkServer.sh status ZooKeeper JMX enabled by default Using config: /daum/program/zookeeper/bin/../conf/zoo.cfg Mode: follower 2021. 11. 22.
springbootStudy06- lombok 을 사용해보자! 이 강좌는 매주 화요일 사외 스터디를 통해 작성! 스프링 부트와 AWS로 혼자 구현하는 웹서비스 책을 선정!(이동욱 저) 내가 생각하는 커리큘럼이랑 같아서 선정! 지난 스터디 2021.10.13 - [OpenSource/Spring Boot] - springbootStudy01 - Jetbrains toolbox 설치 2021.10.14 - [OpenSource/Spring Boot] - springbootStudy02 - 그래들 기반 springboot project만들기! build.gradle 이해하기 2021.10.19 - [OpenSource/Spring Boot] - springbootStudy03-인텔리J(IntelliJ)에서 깃헙(github)연동 해보기 2021.10.26 - [OpenS.. 2021. 11. 9.
Spark Study - 용어를 익히자! (feat. spark architecture) spark의 주요 컴포넌트는 드라이버와 익스큐터이며 모두 jvm 프로세스이다. 드라이버 : 애플리케이션, 메인 프로그램이 들어가있다. spark-shell을 사용하고 있다면 spark-shell은 드라이버 프로그램이 되고, 드라이버는 클러스터에 익스큐터를 시작 시키고 태스크 실행을 제어한다. 익스큐터 : 클러스터의 워커 노드에서 실행 중인 프로세스이다. 익스큐터 내부에서 개별 태스크나 계산이 실행된다. 클러스터 관리자 : 클러스터를 구성하는 계산 노드 전체에 대해 자원 예약과 자원 할당을 담당한다. 종류에는 독립형, 얀, 메소스, 쿠버네티스가 있다. 스파크 프로그램의 주요 진입점은 SparkContext이다. SparkContext는 드라이버 컴포넌트 내부에 있으며, 스케줄러, 태스크 배포, 오케스트레이.. 2021. 10. 28.
springbootStudy05- test code를 작성해보자 이 강좌는 매주 화요일 사외 스터디를 통해 작성! 스프링 부트와 AWS로 혼자 구현하는 웹서비스 책을 선정!(이동욱 저) 내가 생각하는 커리큘럼이랑 같아서 선정! 지난 스터디 2021.10.13 - [OpenSource/Spring Boot] - springbootStudy01 - Jetbrains toolbox 설치 2021.10.14 - [OpenSource/Spring Boot] - springbootStudy02 - 그래들 기반 springboot project만들기! build.gradle 이해하기 2021.10.19 - [OpenSource/Spring Boot] - springbootStudy03-인텔리J(IntelliJ)에서 깃헙(github)연동 해보기 2021.10.26 - [OpenS.. 2021. 10. 27.
springbootStudy04 - .gitignore 파일을 만들어보자 이 강좌는 매주 화요일 사외 스터디를 통해 작성! 스프링 부트와 AWS로 혼자 구현하는 웹서비스 책을 선정!(이동욱 저) 내가 생각하는 커리큘럼이랑 같아서 선정! 지난 스터디 2021.10.13 - [OpenSource/Spring Boot] - springbootStudy01 - Jetbrains toolbox 설치 2021.10.14 - [OpenSource/Spring Boot] - springbootStudy02 - 그래들 기반 springboot project만들기! build.gradle 이해하기 2021.10.19 - [OpenSource/Spring Boot] - springbootStudy03-인텔리J(IntelliJ)에서 깃헙(github)연동 해보기 .gitignore파일이란? 요녀석.. 2021. 10. 26.
springbootStudy03-인텔리J(IntelliJ)에서 깃헙(github)연동 해보기 이 강좌는 매주 화요일 사외 스터디를 통해 작성! 스프링 부트와 AWS로 혼자 구현하는 웹서비스 책을 선정!(이동욱 저) 내가 생각하는 커리큘럼이랑 같아서 선정! 지난 스터디 2021.10.13 - [OpenSource/Spring Boot] - springbootStudy01 - Jetbrains toolbox 설치 2021.10.14 - [OpenSource/Spring Boot] - springbootStudy02 - 그래들 기반 springboot project만들기! build.gradle 이해하기 오늘은! 컨트롤 + 쉬프트+ A 를 눌러서 아래의 Share Project on GihHub를 찾아보자! 혹, No manual entry for share\;type\=a 를 간혹 볼수 있는데 그럴.. 2021. 10. 19.
Docker에 apache storm 셋팅 및 띄워보기!(feat. Zookeeper) Docekr 기반 apache storm을 셋팅 해보자. image가 필요하다. zookeeper storm image는 Dockerfile를 통해서 docker build를해서 만드는 방법도 있고 docker hub에서 pull를 하는 방법도 있다. docker pull storm를 하게 되면 storm image를 pull한다. storm latest 1397784c79f3 20 hours ago 667MB zookeeper의 경우 docker run을 했을 때 없으면 알아서 image를 pull 해준다. docker run -d --restart always --name some-zookeeper zookeeper 3. 이제 실행을 해야하는데 docekr run을 통해서 하거나 여러가지를 한꺼번에 .. 2021. 10. 14.
springbootStudy02 - 그래들 기반 springboot project만들기! build.gradle 이해하기 이 강좌는 매주 화요일 사외 스터디를 통해 작성! 스프링 부트와 AWS로 혼자 구현하는 웹서비스 책을 선정!(이동욱 저) 내가 생각하는 커리큘럼이랑 같아서 선정! 2021.10.13 - [OpenSource/Spring Boot] - springbootStudy01 - Jetbrains toolbox 설치 project 생성! 프로젝트는 spring 기본 셋팅을 지원해주는것을 사용하지 않고 쌩짜로 만들어봅니다. 왜냐면 build.gradle를 이해하기 위함이져! 기본 디폴트로 아래와 같이 build.gradle이 셋팅이 됩니다. plugins { id 'java' } group 'kr.pe.acet' version '1.0-SNAPSHOT' repositories { mavenCentral() } dep.. 2021. 10. 14.
반응형