본문 바로가기

ALL160

[Java] 프로그래머스 게임 맵 최단거리 📄 문제 게임 맵 최단거리 💡 풀이 BFS(너비 우선 탐색) 알고리즘을 사용하여 맵을 통과 가능한 방안들을 탐색하고, 최단 거리를 찾아 answer 변수에 저장한 후 반환합니다. import java.util.*; class Solution { public int solution(int[][] maps) { int answer = 0; int n = maps.length; int m = maps[0].length; // 이동 가능한 방향 (상,하,우,좌) int[][] directions = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}}; Queue queue = new LinkedList(); queue.offer(new int[]{0, 0, 1}); // 시작 위치 (0, 0)에서 출.. 2023. 9. 28.
[SOLVED] datanode denied communication with namenode because hostname cannot be resolved 🚫 ERROR datanode denied communication with namenode because hostname cannot be resolved 💡 SOLVED DNS 설정으로 별도로 /etc/hosts 작업을 안했고, 확인해보니 역방향 DNS 등록이 안돼서 발생한 문제 /etc/hosts에 FQDN 등록 작업으로 바로 문제 해결 2023. 9. 27.
[Java] 프로그래머스 네트워크 📄 문제 네트워크 💡 풀이 DFS(깊이 우선 탐색) 알고리즘을 사용하여 네트워크를 탐색하고, 연결된 그룹을 찾아 answer 변수에 저장한 후 반환합니다. class Solution { public int solution(int n, int[][] computers) { boolean[] visited = new boolean[n]; // 컴퓨터 방문 여부를 저장하는 배열 int answer = 0; // 네트워크 개수를 세는 변수 for (int i = 0; i < n; i++) { if (!visited[i]) { // 아직 방문하지 않은 컴퓨터라면 dfs(i, computers, visited); // DFS로 연결된 모든 컴퓨터를 방문 answer++; // 네트워크 개수 증가 } } return.. 2023. 9. 26.
[Java] 프로그래머스 타겟 넘버 📄 문제 타겟 넘버 💡 풀이 깊이 우선 탐색 (DFS)을 활용하여 주어진 숫자 배열에서 각 숫자를 더하거나 빼서 특정 목표 숫자(target)를 만들 수 있는 경우의 수를 계산하는 방식입니다. class Solution { private int answer = 0; public int solution(int[] numbers, int target) { dfs(numbers, target, 0, 0); return answer; } private void dfs(int[] numbers, int target, int index, int currentSum) { if (index == numbers.length) { // 배열의 끝까지 도달한 경우, 현재 합이 타겟과 일치하는지 확인하고 answer를 업데이.. 2023. 9. 25.
Apache Ranger 사용법 Ranger Web UI 각 기능들 사용방법입니다. Ranger란? 하둡 전체 서비스에 대한 보안 정책을 적용할 수 있고 관리 및 운영할 수 있는 Hadoop Component 하둡의 보안 관련 조치는 대부분 Ranger에서 처리 가능하다고 보시면 됩니다. Ranger Architecture Ranger는 Hadoop의 전체 컴포넌트에 대한 Ranger 플러그인을 활성화하여 모든 액세스를 제어할 수 있습니다. Ranger 플러그인과 Ranger policy server 간에는 양방향 통신이 이루어지며, Ranger 플러그인은 정기적으로(30초) Ranger Policy Server를 호출하여 새로운 정책이 정의되었는지 확인합니다. 🔗 https://doc.hcs.huawei.com/productdesc/.. 2023. 8. 23.
[NiFi] ExecuteSQLRecord postgresql 사용시 주의 auto commit 옵션이 default로 true인데 postgresql 같은 경우 true로 사용 시, Heavy Query 일 경우 모두 메모리에 올려서 가져오기 때문에 nifi 장애 발생됨 (nifi 프로세스 kill 해줘야 함) 결론은 postgresql은 auto commit 옵션을 false로 설정하고 fetch 사이즈를 할당해서 메모리 이슈를 예방할 수 있음 2023. 8. 22.
[리눅스] ulimit 설정하여 성능 제한 해제 open file과 process 생성 제한 관련 예외 발생을 방지하기 위해 설정해줍니다. ◾ limit values 수정 vi /etc/security/limits.conf ------------------------------ * - nofile 65536 * - nproc 65536 ------------------------------ (- : soft, hard 동일하게 적용) ◾ ulimit 조회 명령어 ulimit -a ----------------------------------------- open files (-n) 65536 max user processes (-u) 65536 2023. 8. 21.
[리눅스] ssh 패스워드 입력없이 접속 (passwordless) 리눅스에서 패스워드 입력 없이 ssh 접속하는 2가지 방법 정리합니다. 1. 패스워드 입력 없이 접속할 서버에 암호화 키를 등록하여 자동로그인을 합니다. ◾ rsa 키 생성이 안되있을 경우 생성해 줍니다. ssh-keygen -t rsa Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): ## ()괄호 위치로 사용할 거면 Enter Enter passphrase (empty for no passphrase): ## 패스워드 없이 사용할 거면 Enter Enter same passphrase again: ## Enter ◾ authorized_keys 파일이 없으면 생성하면 됩니다. chmod 700 ~/.ssh ## 700으로 권한 변경 cd.. 2023. 8. 21.