

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon CloudWatch에서 EMR HBase 모니터링
<a name="emr-hbase-cw"></a>

EMR 7.0부터, Amazon EMR은 Ganglia 모니터링 시스템을 대체하여 CloudWatch 또는 Prometheus로 지표를 전송하는 Amazon CloudWatch 에이전트를 제공합니다. 자세한 내용은 [Amazon CloudWatch 에이전트 구성 안내서](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/AmazonCloudWatchAgent-config-700.html)에서 확인할 수 있습니다.

EMR 7.0 Amazon CloudWatch 에이전트는 기본 통합을 제공하고 구성 요소 다운로드 및 부트스트랩 작업 사용 등 필요한 수동 작업을 설정했습니다. 그러나 EMR 7.1 이상에서는 프로세스가 간소화됩니다. EMR 7.1에서 Amazon CloudWatch Agent를 사용하면 HBase에 대한 지표 등 시스템 수준 지표와 애플리케이션별 지표를 모두 쉽게 모니터링할 수 있습니다. EMR 구성 API를 사용하면 지표 수집 프로세스를 빠르게 설정 및 사용자 지정하고 Amazon CloudWatch 또는 Prometheus로 데이터를 전송할 위치를 선택할 수 있습니다. 이러한 유연성을 통해 HBase 클러스터를 면밀히 관찰하여 원활하고 효율적으로 실행할 수 있습니다.

EMR 구성 API를 사용하여 전체 설정을 처리하면 프로세스가 훨씬 원활해집니다. EMR 7.1의 CloudWatch 에이전트는 세 가지 주요 유형의 지표를 지원합니다.
+ **시스템 지표** - 여기에는 CPU 사용량, 디스크 사용량, 메모리 사용량, 네트워크 I/O, 프로세스 및 스왑 사용량과 같은 시스템 성능의 주요 지표가 포함됩니다.
+ **Hadoop 대몬 지표 **- 이러한 지표는 DataNode 지표, NameNode 지표, YARN NodeManager 지표, YARN ResourceManager 지표를 비롯한 Hadoop의 다양한 구성 요소와 관련이 있습니다.
+ **HBase 지표**- 이러한 지표는 HBase 마스터 지표, HBase 리전 서버 지표, HBase REST 서버 지표, HBase Thrift Server 지표 등 HBase의 성능에 대한 인사이트를 제공합니다.

------
#### [ Using the AWS CLI ]

Hadoop 및 HBase에 대한 모든 지표는 JMX 기반이므로 Java Management Extensions를 사용하여 자세한 인사이트를 제공합니다. HBase를 모니터링하도록 Amazon CloudWatch Agent를 설정하는 방법은 다음과 같습니다.
+ Amazon CloudWatch Agent로 클러스터를 생성하기 전에 [사전 조건](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/AmazonCloudWatchAgent-create.html)을 참조하세요. 이 목록 뒤에 나타나는 샘플과 유사한 `create-cluster` 명령을 사용합니다.
+ HBase 클러스터에 지원되는 [구성](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/AmazonCloudWatchAgent-config.html)을 참조하세요.
+ HBase 모니터링을 설정하는 구성의 예는 다음 샘플을 참조하세요. `--configuration` 입력에 대한 예제 구성을 참조하세요.

```
aws emr create-cluster --name "HBase cluster with CloudWatch agent" \
--release-label emr-7.1.0 \
--applications Name=HBase Name=AmazonCloudWatchAgent \
--ec2-attributes KeyName=myKey --instance-type m7g.2xlarge \
--configurations file://./configurations.json \  
--instance-count 3 --use-default-roles
```

지표의 JSON 샘플 구성에 대한 자세한 내용은 [지표 설정](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hbase-setting-up-metrics.html)을 참조하세요.

------
#### [ Using the console ]

콘솔에서 Amazon CloudWatch 에이전트를 사용하여 클러스터를 생성하려면 다음 단계를 수행하세요.

