목록분류 전체보기 (29)
JinHee's Board
Nifi 에서는 내부 zookeeper 설정을 통해 클러스터링을 설정할 수 있습니다.그러나 클러스터링 설정 시 해당 Nifi 노드에 보안 설정 (https)이 되어 있는 경우에는 각 노드 간 통신이 막혀 클러스터 설정이 되지 않습니다.여기서는 해당 상태에서 클러스터링 설정하는 방법에 대해 공유하려 합니다.각 서버마다 키를 생성하고 인증서 추출 및 등록하는 과정이 있어 다소 복잡합니다.(nifi 1.28.1 버전, 서버 3대에 대한 클러스터 설정 기준) 0. 사전준비nifi 1.28.1 → https://www.apache.org/dyn/closer.lua?path=/nifi/1.28.1/nifi-1.28.1-bin.zipnifi-toolkit 1.28.1 → https://www.apache.org/dy..

개요 Nifi에서 특정 기능을 활용해야 하는 일이 생겼으나 해당 기능은 Nifi에서 Processor로 제공하지 않는것 같다 Custom Processor를 직접 만들어 해당 기능을 구현하고 내용을 기록하고자 한다 참고한 링크 GitHub - apache/nifi: Apache NiFi Apache NiFi. Contribute to apache/nifi development by creating an account on GitHub. github.com Nifi Processor 프로젝트 생성 및 배포 (feat. Maven) Maven Archetype으로 NiFi Processor 프로젝트 생성하기 Maven Archetype은 Maven 프로젝트 템플릿을 생성하는 tookit입니다. 이 툴킷으로 ..

