---
title: "OpenTSDB 사용"
slug: "hadoop-chadoop-use-ex1"
updated: 2026-05-21T09:01:30Z
published: 2026-05-21T09:03:08Z
canonical: "guide-gov.ncloud-docs.com/hadoop-chadoop-use-ex1"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://guide-gov.ncloud-docs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenTSDB 사용

<p class='platform-info type-classic'>Classic 환경에서 이용 가능합니다.</p>

HBase 기반으로 동작하는 OpenTSDB(Time Series DataBase)는 분산 및 확장이 가능한 시계열 데이터베이스입니다.<br/>OpenTSDB는 서버, 네트워크, 응용 프로그램으로부터 수집된 메트릭 정보를 저장, 색인, 전달하는 등의 처리를 위해 만들어졌습니다.

## OpenTSDB 아키텍처<a name="OpenTSDB아키텍처"></a>

- **TSD(Time Series Daemon)**: 입력된 메트릭 정보를 HBase 저장소에 저장하는 역할을 담당합니다.
- **입력 소스**: 서버, 네트워크, 응용프로그램 등으로부터 보내지는 메트릭 정보입니다.
- **저장소**: HBase를 기본 저장소로 이용하여 시계열 데이터를 저장합니다.

![hadoop-chadoop-use-ex1_1-1](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/hadoop-chadoop-use-ex1_1-1.png){height="" width="80%"}

