전체 글

개발에 대한 내용을 주로 다루는 블로그입니다.
개발/Data Engineering

hdfs stop 시 no namenode to stop 에러

hdfs stop 시에 다음과 같은 에러가 발생하는 경우가 있다. anymousehostname : no namenode to stopanymousehostname : no datanode to stop 분명히 hdfs는 구동하고 있었는데 정지시킬 노드가 없다는 것인데 찾아보니 정지시키기 위한 node의 pid 정보를 디폴트로 /tmp 디렉토리에 저장해놓는데임시디렉토리라서 /tmp 디렉토리 내의 데이터를 10일이 지나면 삭제하도록 되어있다고 한다.그래서 찾을 수 없다는 것인데 해결 방법은 pid가 저장되는 위치를 변경하면 된다. ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh 파일을 열어서 HADOOP_PID_DIR을 수정한다. # The directory where pid fil..

개발/리눅스

프로세스가 사용하는 파일 확인

프로세스가 어떤 파일을 사용하고 있는지 확인해야 하는 경우 사용할 수 있는 명령어 sudo ls -l /proc/2029/fd grep해서 특정 파일에 대한 확인을 하면 편하다. sudo ls -l /proc/2029/fd | grep pattern centOS는 되는 것 같은데 다른 OS는 잘 모르겠다.

IT

EAI란 무엇인가

개념 EAI는 Enterprise Architecture Integration의 약자로 기업 애플리케이션 통합이라는 의미입니다. 기업 내 필요한 여러 어플리케이션이 있을텐데, 이런 각종 애플리케이션 간에 상호 연동이 가능하도록 통합하는 솔루션입니다. 한 기업 내의 ERP(전사적자원관리), CRM(고객관계관리), SCP(공급망계획) 시스템이나 인트라넷 등의 시스템 간에는 서로 데이터를 주고 받아야할 필요성이 존재할 것입니다. 데이터를 주고받기 위해 각 시스템 간에 개별적으로 서로 통신을 한다면 시스템 간에 개별적인 연결이 상당히 많이 생성되게 됩니다. 시스템이 6개일 때 각 시스템이 개별적으로 연동된다면 15개의 연결이 생깁니다. 그로 인해 유지 보수의 어려움이 생길 뿐더러, 운영체제가 다르다거나 하는 이..

개발/생각

개발 지식 습득에 대한 생각

개발자로 일한지 그래도 적지 않은 시간이 지났는데 개발 지식을 어떻게 습득해야 할 지 고민이 된다. 일단 습득해야 할 지식은 크게 두 가지로 나눌 수 있는 것 같다. - 내공- 외공 내공은 프로그래밍과 컴퓨터공학 쪽의 기반이 되는 지식을 말한다. 예를 들어, 운영체제, 자료구조, 알고리즘, 데이터베이스, 파일 시스템, 네트워크 등. 외공은 트랜드에 따라 변화가 있고 습득하고 쓰여지지 않기도 하고 필요성에 따라 습득하기도 하는 그런 것을 말한다.주로 트랜드에 따라 떠오르는 프레임워크나 라이브러리 혹은 언어도 포함될 수 있을 것 같다. 내공은 시간을 두고 조금씩 계속 향상을 시켜야하고 외공은 필요성이나 관심, 트랜드에 따라 학습해야 하는 것 같다.개발 업무를 하는데 외공이 사실 가장 크게 영향을 미치는 것이..

개발/병렬 프로그래밍

자바 병렬 프로그래밍 - 16장 메모리 모델

자바 메모리 모델을 숨겨주는 덮개를 열고 자바 메모리 모델이 보장하는 기능과 요구사항과 앞선 내용들의 실제 동작 원리에 대해 알아본다. JMM(Java Memory Model)은 변수에 저장된 값이 어느 시점부터 다른 스레드의 가시권에 들어가는지 JVM이 해야하는 최소한의 보장만 할 뿐임. 16.1.2 재배치 서로 다른 스레드가 각자의 상황에 맞는 순서로 명령어를 실행할 수 있음. 재배치 : 특정 작업이 지연되거나 다른 순서로 실행되는 것처럼 보이는 문제 각 스레드 내부에서 일어나는 작업은 다른 스레드와 연결 관계가 없어서 재배치되어 실행될 가능성이 있다. 16.1.3 자바 메모리 모델을 간략하게 설명한다면 미리 발생(happens-before) 재배치가 가능하지만 필수적으로 지켜야 할 순서는 있다. 작..

개발/병렬 프로그래밍

자바 병렬 프로그래밍 - 15장 단일 연산 변수와 넌블로킹 동기화

단일 연산 변수와 대기 상태에 들어가지 않는 넌블로킹 동기화 기법에 대해서 살펴본다. 넌블로킹 알고리즘은 락을 기반으로 하는 방법보다 설계와 구현 모두 훨씬 복잡함.대신 확장성과 활동성을 엄청나게 높여준다. 여러 스레드가 동일한 자료를 놓고 경쟁하는 과정에서 대기 상태에 들어가는 일이 없어서 스케줄링 부하를 대폭 줄여준다. 데드락이나 기타 활동성 문제가 발생할 위험도 없다. 15.1 락의 단점 락 확보 경쟁이 벌어지는 상황에서는 JVM 역시 운영체제 도움을 받는다. 스레드가 락을 확보하기 위해 대기하고 있는 상태에서 대기 중인 스레드는 다른 작업을 전혀 못한다. 이런 상태에서 락을 확보하고 있는 스레드의 작업이 지연되면 락 확보를 위해 대기하던 모든 스레드의 작업이 전부 지연된다. 스레드 실행을 중단했다..

bebeside77
Spread your wings