관리 메뉴

피터의 개발이야기

[docker] PinPoint(v1.8.4) docker image만들기 본문

DevOps/Pinpoint

[docker] PinPoint(v1.8.4) docker image만들기

기록하는 백앤드개발자 2021. 2. 12. 08:00
반응형

ㅁ 개요

Pinpoint를 개발용으로 사용하기 위해 VMware centos7에서 설치를 해 보았었습니다.
이것을 Docker CentOS7기반으로 만들어 보겠습니다.

 

 ㅇ Pinpoint demo 

 

 

ㅁ CentOS7 설치

#
# Pinpoint agent configuration
#

###########################################################
# Collector server                                        #
###########################################################
profiler.collector.ip=localhost

# placeHolder support "${key}"
profiler.collector.span.ip=${profiler.collector.ip}
profiler.collector.span.port=9996

# placeHolder support "${key}"
profiler.collector.stat.ip=${profiler.collector.ip}
profiler.collector.stat.port=9995

# placeHolder support "${key}"
profiler.collector.tcp.ip=${profiler.collector.ip}
profiler.collector.tcp.port=9994

pinpoint의 agent정보를 수신 할 포트를 맴핑해야합니다.

port정보는 agent의 pinpoint.config에서 확인할 수 있습니다.

 

docker run -d -it 
    -p 9994:9994 
    -p 9995:9995 
    -p 9996:9996 
    -p 7060:7060 
    --name pinpoint 
    centos:7 /bin/bash

모니터링 정보를 수집할 포트와 Web을 위한 7060포트를 세팅합니다.

 

기본적인 서버 세팅은 [CentOS 7 설치하기]를 참조하세요.

 

 

ㅁ JAVA8 설치

yum -y install java-1.8.0-openjdk-devel.aarch64

 

 

ㅁ HBase 설치

wget http://archive.apache.org/dist/hbase/1.2.7/hbase-1.2.7-bin.tar.gz -P /home/pinpoint/

 

 hbase 압축해제 및 링크 설정

tar xvfz hbase-1.2.7-bin.tar.gz
ln -s /home/pinpoint/hbase-1.2.7 /home/pinpoint/hbase

 

 

ㅁ hbase-env.sh 설정

# 편집 위치
vi /home/pinpoint/hbase/conf/hbase-env.sh

# JAVA_HOME 설정
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.aarch64/

# java 8에서 사용되지 않는 Perm 옵션 제거
export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:ReservedCodeCacheSize=256m"
export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:ReservedCodeCacheSize=256m"

 

 

ㅁ hbase-site.xml 설정 : 데이터 저장 위치

## 편집 위치
vi /home/pinpoint/hbase/conf/hbase-site.xml

## 설정 추가
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:///home/pinpoint/hbase-data/data</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/pinpoint/hbase-data/zookeeper</value>
  </property>
  <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
    <description>
      Controls whether HBase will check for stream capabilities (hflush/hsync).

      Disable this if you intend to run on LocalFileSystem, denoted by a rootdir
      with the 'file://' scheme, but be mindful of the NOTE below.

      WARNING: Setting this to false blinds you to potential data loss and
      inconsistent system state in the event of process and/or node failures. If
      HBase is complaining of an inability to use hsync or hflush it's most
      likely not a false positive.
    </description>
  </property>
</configuration>

 

디렉토리 생성(hbase.rootdir 은 자동생성되므로 zookeeper 폴더만 생성)

mkdir -p /home/pinpoint/hbase-data/zookeeper

 

 

ㅁ hbase 시작 중지

# hbase 시작
> hbase/bin/start-hbase.sh
# hbase 중지
> hbase/bin/stop-hbase.sh

 

 

ㅁ hbase 스키마 생성

스키마 생성은 [APM] PinPoint 설치 - 2편 - hbase 스키마 생성을 참조하세요. 구동방법은 centos에서 동일하니깐요.

 

 

ㅁ web, collector 생성

pinpoint의 web, collector은 war로 다운을 받아 tomcat으로 실행해야합니다.

설정은 [APM] PinPoint 설치 - 3편 - Web, Collector 을 참조하세요.

 

 

ㅁ 서버 실행 스크립트

#hbase 실행
sh /home/pinpoint/hbase/bin/start-hbase.sh

#web, collector 실행
sh /home/pinpoint/tomcat/bin/startup.sh

 

 

ㅁ 실행확인

 

반응형
Comments