Project - Socket과 ElasticSearch 를 활용한 채팅 사이트 개발일지 [3] 구현 결과 로그인시 현재 참여중인 채팅방 목록 표시 사용자간의 채팅 구현 채팅방 목록 표시 Elastic Index 생성 ( 채팅방 목록 ) 채팅방 구분에 필요한 키와 그 외의 데이터를 담을 인덱스를 생성한다. 인덱스 생성에 필요한 매핑을 설정한다. ( 필드 타입 지정 등.. ) PUT chat_room { "mappings" : { "properties" : { "room_date" : { "type" : "date", "ignore_malformed" : true }, "room_id" : { "type" : "text", "fields" : { "keyword" : { "type" : "keyword" ..

Project - Socket과 ElasticSearch 를 활용한 채팅 사이트 개발일지 [2] 구현 결과 메인 화면 및 로그인 , 회원 가입 기능 구현 프로젝트 개발 ( Front ) React App(Front) 에 Router를 적용하는 작업 수행 - React Router 설치 npm i react-router-dom@5.3.0 - App.js 파일 수정 import React from 'react'; import io from "socket.io-client"; import { BrowserRouter as Router, Switch, Route, Link } from "react-router-dom"; import Login from "./routes/Login" function App() {..

Project - Socket과 ElasticSearch 를 활용한 채팅 사이트 개발일지 [1] 구현 결과 메인 화면 및 로그인 , 회원 가입 기능 구현 채팅방 하나를 임시로 만들고 두 사용자 간의 채팅 구현 (우선 Node로 구현 예정) React 프로젝트와 Node 프로젝트 연동 기존의 Node 프로젝트 하나에 Back단과 Front단이 모두 하나의 프로젝트에 있었지만 이번 프로젝트에서 React 프로젝트를 생성하면서, Back단과 Front단을 분리했다. 프로젝트 개발 - React 프로젝트 생성 및 NPM 설치 ( Front ) npx create-react-app eschat-react-project(프로젝트명) npm install socket.io npm install socket.io-cl..

개요 교육받는 기간에 파이널 프로젝트로 제출했던 그룹웨어 프로젝트에서 개발한 채팅 기능을 좀더 정리하여 기록한다. 프로젝트 변경 목표 - Node.js 로 개발된 채팅기능을 React.js로 새로 개발한다. - Oracle DB와 연동하여 활용했던 채팅기능을 ElasticSearch로 변경하여 적용한다. - 개발완료된 부분은 git command로 항상 commit 한다. 프로젝트 생성 및 준비 NPM 설치 npm init npm install express npm install http npm install fs npm install elasticsearch npm install socket.io npm install app-root-path GIT remote git init git add * git..
문제 Merge Two Sorted Lists - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이과정 public class ListNode { int val; ListNode next; ListNode() {} ListNode(int val) { this.val = val; } ListNode(int val, ListNode next) { this.val = val; this.next = next; } } - 문제에서 주어진 ListNode 클래스는 단방향..
문제 Word Subsets - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이과정 - words1의 각 문자열에서 words2의 각 문자열들을 모두 포함하고 있는 문자열을 찾는 문제 - words2에서 동일한 문자가 연속으로 나온 경우 ('oo', 'pp' 등..) 연속된 형태의 문자열을 포함해야 한다. - 문제에서 조건으로 주어진 문자열은 모두 '소문자' 라 한다. 결과 import java.util.ArrayList; import java.util.Li..
문제 Evaluate the Bracket Pairs of a String - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이과정 - s 문자열 에 있는 괄호로 묶인 문자열들을 knowledge 에 있는 문자열로 대체하는 문제 a. 문자열을 하나씩 보면서 '(' 가 나온 이후의 문자열은 따로 기억한다 b. ')' 가 나오면 기억한 문자를 보고 knowledge에 그 문자가 있는지 비교한다. c. 있는 경우 해당 문자로 대체하고 없는 경우는 '?'로 대체한다...

개요 Apache Spark와 OpenSearch 자바로 연동시 발생하는 문제를 해결하는 과정을 기록하고자 한다. 문제확인 Opensearch는 엘라스틱에서 서비스하는 Elasticsearch 오픈소스를 포크(코드를 복사)하여 만든 AWS판 ElasticSearch 다. Spark와 Elasticsearch를 Java를 통해 연동하는 과정에 있어 사용하던 Elasticsearch를 Opensearch로 교체해야 할 일이 생겨 교체했는데 이후 잘만 실행되었던 Spark가 실행되지 않는 문제가 생겼다. 오류메시지 Elasticsearch를 연동하고 있었을때는 오류가 없었으나 Opensearch로 연동한 다음 이와 같은 오류가 발생했다. 눈여겨볼점은 (No search type for [scan]) 이라는 메..

개요 대용량의 CSV 파일을 Elasticsearch에 적재하고자 할때 Logstash를 사용하여 적재작업을 했는데 이때 CSV 파일의 데이터를 일부 변환하는 Logstash의 ruby플러그인에 사용되는 키워드들을 기록한다. 준비 - ELK Stack (Elasticsearch, Logstash, Kibana) 설치 - 적재할 데이터 (csv) 사용된 데이터 링크 한국교통안전공단_사업용차량 Trip단위 위험운전운행데이터(샘플)_20191227 한국교통안전공단에서 수집관리하고 있는 트립단위의 위험운전행동데이터 샘플입니다. (운행일자, 운수회사코드 등) 운행기록과 관련된 데이터는 대용량데이터로 샘플데이터만 업로드 www.data.go.kr 과정 Logstash 정상 작동 테스트 1. Elasticsearch..

개요 서버에서 작업을 할때 해당 포트에 접근이 가능한지 확인할 일이 생겼다. 목적지 서버에서 포트를 열고 그 포트에 접근이 가능한지 확인하는 과정을 기록한다. 원리 - 목적지 서버(우측)에서 ServerSocket을 사용하여 원하는 Port 번호로 오픈한다. - 출발지(좌측)에서 Socket을 사용하여 목적지 서버의 ip와 Port번호를 통해 목적지 서버로 접근 시도 한다. - 접근 가능 여부를 통해 방화벽에서 해당 Port번호를 허용했거나 허용하지 않았는지 확인 한다. 과정 1. 목적지 서버에서 포트 오픈 import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class MultiPortRun { p..

개요 OpenApi를 사용하여 데이터들을 추출하고 추출한 데이터를 파싱 및 데이터베이스에 삽입해야 할 일이 생겼다. Nifi에서 OpenApi를 어떤식으로 사용해야 데이터를 추출할수 있는지 등을 알아보고 그 내용들을 기록하고자 한다. 참고한 링크 Apache Nifi HTTP/HTTPS 연결. SSL 연결하기 | Apache Nifi로 작업을 하다보면 웹 사이트에서 컨텐츠를 가져 오거나 다양한 REST API를 통해서 JSON, XML, TXT 형태로 데이터를 가져와야 하는 일이 있다. 이러한 방법에 대해서 알아 보며 brunch.co.kr Nifi에서 OpenApi를 활용하는 방법들을 설명한 위 링크를 참고했다. Nifi에서 Api 호출하여 데이터 불러오기 - 사전준비 호출하고자 하는 OpenApi의 ..

개요 nifi를 서버에 올려서 사용할 때 http://아이피:포트/nifi 만으로 접속이 가능한데 이 접속을 조금더 까다롭게 하기 위해 nginx를 사용하여 접속링크를 바꾸는 방법을 기록한다. 사전준비 - NGINX 설치 [CentOS 7] CentOS 7 - NGINX 설치 방법 CentOS 7 버전에 Nginx 설치 방법 정리 요약 yum 외부 저장소 추가 yum install 방화벽 포트 개방 nginx 포트 설정 nginx 데몬 실행 실행 1. yum 외부 저장소 추가 yum 저장소에는 nginx가 없기 때문에 외부 저장.. holjjack.tistory.com 더보기 yum 저장소에는 nginx가 없으므로 직접 추가 필요 # cd etc/yum.repos.d/ # vi nginx.repo ngi..
*정보처리기사 시험이 바뀌기 전에 기출문제로 나왔던 알고리즘 문제를 푸는 글 입니다. 따라서 현재 바뀐 정보처리기사 시험에는 나오는지 안나오는지 알수 없습니다. [문제] 5개의 숫자를 배열에 저장하고 저장된 숫자를 오름차순으로 정렬되도록 구현하시오. 정렬방식은 버블정렬 입니다. [풀기] 버블정렬 : 첫번째 자료와 두번째 자료를 비교하여 작은 값이 앞으로 위치하도록 정렬한 다음, 두번째 자료와 세번째 자료, 세번째 자료와 네번째 자료.. 이와 같은 방식으로 정렬하는 것 버블정렬은 뒤에서부터 정렬된다. class bubbleClass{ public void sortArray(int[] paramArray) { int temp; // 값 정렬을위한 임시변수 for(int i = 1; i < paramArray..