묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실리콘밸리 엔지니어와 함께하는 Elasticsearch
Replication 설정 후에도 node가 1개만 조회됩니다.
안녕하세요. 강사님, "Elasticsearch Replication(복제)에 대해 알아보자" 강의에서 동일하게 'docker-compose-mult.yml' 파일을 작성하고 compose 실행까지는 성공했는데노드의 숫자가 1개이고 shard도 P인 것들만 나옵니다. 이유가 뭘까요? ㅠcompose파일내용 공유드립니다. version: "3.8" volumes: certs: driver: local esdata01: driver: local esdata02: driver: local esdata03: driver: local kibanadata: driver: local # metricbeatdata01: # driver: local # filebeatdata01: # driver: local # logstashdata01: # driver: local networks: default: name: elastic external: false services: setup: image: docker.elastic.co/elasticsearch/elasticsearch:${STACK_VERSION} volumes: - certs:/usr/share/elasticsearch/config/certs user: "0" command: > bash -c ' if [ x${ELASTIC_PASSWORD} == x ]; then echo "Set the ELASTIC_PASSWORD environment variable in the .env file"; exit 1; elif [ x${KIBANA_PASSWORD} == x ]; then echo "Set the KIBANA_PASSWORD environment variable in the .env file"; exit 1; fi; if [ ! -f config/certs/ca.zip ]; then echo "Creating CA"; bin/elasticsearch-certutil ca --silent --pem -out config/certs/ca.zip; unzip config/certs/ca.zip -d config/certs; fi; if [ ! -f config/certs/certs.zip ]; then echo "Creating certs"; echo -ne \ "instances:\n"\ " - name: es01\n"\ " dns:\n"\ " - es01\n"\ " - localhost\n"\ " ip:\n"\ " - 127.0.0.1\n"\ " - name: kibana\n"\ " dns:\n"\ " - kibana\n"\ " - localhost\n"\ " ip:\n"\ " - 127.0.0.1\n"\ > config/certs/instances.yml; bin/elasticsearch-certutil cert --silent --pem -out config/certs/certs.zip --in config/certs/instances.yml --ca-cert config/certs/ca/ca.crt --ca-key config/certs/ca/ca.key; unzip config/certs/certs.zip -d config/certs; fi; echo "Setting file permissions" chown -R root:root config/certs; find . -type d -exec chmod 750 \{\} \;; find . -type f -exec chmod 640 \{\} \;; echo "Waiting for Elasticsearch availability"; until curl -s --cacert config/certs/ca/ca.crt https://es01:9200 | grep -q "missing authentication credentials"; do sleep 30; done; echo "Setting kibana_system password"; until curl -s -X POST --cacert config/certs/ca/ca.crt -u "elastic:${ELASTIC_PASSWORD}" -H "Content-Type: application/json" https://es01:9200/_security/user/kibana_system/_password -d "{\"password\":\"${KIBANA_PASSWORD}\"}" | grep -q "^{}"; do sleep 10; done; echo "All done!"; ' healthcheck: test: ["CMD-SHELL", "[ -f config/certs/es01/es01.crt ]"] interval: 1s timeout: 5s retries: 120 es01: depends_on: setup: condition: service_healthy image: docker.elastic.co/elasticsearch/elasticsearch:${STACK_VERSION} labels: co.elastic.logs/module: elasticsearch volumes: - certs:/usr/share/elasticsearch/config/certs - esdata01:/usr/share/elasticsearch/data ports: - ${ES_PORT}:9200 environment: - node.name=es01 - cluster.name=${CLUSTER_NAME} # - discovery.type=single-node - discovery.seed_hosts=es02,es03 - ELASTIC_PASSWORD=${ELASTIC_PASSWORD} - bootstrap.memory_lock=true - xpack.security.enabled=true - xpack.security.http.ssl.enabled=true - xpack.security.http.ssl.key=certs/es01/es01.key - xpack.security.http.ssl.certificate=certs/es01/es01.crt - xpack.security.http.ssl.certificate_authorities=certs/ca/ca.crt - xpack.security.transport.ssl.enabled=true - xpack.security.transport.ssl.key=certs/es01/es01.key - xpack.security.transport.ssl.certificate=certs/es01/es01.crt - xpack.security.transport.ssl.certificate_authorities=certs/ca/ca.crt - xpack.security.transport.ssl.verification_mode=certificate - xpack.license.self_generated.type=${LICENSE} mem_limit: ${ES_MEM_LIMIT} ulimits: memlock: soft: -1 hard: -1 healthcheck: test: [ "CMD-SHELL", "curl -s --cacert config/certs/ca/ca.crt https://localhost:9200 | grep -q 'missing authentication credentials'", ] interval: 10s timeout: 10s retries: 120 es02: depends_on: setup: condition: service_healthy image: docker.elastic.co/elasticsearch/elasticsearch:${STACK_VERSION} labels: co.elastic.logs/module: elasticsearch volumes: - certs:/usr/share/elasticsearch/config/certs - esdata02:/usr/share/elasticsearch/data # ports: # - ${ES_PORT}:9200 environment: - node.name=es02 - cluster.name=${CLUSTER_NAME} # - discovery.type=single-node - discovery.seed_hosts=es01,es03 - cluster.initial_master_nodes=es01,es02,es03 - ELASTIC_PASSWORD=${ELASTIC_PASSWORD} - bootstrap.memory_lock=true - xpack.security.enabled=true - xpack.security.http.ssl.enabled=true - xpack.security.http.ssl.key=certs/es01/es01.key - xpack.security.http.ssl.certificate=certs/es01/es01.crt - xpack.security.http.ssl.certificate_authorities=certs/ca/ca.crt - xpack.security.transport.ssl.enabled=true - xpack.security.transport.ssl.key=certs/es01/es01.key - xpack.security.transport.ssl.certificate=certs/es01/es01.crt - xpack.security.transport.ssl.certificate_authorities=certs/ca/ca.crt - xpack.security.transport.ssl.verification_mode=certificate - xpack.license.self_generated.type=${LICENSE} mem_limit: ${ES_MEM_LIMIT} ulimits: memlock: soft: -1 hard: -1 healthcheck: test: [ "CMD-SHELL", "curl -s --cacert config/certs/ca/ca.crt https://localhost:9200 | grep -q 'missing authentication credentials'", ] interval: 10s timeout: 10s retries: 120 es03: depends_on: setup: condition: service_healthy image: docker.elastic.co/elasticsearch/elasticsearch:${STACK_VERSION} labels: co.elastic.logs/module: elasticsearch volumes: - certs:/usr/share/elasticsearch/config/certs - esdata03:/usr/share/elasticsearch/data # ports: # - ${ES_PORT}:9200 environment: - node.name=es03 - cluster.name=${CLUSTER_NAME} # - discovery.type=single-node - discovery.seed_hosts=es01,es02 - cluster.initial_master_nodes=es01,es02,es03 - ELASTIC_PASSWORD=${ELASTIC_PASSWORD} - bootstrap.memory_lock=true - xpack.security.enabled=true - xpack.security.http.ssl.enabled=true - xpack.security.http.ssl.key=certs/es01/es01.key - xpack.security.http.ssl.certificate=certs/es01/es01.crt - xpack.security.http.ssl.certificate_authorities=certs/ca/ca.crt - xpack.security.transport.ssl.enabled=true - xpack.security.transport.ssl.key=certs/es01/es01.key - xpack.security.transport.ssl.certificate=certs/es01/es01.crt - xpack.security.transport.ssl.certificate_authorities=certs/ca/ca.crt - xpack.security.transport.ssl.verification_mode=certificate - xpack.license.self_generated.type=${LICENSE} mem_limit: ${ES_MEM_LIMIT} ulimits: memlock: soft: -1 hard: -1 healthcheck: test: [ "CMD-SHELL", "curl -s --cacert config/certs/ca/ca.crt https://localhost:9200 | grep -q 'missing authentication credentials'", ] interval: 10s timeout: 10s retries: 120 kibana: depends_on: es01: condition: service_healthy image: docker.elastic.co/kibana/kibana:${STACK_VERSION} labels: co.elastic.logs/module: kibana volumes: - certs:/usr/share/kibana/config/certs - kibanadata:/usr/share/kibana/data ports: - ${KIBANA_PORT}:5601 environment: - SERVERNAME=kibana - ELASTICSEARCH_HOSTS=https://es01:9200 - ELASTICSEARCH_USERNAME=kibana_system - ELASTICSEARCH_PASSWORD=${KIBANA_PASSWORD} - ELASTICSEARCH_SSL_CERTIFICATEAUTHORITIES=config/certs/ca/ca.crt - XPACK_SECURITY_ENCRYPTIONKEY=${ENCRYPTION_KEY} - XPACK_ENCRYPTEDSAVEDOBJECTS_ENCRYPTIONKEY=${ENCRYPTION_KEY} - XPACK_REPORTING_ENCRYPTIONKEY=${ENCRYPTION_KEY} mem_limit: ${KB_MEM_LIMIT} healthcheck: test: [ "CMD-SHELL", "curl -s -I http://localhost:5601 | grep -q 'HTTP/1.1 302 Found'", ] interval: 10s timeout: 10s retries: 120
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
GTM/GA4 태그가 중복됩니다.
알려주신대로 기본 태그 추가 뒤, 버튼에 대한 클릭 태그를 만드려고 하니 컨테이너에 태그가 없다고 뜹니다.ㄴ 해당 태그를 추가하니 정상적으로 작동은 되나, all page init 이벤트에 태그가 두 개 작동되어 디버그 시 하단처럼 보이네요. 원인이 뭘까요? 별개로, 강의 잘 수강하고 있습니다. 여타 봤던 모든 강의 중에 제일 이해가 잘 되네요.궁금한 것들 먼저 보느라 순서가 뒤죽박죽이지만 전체 완강할 수 있도록 하겠습니다. ^^
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
[해결 방법] 스프링 부트 2.x -> 3.x 업그레이드
섹션5의 MyBatis 적용2 - 설정과 실행에서 원하는 결과가 나오질 않아서 봤더니, MyBatis는 스프링 부트 3.x에 지원하는 버전으로 설정되어있고 현재 프로젝트 설정은 스프링 부트 2.x 이다보니 버전 충돌로 되지 않아서 과감하게 프로젝트를 3.x 대로 변경하는 삽질을 해봤습니다. #1. 먼저 3.x 에서 만든 프로젝트가 필요합니다.#2. 1에서 만든 프로젝트에서 gradle/wrapper에 있는 아래의 두개 파일을 복사해 옵니다.gradle-wapper.jar gradle-wrapper.properties#3. build.gradle 수정plugins { id 'java' id 'org.springframework.boot' version '3.4.5' #버전에 맞게 수정 id 'io.spring.dependency-management' version '1.1.7' } group = 'com.example' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } }#4. Project Structure 확인#인텔리제이에서 File -> Project Stucture 에서 Project Settings > Project : SDK 가 17 이상인지 확인#5. Gradle 동기화인텔리제이에서 했는데 잘 안되면 CLI 환경에서 아래처럼 시도#in mac chmod +x gradlew ./gradlew clean ./gradlew build#6. 5를 시도했는데도 안되면,#인텔리제이에서 File -> Invalidate Caches... 를 하고 재시도
-
미해결하울의 안드로이드 인스타그램 클론 만들기
firebase storage에서 putfile해도 이미지 업로드가 안되요..
var storageRef = storage?.reference?.child("images")?.child(imageFileName) // FileUpload storageRef?.putFile(photoUri!!)?.addOnSuccessListener { Toast.makeText(this, getString(R.string.upload_success), Toast.LENGTH_LONG).show() }이런식으로 강의랑 똑같이해도 에러는 안나지만Toast메시지가 안뜹니다. 제 버전과 storage 규칙은 아래와 같습니다.// 버전 firebaseAuth = "23.2.0" firebaseStorageKtx = "21.0.1" // 규칙 allow read, write: if false;
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
UI 불러오지 못함
제가 보기 편하게 하려고 Resources 폴더를 Resources 라고 이름을 바꿨습니다그리고 이름 때문에 안되는건가 하고 이름을 다시 수정하려니까 엑세스가 거부 됐다고 그것도 안됩니다 ㅜㅜ 이름 변경으로 인해 실행이 안되는건가요? 16분 부분입니다
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
질문삭제
질문삭제
-
미해결김영한의 실전 자바 - 중급 2편
자료구조&알고리즘 강의
코딩인터뷰용 자료구조&알고리즘 강의 만들어주시면 안되나요. 김영한님 한테 전달좀 해주세요ㅜㅜ
-
해결됨챗GPT와 파이썬으로 주식 자동매매 앱 및 웹 투자 리포트 만들기
파이썬 32비트 가상환경
파이썬 32비트 가상환경으로 설치한다는게 정확히 어떤 의미인가요? 이미 아나콘다가 설치되어 있는 경우는 파이썬을 다운그레이드 하는걸까요?
-
해결됨비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
프론트서버와 net인스턴스 서버는 nano 인스턴스로도 충분할까요??
제가 프론트서버 백서버 NAT인스턴스 역할을 하는 서버 이렇게 EC2를 3개 쓰려구합니다!!백서버는 프리티어인 t2.micro로 하고프론트서버는 t4g.nano로 하려고합니다1. 프론트서버라 메모리가 백서버만큼 먹진않을거같고2. t4g.nano가 nano중에 제일 싼데 성능은 제일 좋고3. arm64기반이긴한데 Next.js 서버가 충분히 호환된다고 들어서입니당Net인스턴스서버는 t3a.nano 쓰려고합니다1. Net게이트웨이 대용이라 nano면 충분할거같고2. Net Ami가 x86_64기반이라 arm64기반은 어려워 t4g.nano는 쓰지못하여 다음으로 저렴한 x86_64기반인 t3a.nano를 택했습니다근데 걱정이 일단 t2.micro의 성능은 확인해서 백서버가 돌아가는건 확인했는데 nano인스턴스들이 프론트서버와 net인스턴스의 제 역할을 해줄지 성능이 부족하진 않을지 걱정이네요 ㅠㅠ 혹시 이정도면 충분한 성능이 될까용??
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
강사님 코드로 진행할 경우 console.log( config); 도 안찍혔어요. instance 를 생성해서 공통으로 사용하셨는데 loginUser 에만 커스텀한 instance를 넣으니 콘솔에 컨피그 객체가 찍혀요
강사님 코드로 진행할 경우 console.log( config); 도 안찍혔어요. instance 를 생성해서 공통으로 사용하셨는데 loginUser 에만 커스텀한 instance를 넣으니 콘솔에 컨피그 객체가 찍혀요 function loginUser(userData) { const instance = createInstance(); return instance.post('login', userData); } export { loginUser }; console.log('Request Interceptor:', config); <- 해당 부분이 안찍히다 로그인 함수에만 커스텀 인스턴스를 사용하니 찍히네요영상이 대체로 ㅇ조금 그대로하면 안되는 경우들이 있는 것같습니다. 부분적인 업데이트는 필요한 것 같습니다 import store from '@/store/index'; // Vuex 스토어 가져오기 export function setInterCeptors(instance) { // Add a request interceptor 요청 인터셉터 instance.interceptors.request.use( function(config) { // 요청 전 실행되는 부분 // console.log('Request Interceptor:', config); config.headers.Authorization = store.state.token; // 토큰을 헤더에 추가 console.log('Request Interceptor:', config); return config; }, function(error) { return Promise.reject(error); }, ); // Add a response interceptor instance.interceptors.response.use( function(response) { // 응답 후 처리 return response; }, function(error) { return Promise.reject(error); }, ); return instance; }
-
미해결코딩 몰라도 OK! CursorAI로 시작하는 개발 생활 (웹/초급)
codebase 안뜨는 경우
실습과정 따라하는 중에 codebase가 안뜨더라구요.해결 방법을 찾으려해도 잘 안찾아져요..
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
h2 database jdbc 주소 변경
jdbc:h2:tcp://localhost/~/test는 다른 프로젝트에서 연습하고 있어서 다른 주소로 사용하려고하면 어떻게 하죠???
-
미해결데이터 드리븐 그로스 마케팅 - 고객 중심의 문제 해결력 업그레이드
그로스 방정식 수립하기
안녕하세요, 그로스 방정식 강의를 듣던 중 방정식을 구성하는 변수(지표)를 어떻게 파악할 수 있는지 접근 방법에 대한 조언 부탁드립니다. 아래와 같이 접근하면 좋을까요?예를 들어, 앱설치, 7일 무료 서비스 사용률, 유료 서비스 전환율, 월별 재결제율의 각 변수를 고객 여정을 기반으로 하여 순서대로 구성합니다. 고객 여정이 1)신규 앱 - 2)7일 무료 시작 - 3)유료 전환 - 4)재결제 일때, 변수 7일 무료 서비스 사용율을 신규 앱 설치 사용자 수 대비 7일 무료 서비스 사용자수로 계산하시나요?
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
404.tsx
🚨긴급 공지04.30 ~ 05.07 휴가 기간으로 인해 효빈님께서 답변을 대신 해 주실 예정입니다.불편함을 드려 죄송합니다. 금방 복귀하겠습니다 🫡 🚨 필독) 질문하시기 전에 꼭 읽어주세요 (10초 소요)제목을 구체적으로 작성해 주세요✅ 좋은 예 : 감정일기장 Home 구현중 xx 이슈가 발생합니다.⛔️ 나쁜 예 : 이거 왜 안되나요?, 오류나요 도와주세요 등비슷한 궁금함을 갖고 계신 분들께 도움이 될 수 있어요! 코드의 이슈는 전체 프로젝트를 "링크 형태"로 올려주셔야 원인을 파악할 수 있습니다.깃허브, 구글드라이브 등의 수단을 통해 링크 형태로 전달해주세요직접 실행해보며 원인을 파악해야 하기 때문에 텍스트 형태로 붙여넣는건 삼가해주세요 🥲 답변이 도움이 되셨다면 답글 or 해결완료 버튼을 클릭해주세요비슷한 궁금함을 갖고 계신 분들께 도움이 될 수 있어요!제 답변이 여러분께 도움이 되었는지 저도 알고 싶어요 🥲 강의 내용에 궁금한 점이 있다면 몇 챕터의 몇 분 몇 초인지 알려주시면 더 좋아요더 빠른 답변이 가능합니다!강의랑 동일하게 [[...id]].tsx랑 404.tsx 만들었는데 url을 http://localhost:3000/book/123-123123로 해도 왜 잘 표현 될까요?http://localhost:3000/adfafdas 이런식으로 하면 404페이지로 잘 이동 됩니다.
-
해결됨웹소켓/STOMP 채팅서비스(spring, vue, redis)
개발환경세팅에서 npm run serve 명령어 입력 시 오류
안녕하세요 !개발환경세팅에서 선생님이 하시는 과정을 그대로 따라 갔는데npm run serve 명령어 입력 시 밑에 오류가뜹니다. 검색해보니 pnpm을 설치하라고 하는데 선생님과 똑같이 진행 했는데 오류가 뜨는 이유가 뭔지 궁금해서 질문글 남깁니다.오류 내용:ERROR Error: The project seems to require pnpm but it's not installed.Error: The project seems to require pnpm but it's not installed.
-
해결됨김영한의 실전 자바 - 중급 1편
xxxValue() 와 parseXxx()
[질문 내용]intValue()처럼 래퍼클래스를 기본형으로 반환하는 것과 parseInt()도 기본형으로 반환하는 것과 무슨 차이가 있는지 구체적으로 알려주세요.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
코랩 자동글쓰기
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요 선생님 연습을 하는데 코랩에서 코드가 자동으로 입력되서 연습하는데 방해가 되는거같아서요ㅜㅜ도구 -> 편집기 -> 컨텍스트 기반 코드 완성 표기 체크를 껐는데도 코드가 생길때는 어떻게 해야하나요?
-
해결됨보안 전문가를 위한 파워쉘
강의자료
강의자료는 별도로 제공되지 않나요?
-
미해결
강의자료 문의의 건
강의자료 제공은 별도로 하지 않는 지 궁금합니다
-
해결됨김영한의 실전 자바 - 중급 1편
findValue 메소드 리턴값
[질문 내용]래퍼클래스 - 기본형의 한계 2 영상에서 findValue 메소드의 코드를 보면 if 조건문으로 리턴값이 myInteger라고 했습니다. 그런데 if 조건문 안에 myInteger.getValue()를 통해 value의 값을 뽑아서 그렇게 된다면 int타입의 값을 같은 int 타입인 target과 비교를 할 수가 있죠. 그런데 출력값을 확인해보면 -1, 0, 1 이 나오는 것을 확인할 수 가 있는데 리턴값도 똑같이 myInteger.getValue()로 나와야 되는거 아닌가요? return myInteger; 라고 했을 때 그냥 myInteger는 참조값이 반환될거라고 예상이 되는데 어떻게 출력이 -1, 0, 1이 나오는지 너무 궁금하네요.