전체 글 68

Spark Structured Streaming Service LAG 모니터링

Spark Structured Streaming 서비스의 Kafka LAG 모니터링을 위해 kafka-offset-committer 적용 Kafka Offsets Committer Kafka를 DataSource로 사용하는 Structured streaming query 의 한 배치 작업에서 쿼리가 처리되면 offsets을 commit할 수 있도록 돕는다. 특정 cousumer 그룹의 파티션별 end offsets 추출하여 KafkaConsumer의 commitSync API를 호출하여 강제 commit한다. Kafka Offsets Committer 적용 1. 의존성 추가 : spark-sql-kafka-offset-committer_2.12 - https://mvnrepository.com/artif..

IT 잡동사니 2024.11.15

deltalake - hive 연동

Hive와 연동 ! delta-hive connector 사용 delta-hive-assembly_2.12-3.1.0.jar 를 lib directory 에 추가 hive-site.xml의 hive.aux.jars.path 프로퍼티에 위에서 추가한 경로를 추가해줌. 혹은 아래와 같이 beeline 등으로 붙어서 CLI에서 설정도 가능SET hive.input.format=io.delta.hive.HiveInputFormat; SET hive.tez.input.format=io.delta.hive.HiveInputFormat; Hive와 연동하고 hdfs에 적재된 deltalake 테이블을 hive external table로 생성해보자. 데이터 타입이 정확히 일치하도록. set parquet.column..

카테고리 없음 2024.11.15

MongoDB logRotate (crontab or logRotate 적용)

logRotate (crontab or logRotate 적용) 1.crontab //crontab 실행 crontab -e //export VISUAL=vim; crontab -e //매일 23시 50분 사용자 시그널을 통해 신규 로그파일 생성하도록 설정 (로그 파일은 timestamp가 기록되며, UTC로 생성된다) 50 23 * * * /bin/kill -SIGUSR1 `ps -ef | grep mongod | grep -v grep | awk '{print $2}'` >> /home/test/mongodb/logs/logrotate.crontab.err 2>&1 //설정 조회 crontab -l //cron 재실행 service cron restart service cron status 2.3.5..

IT 잡동사니 2024.11.15

Spark 성능 튜닝

1. Spark Executor 는 몇개나?instance는 개수, core 수가 중요예를 들어, executor.instance가 10개, executor.core 수가 2 라면,10개의 instance에 각각 core가 2개가 실행되므로, 총 20개.거기에 executor.memory를 1G로 설정한다면 core당 memory가 할당되어 총 20G가 할당된다. - Kafka 를 소스로 한다면, Kafka 파티션 수를 보자. 파티션 당 core가 할당되는 것이 좋다.1 task, 1 core- 하나의 task를 1개의 core에서 처리하는데, 한번에 128MB 안으로 읽을 수 있도록 설정하는 것이 좋다.기본이 128MB이기 때문. 넘어가면 그 만큼 나눠서 읽어야 하기 때문에 성능이 떨어진다. 파티션의 ..

Spark 2024.11.10

[Docker] Ubuntu 도커 설치 / 도커 삭제 / 버전 업그레이드 / 도커 명령어까지 쉽다쉬워

도커를 설치해놓은지 너무 오래돼서 버전 업그레이드를 한다.이전 버전을 깔끔하게 지우고, 신규 버전으로 업그레이드 해보자. 이전에 설치해놓은 도커가 없다. 신규 설치다! 하는 사람들은 3번부터 시작~ 1. 일단 도커 종료sudo service docker stopsudo rm -rf /var/run/docker.sock 2. 기존 데이터 삭제for target in docker-compose docker.io docker-doc  docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $ target ; done 근데 잘 삭제가 안됐다.아래 명령어로 다시해보자.remove -> autoremove로 바꿈for target in doc..

IT 잡동사니 2024.11.05

Zeppelin multi instance (H/A) 구성

Zeppelin H/A 구성하기 안정성을 위해 H/A 구성을 하려고 하는데.. 보통 싱글 노드로 많이 사용하는 것 같다.도큐먼트에도 멀티노드 구성에 대한 이야긴 없다.어떻게 하지. .ChatGPT한테 물어봤다.열심히 말하는데 믿음이 안간다. 구글에 찾아보니  Zeppelin distributed architecture design 문서를 발견! 이것이 좀 도움이 될 것 같다. 우선 H/A 구성을 위해서 아래의 작업을 진행했다. 시작해보자~!1. 클러스터 구성${ZEPPELIN_HOME}/conf/zeppelin.site.xml 에 클러스터 정보 추가 zeppelin.cluster.addr zeppelin-server1-ip:6000,zeppelin-server2-ip:6000,zeppelin-serv..

IT 잡동사니 2024.11.05

Zeppelin Spark interpreter - yarn client / cluster 모드 실행, pyspark추가

Spark interpreter 설정  1. spark-interpreter.jar 가 잘 있는지 확인하자${ZEPPELIN_HOME}/interpreter/spark/ 하위에 spark-interpreter-0.11.1.jar가 있어야 한다.ls -al로 조회해보면 사이즈가 0일 수 있다.껍데기만 있을 수도 있으니 꼭 확인할 것!  2. Spark interpreter 설정${ZEPPELIN_HOME}/conf/interpreter.json을 연다.spark 설정에서 아래 세가지 설정을 해준다.- SPARK_HOME : 스파크 경로 지정(로컬에 이미 구성되어 있어야 함)- spark.master : yarn- spark.sumit.deployMode : client 혹은 cluster 입력 * Clie..

카테고리 없음 2024.11.05

Vue 프로젝트 빌드 환경 구분/포트 변경/도커 빌드/원격지 도커 실행까지!

1. 뷰 프로젝트 빌드 env.test 파일을 만들고, VUE_APP_으로 시작하는 변수를 생성하여 사용한다. 그리고, package.json의 script에 아래의 내용을 추가8080 포트가 기본이지만 8080씨는 너무 인기가 많아서.. 일단 8082로 변경해본다.script에 자주 사용하는 명령어들을 미리 지정해놓으면 유용하게 사용할 수 있다."script":{ "serve" : "vue-cli-service serve --port 8082" "build:test": "vue-cli-service build --mode op"}  빌드 해보자 ㅎㅎnpm installnpm run serve //원하는 포트로 잘 실행되는지 확인npm run build:test   2. 뷰 프로젝트 안에 server.j..

Frontend 2024.07.02

MongoDB - 명령어 모음집

Robo3T 로 보는게 편하다.맨날 까먹는 MongoDB 명령어 모음집 DB조회show dbs 컬렉션 조회use test; //db선택. 없을 때는 만들어짐.show collections; 전체 조회db.getCollection('collectionName').find()db.getCollection('collectionName').find().pretty 조건 조회컬럼명="테스트" 인 document 조회db.getCollection('collectionName').find("컬럼명":"테스트") 특정 필드 업데이트db.collectionName.update( { name: "song" }, { $set: { age: 31 } } ) 도큐먼트 업데이트db.collectionName.update( { n..

IT 잡동사니 2024.07.02