**콘솔에서 CloudWatch 에이전트를 사용하여 클러스터 생성**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/emr](https://console.aws.amazon.com/emr) Amazon EMR 콘솔을 엽니다.

1. **클러스터 생성**을 선택합니다.

1. **이름 및 애플리케이션**에서 Amazon EMR 릴리스 7.0.0 이상을 선택합니다.

1. **애플리케이션 번들**에서 클러스터에 설치하려는 HBase 및 추가 앱을 선택하고 선택 항목에 CloudWatch 에이전트를 포함합니다.

1. **소프트웨어 설정**을 확장합니다. 그런 다음 JSON 또는 콘솔에 섀도우 텍스트로 표시되는 간편 구문을 사용하여 구성을 직접 입력할 수 있습니다. 그렇지 않으면 파일의 Amazon S3 URI를 JSON `Configurations` 객체와 함께 제공할 수 있습니다. 지표의 JSON 샘플 구성에 대한 자세한 내용은 [지표 설정](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hbase-setting-up-metrics.html)을 참조하세요.

1. 사용 사례 요구 사항에 맞게 클러스터를 생성하세요.



------

# 지표 설정
<a name="emr-hbase-setting-up-metrics"></a>

HBase 마스터를 모니터링하려면 특정 지표를 수집하도록 Amazon CloudWatch 에이전트를 설정할 수 있습니다.

1. **HBase 마스터 지표 설정 **- HBase 마스터를 모니터링하려면 특정 지표를 수집하도록 Amazon CloudWatch Agent를 설정할 수 있습니다. 다음은 마스터 할당 관리자 활동을 추적하는 구성 예제입니다.

   ```
   [
     {
       "Classification": "emr-metrics",
       "Properties": {},
       "Configurations": [
         {
           "Classification": "emr-hbase-master-metrics",
           "Properties": {
             "Hadoop:service=HBase,name=Master,sub=AssignmentManager": "AssignFailedCount,AssignSubmittedCount",
             "otel.metric.export.interval": "30000"
           },
           "Configurations": []
         }
       ]
     }
   ]
   ```

   이 설정에서 다음을 수행합니다.
   + `AssignFailedCount` 및 `AssignSubmittedCount`와 같은 지표를 수집하기 위해 MBean(`Hadoop:service=HBase,name=Master,sub=AssignmentManager`)을 지정합니다.
   + 30초(30,000밀리초)마다 이러한 지표를 수집하도록 간격을 설정합니다.

1. **HBase 리전 서버 지표 설정 **- HBase 리전 서버를 모니터링하려면 다음과 같이 CloudWatch 에이전트를 구성합니다.

   ```
   [
     {
       "Classification": "emr-metrics",
       "Properties": {},
       "Configurations": [
         {
           "Classification": "emr-hbase-region-server-metrics",
           "Properties": {
             "Hadoop:service=HBase,name=RegionServer,sub=IPC": "numActiveHandler,numActivePriorityHandler",
             "otel.metric.export.interval": "30000"
           },
           "Configurations": []
         }
       ]
     }
   ]
   ```

   이 구성의 경우:
   + 리전 서버(`numActiveHandler`, `numActivePriorityHandler`)에서 활성 핸들러를 모니터링합니다.
   + 지표 수집에 30초 간격을 사용합니다.

1. **HBase REST 서버 지표 설정 **- HBase REST 인터페이스를 모니터링하려면 다음 구성을 사용할 수 있습니다.

   ```
   [
     {
       "Classification": "emr-metrics",
       "Properties": {},
       "Configurations": [
         {
           "Classification": "emr-hbase-rest-server-metrics",
           "Properties": {
             "Hadoop:service=HBase,name=REST": "successfulPut,successfulScanCount",
             "otel.metric.export.interval": "30000"
           },
           "Configurations": []
         }
       ]
     }
   ]
   ```

   이 예제에서 CloudWatch Agent는 성공한 PUT 작업에 대한 지표를 수집하고 30초마다 카운트를 스캔합니다.

1. **HBase Thrift 서버 지표 설정** - HBase Thrift 서버를 모니터링하려면 다음과 같은 구성으로 지표를 구성할 수 있습니다.

   ```
   [
     {
       "Classification": "emr-metrics",
       "Properties": {},
       "Configurations": [
         {
           "Classification": "emr-hbase-thrift-server-metrics",
           "Properties": {
             "Hadoop:service=HBase,name=Thrift,sub=ThriftOne": "BatchGet_max,BatchGet_mean",
             "otel.metric.export.interval": "30000"
           },
           "Configurations": []
         }
       ]
     }
   ]
   ```

   이 설정은 Thrift 서버에서 배치 GET 작업의 최대 및 평균 시간을 추적합니다.

# 지표 대상 사용
<a name="emr-hbase-using-metrics"></a>

EMR 7.1을 사용하면 지표 데이터를 Amazon CloudWatch 또는 Amazon Managed Service for Prometheus로 전송할 수 있습니다. 이 옵션을 사용하면 필요에 따라 다양한 모니터링 도구와 원활하게 통합할 수 있습니다.

## Amazon CloudWatch로 지표 전송
<a name="emr-hbase-using-metrics-cw"></a>

CloudWatch로 지표를 보내려면 다음 구성을 사용합니다.

```
[
  {
    "Classification": "emr-metrics",
    "Properties": {
      "metrics_destination": "cloudwatch"
    },
    "Configurations": []
  }
]
```

## Amazon Managed Service for Prometheus에 지표 전달
<a name="emr-hbase-using-metrics-prom"></a>

Prometheus를 사용하려는 경우 대상을 설정하고 엔드포인트 URL을 제공합니다.

```
[
  {
    "Classification": "emr-metrics",
    "Properties": {
      "metrics_destination": "prometheus",
      "prometheus_endpoint": "https://aps-workspaces.region.amazonaws.com/workspaces/workspace_id/api/v1/remote_write"
    },
    "Configurations": []
  }
]
```

`region`를 AWS 리전으로 바꾸고를 Prometheus 워크스페이스 ID`workspace_id`로 바꿉니다. 이 구성은 지정된 엔드포인트를 사용하여 HBase 지표를 Prometheus로 전달합니다.

위의 설정을 사용하면 **모니터링** 탭에서 아래 지표를 볼 수 있습니다.