:::(Info) (참고)
OpenTSDB에 대한 자세한 내용은 [OpenTSDB 홈페이지](http://opentsdb.net/overview.html){target="_blank"}를 참고해 주십시오.
:::


CloudHadoop을 이용하여 OpenTSDB를 구축하는 방법을 설명합니다.<br/>

이 페이지에서 사용하는 OpenTSDB 오픈소스에 대한 내용은 [OpenTSDB](https://github.com/OpenTSDB/opentsdb){target="_blank"}를 참고해 주십시오.


## 사전 작업<a name="사전작업"></a>

OpenTSDB를 설치할 서버를 생성해 주십시오. 예시는 리눅스 서버에서 사용하는 방법을 설명합니다.
* 서버 생성에 대한 자세한 내용은 [서버 생성](/docs/server-start-classic)을 참고해 주십시오.
* 리눅스 서버에 접속하는 방법은 [리눅스 서버 접속 가이드](/docs/compute-compute-3-1-v2/#linux-서버-접속)를 참고해 주십시오.

## OpenTSDB 사용<a name="OpenTSDB사용"></a>

우선, OpenTSDB 오픈소스를 서버에 설치 시 필요한 다음의 요구 사항을 확인해 주십시오.

**설치 요구 사항**
- Java SE (JDK)
- Gnuplot
- OpenTSDB (오픈 소스)

### 1. OpenTSDB 설치<a name="1OpenTSDB설치"></a>

서버에 OpenTSDB 설치하는 방법은 다음과 같습니다.

1. 다음 명령어를 사용하여 Oracle 사이트에서 JDK를 다운로드한 후 서버에 설치해 주십시오.

    ```
    rpm -ivh jdk-8u192-linux-x64.rpm
    ```
    :::(Info) (참고)
    - i: 패키지 설치
    - v: 상세 정보 출력
    - h: 설치 진행 상황 출력
    :::

2. yum 패키지 관리자를 이용하여 OpenTSDB의 그래프를 생성하는 데 필요한 `gnuplot` 패키지를 설치해 주십시오.

    ```
    yum -y install gnuplot
    ```

3. 사용자 계정을 생성해 주십시오.

    ```
    useradd -m  -d /home/opentsdb -u 10001 opentsdb
    ```


4. 로그 디렉터리를 생성해 주십시오.

    ```
    mkdir /var/log/opentsdb && chown opentsdb:opentsdb /var/log/opentsdb
    ```

5. OpenTSDB 오픈 소스를 설치해 주십시오.

    ```
    # root 사용자
    su - opentsdb
    
    # opentsdb 사용자
    git clone https://github.com/OpenTSDB/opentsdb
    cd opentsdb
    ```


6. OpentTSDB 소스를 빌드해 주십시오.

    ```
    # opentsdb 사용자
    ./build.sh
    ```

### 2. HBase 클라이언트 설치<a name="2HBase클라이언트설치"></a>

HBase 클라이언트를 설치하는 방법은 다음과 같습니다.

1. 다음 명령어를 사용하여 [HBase Binary](https://archive.apache.org/dist/hbase/1.1.2/hbase-1.1.2-bin.tar.gz)를 다운로드해 주십시오.

    ```
    # opentsdb 사용자
    wget https://archive.apache.org/dist/hbase/1.1.2/hbase-1.1.2-bin.tar.gz
    tar xvfz hbase-1.1.2-bin.tar.gz
    ln -s hbase-1.1.2 hbase
    ```

2. Ambari UI 페이지에서 HBase 클라이언트 설정 정보를 다운로드해 주십시오.
    * Ambari UI 접속 및 사용에 대한 자세한 내용은 [Ambari UI](/docs/hadoop-chadoop-3-4)를 참고해 주십시오. 
![hadoop-chadoop-use-ex1_2-2_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/hadoop-chadoop-use-ex1_2-2_ko.png){height="", width="80%"}


3. HBase 클라이언트 설정 정보의 압축을 풀어 주십시오.

    ```
    # opentsdb 사용자
    tar xvfz HBASE_CLIENT-configs.tar.gz -C ~/opentsdb/hbase/conf
    sed -i -e 's|\(^export JAVA_HOME=.*\)|#\1|' ~/opentsdb/hbase/conf/hbase-env.sh
    ```

4. `opentsdb` 사용자의 `.bash_profile`을 수정해 주십시오.

    ```
    # opentsdb 사용자
    echo 'export HBASE_HOME=~/hbase'                   >> ~/.bash_profile
    echo 'export PATH=$PATH:${HBASE_HOME}/bin'         >> ~/.bash_profile
    echo 'export JAVA_HOME=/usr/java/jdk1.8.0_192-amd64' >> ~/.bash_profile
    logout
    ```

5. Ambari UI **Hosts** 페이지에서 Cloud Hadoop 클러스터의 호스트명과 IP 정보를 확인해 주십시오.
![hadoop-chadoop-use-ex1_2-5_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/hadoop-chadoop-use-ex1_2-5_ko.png){height="", width="80%"}

6. 다음 명령어를 사용하여 `/etc/hosts` 정보를 추가해 주십시오.
    * 이전 단계에서 확인한 Cloud Hadoop 클러스터의 호스트명과 IP 정보를 추가해 주십시오.

    ```
    # root 사용자
    # echo 'IP               호스트명'      >> /etc/hosts
    echo  '1*.**.**.237  e-001-*****-**'  >> /etc/hosts
    echo  '1*.**.**.109  m-001-*****-**'  >> /etc/hosts
    echo  '1*.**.**.142  m-002-*****-**'  >> /etc/hosts
    echo  '1*.**.**.169  dn-001-*****-**' >> /etc/hosts
    echo  '1*.**.**.186  dn-002-*****-**' >> /etc/hosts
    ```

7. 다음 명령어를 사용하여 `hbase shell` 접속을 테스트해 주십시오.

    ```
    su - opentsdb
    # opentsdb 사용자
    hbase shell

    HBase Shell; enter 'help<RETURN>' for list of supported commands.
    Type "exit<RETURN>" to leave the HBase Shell
    Version 1.1.2, rcc2b70cf03e3378800661ec5cab11eb43fafe0fc, Wed Aug 26 20:11:27 PDT 2015
    hbase(main):001:0>
    ```

만약, `HBase Shell` 접속이 실패한 경우에는 Cloud Hadoop의 ACG에 OpenTSDB 서버를 추가해 주십시오.
ACG 설정에 대한 내용은 [방화벽 설정(ACG)](/docs/compute-compute-2-3)을 참고해 주십시오.
![hadoop-chadoop-use-ex1_2-7_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/hadoop-chadoop-use-ex1_2-7_ko.png){height="", width="80%"}

### 3. OpenTSDB 테이블 생성<a name="3OpenTSDB테이블생성"></a>

OpenTSDB 테이블을 생성하는 방법은 다음과 같습니다.

1. 다음 명령어를 사용하여 `TSDB` 테이블을 생성해 주십시오.

    ```
    # opentsdb 사용자
    export COMPRESSION=SNAPPY
    export DATA_BLOCK_ENCODING=FAST_DIFF
    export TSDB_TTL=2147483647
    sh ~/opentsdb/src/create_table.sh
    ```

2. 다음 명령어로 테이블 리스트를 확인해 주십시오.

    ```
    # opentsdb 사용자
    hbase shell
    hbase(main):001:0> list
    TABLE
    tsdb
    tsdb-meta
    tsdb-tree
    tsdb-uid
    4 row(s) in 0.1620 seconds

    => ["tsdb", "tsdb-meta", "tsdb-tree", "tsdb-uid"]
    hbase(main):002:0>
    ```

### 4. OpenTSDB 기동<a name="4OpenTSDB기동"></a>

다음 명령어를 사용하여 TSD(Time Series Daemon)을 `8888`번 포트로 기동해 주십시오.

    ```
    # opentsdb 사용자
    cd opentsdb
    ./build/tsdb tsd --port=8888 --staticroot=build/staticroot --
    cachedir=`pwd`/build/tmp --zkquorum=m-001-*****-**,m-002-*****-**,dn-001-*****-**:
    2181 --zkbasedir=/hbase-unsecure &
    ```

### 5. OpenTSDB에 시계열 데이터 저장<a name="OpenTSDB시계열데이터저장"></a>

OpenTSDB에 시계열 데이터를 저장하는 방법은 다음과 같습니다.

1. 다음 명령어를 사용하여 `cpu.util` 메트릭을 생성해 주십시오.

    ```
    # opentsdb 사용자
    .build/tsdb mkmetric cpu.util --zkquorum=m-001-*****-**,m-002-*****-**,dn-001-*****-**:
    2181 --zkbasedir=/hbase-unsecure metrics cpu.util: [0, 0, 1]
    ```

2. 다음 명령어를 사용하여 `cpu.util` 메트릭 수집 스크립트를 생성해 주십시오. (`sar-data-input.sh`)
    * 스크립트 출처: Effective Monitoring and Alerting 원서 참고

    ```
    #!/bin/bash 
    # Ignore sar's header.  
    LC_ALL=en sar -u 1 | sed -u -e '1,3d' | 
    while read time cpu usr nice sys io steal idle; 
    do
        NOW=$(date +%s)
        echo put cpu.util $NOW $usr time=user
        echo put cpu.util $NOW $sys time=system
        echo put cpu.util $NOW $io time=io
        echo put cpu.util $NOW $idle time=idle
        # Report values to standard error.
        echo timestamp:$NOW user:$usr sys:$sys io:$io idle:$idle >&2 
    done | nc -w 30 localhost 8888
    ```

3. 다음 명령어를 사용하여 메트릭 데이터를 OpenTSDB로 전송해 주십시오.

    ```
    sh sar-data-input.sh
    ```

### 6. OpenTSDB 그래프 확인<a name="OpenTSDB그래프확인"></a>

OpenTSDB 그래프를 확인하는 방법은 다음과 같습니다.

1. 서버 콘솔에서 OpenTSDB 서버의 공인 IP를 확인해 주십시오.
    ![hadoop-chadoop-use-ex1_6-1_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/hadoop-chadoop-use-ex1_6-1_ko.png){height="", width="80%"} 
2. OpenTSDB 서버의 `8888`번 포트로 접속하여 수집된 그래프를 확인해 주십시오.
![hadoop-chadoop-use-ex1_6-2_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/hadoop-chadoop-use-ex1_6-2_ko.png){height="", width="80%"}
