Pinpoint Docker 설치 전 최소 준비 사항
- Docker 18.02.0 버전 이상 설치
- Docker-compose 설치
- 서버 Memory 16GB 이상 (32GB 기준으로 60% 사용 중)
- 별도 Disk 용량 50G 이상 (루트 Disk 외의 Docker의 overlays2 혹은 Volume이 용량을 많이 차지 하기 때문)
Pinpoint Agent 수에 따라 hbase ttl에 따라 필요 용량이 달라질 수 있음
Disk Mount (Aws Linux)
lsblk (추가된 Disk가 존재하는지 여부 체크)
sudo file -s /dev/xvdf (파일 시스템 유형 등 디바이스 정보 확인용 (마운트 된 드라이버명이 달라질 수 있음)
sudo mkfs -t xfs /dev/xvdf (볼륨에서 파일 시스템 생성)
만약 mkfs.xfs가 발견되지 않는 오류 발생 시 xfs 도구 설치
- sudo yum install xfsprogs
sudo mkdir /data (Docker 볼륨에 사용할 디렉토리 생성)
sudo mount /dev/xvdf /data (해당 디렉토리 볼륨을 사용할 디바이스 지정)
sudo su mkdir /data/docker && chown -R 사용자계정:사용자계정 /data && chown -R 사용자계정:사용자계정 /data/docker
참조 : (https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ebs-using-volumes.html)
1.8 Jdk 설치 및 Path 지정
mkdir apps
cd apps
wget 'https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u382-b05/OpenJDK8U-jdk_x64_linux_hotspot_8u382b05.tar.gz' -O ~/apps/OpenJDK8U-jdk_x64_linux_hotspot_8u382b05.tar.gz
tar -xzf OpenJDK8U-jdk_x64_linux_hotspot_8u382b05.tar.gz && rm -f OpenJDK8U-jdk_x64_linux_hotspot_8u382b05.tar.gz
ln -s jdk8u382-b05 jdk_8 //심볼릭 링크 설정
echo 'export JAVA_8_HOME=~/apps/jdk_8' >> ~/.bashrc && echo 'export PATH=$JAVA_8_HOME/bin:$PATH' >> ~/.bashrc && source ~/.bashrc
Pinpoint Docker 설치 및 hbase java 경로 및 ttl 지정
git 명령어와 Docker, Docker-compose가 설치 되었다는 가정하에 진행
cd apps
git clone https://github.com/pinpoint-apm/pinpoint-docker.git
cd pinpoint-docker/pinpoint-hbase
vi hbase-env.sh
(자바 경로 지정)
export JAVA_HOME=/home/사용자계정/apps/jdk_8
(주석처리)
#export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
#export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
cd build/script
vi configure-hbase.sh
:%s/5184000/172800/g (ttl을 2일로 변경)
Docker Mount 된 디스크로 Root 디렉토리 변경
cd /etc/docker
vi deamon.json
{
"data-root":"/data/docker/"
}
도커 실행
systemctl start docker
변경된 디렉토리 확인
docker info | grep "Docker Root Dir"
> Docker Root Dir: /data/docker
Pinpoint Docker 구동 (metric 기능은 사용안함 / beta 버전이기 때문)
cd ~/apps/pinpoint-docker
docker-compose -f docker-compose.yml pull (docker-compose.yml에 정의된 도커 이미지 다운받음)
docker-compose -f docker-compose.yml up (정상적으로 실행되는지 확인을 위해 백그라운드 실행 하지 않음 / -d 옵션 생략)
정상 구동 후 pinpoint 구동 체크
curl 127.0.0.1:8080
정상 호출이 된다면, 구동 완료