::: IT인터넷 :::

Hadoop Edge 노드 구성하기 (3) - MinIO 클라이언트 설정

곰탱이푸우 2023. 10. 12. 08:20
에지 노드를 구성한 목적이  HDFS와 MinIO 사이의 데이터 파일을 중계하는 것이다.
에지 노드에서 연결하기 위한 MinIO의 클라이언트 환경을 구성한다.
 
하둡 클라이언트 설정 방법은  아래 포스팅을 참고한다.
에지 노드 구성을 위한 컨테이너 설정 변경 방법은 아래 포스팅을 참고한다.
 

MinIO 클라이언트 설정

기본적인 MinIO 클라이언트 설치와 사용 방법은 아래 문서를 참고한다.

MinIO 클라이언트 설치

MinIO 클라이언트 파일을 다운로드하고, 실행 권한을 부여한다.
외부 사이트에서 다운로드 하기 때문에, 에지 노드에 프록시 설정이 적용되어 있어야 한다.
$ cd ~
$ wget https://dl.minio.io/client/mc/release/linux-amd64/mc
$ chmod +x ~/mc
 

MinIO 클라이언트 설정

MinIO 클라이언트의 설정 파일을 생성하고, 사용하려는 MinIO의 접근 정보를 지정한다.
 

자동화 구성을 위한 전용 계정 생성

MinIO 웹 UI의 관리 화면에서 자동화 작업에 사용하기 위한 전용 계정을 생성한다.
그리고 기본적인 readWrite 권한을 부여한다.
 
본 문서에서는 해당 계정 정보를 testman으로 통일한다.
 

MinIO 클라이언트 설정 파일 생성

다운로드한 mc 파일에 config 옵션을 전달하여 설정 파일을 생성한다.
$ ~/mc config
 
MinIO 클라이언트 설정 파일은 ~/.mc/config.json 경로에 생성된다.
 

MinIO 설정 변경

config.json 파일을 열고 play 항목을 minio로 변경한다.
그리고 MinIO 서버 주소와 포트, 계정 정보를 입력한다.
ID가 accessKey, 비밀번호가 secretKey이며, 실제 설정한 값을 적용한다.
$ vi ~/.mc/config.json
# play 항목을 minio로 변경하고 아래와 같이 작성 이후 :wq로 저장
"local": {
        "url": "https://172.18.200.236:9000",
        "accessKey": "testman",
        "secretKey": "testman",
        "api": "S3v4",
        "path": "auto"
},
"minio": {
        "url": "https://172.18.200.236:9000",
        "accessKey": "testman",
        "secretKey": "testman",
        "api": "S3v4",
        "path": "auto"
},
 

alias 등록

사용자 홈 경로에 있고 자체 서명 인증서를 사용하기 때문에 ~/mc --insecure 형태로 실행해야 하는데 불편하다.
 
아래와 같이 .bash_profile에 alias를 등록하여 mc 명령어로 사용할 수 있도록 설정한다.
mc라는 별칭으로 /home/hadoop/mc --insecure 명령어를 실행하겠다는 의미이다.
$ vi ~/.bash_profile
# .bash_profile의 가장 아래 항목에 추가하고 :wq로 저장
# 다른 초기화 스크립트 또는 설정 추가
alias mc='/home/hadoop/mc --insecure'
 

정상 접근 확인

파일 목록 출력

mc ls 명령어로 MinIO의 파일 목록이 정상적으로 출력되는지 확인한다.
# 버켓 목록 확인
$ mc ls minio

# ocean 버켓의 루트 경로 파일 목록 확인
$ mc ls minio/ocean
 
아래와 같이 목록이 출력되면 정상적으로 연결된 것이다.
 
임의 파일 업로드
이어서 임의 파일로 MinIO 업로드와 삭제 명령어를 테스트한다.
$ mc cp ~/mc minio/ocean/
$ mc ls minio/ocean
$ mc rm minio/ocean/mc
$ mc ls minio/ocean
 
아래와 같이 업로드와 삭제가 진행되면 정상이다.