들어가며
이번에는 pinpoint를 사용하기 위해 HBase 설치하고 세팅하는 과정을 정리하려고 한다. 그 과정에서 마주했던 문제들 그리고 해결방법까지 정리할 것이다. 이번엔 내용이 많으니까 바로 본론으로 들어가야겠다!
우선 Window10 환경에서 진행했고 이미 배포된 서버가 있어서 거기에 ssh 접속을 통해 진행했다. 배포된 서버는 linux 환경이었으며, 대부분의 파일 작업은 Filezilla를 사용했다.
해당 서버에는 톰캣 8097, 8098으로 애플리케이션이 동작 중이다. 이 두 가지를 모두 pinpoint로 연동할 계획이었다. 동일한 collector로 각 agent를 연결하는 방식으로 진행했다.
war 파일로 톰캣 서버 배포하는 방법과 그 과정에서 만난 문제들 및 해결 방법은 추후에 따로 정리해볼 예정이다. 딱히 어려운 과정은 없지만 예상치 못한 에러로 시간이 소모되었다.
1. HBase-1.2.7 설치
wget http://archive.apache.org/dist/hbase/1.2.7/hbase-1.2.7-bin.tar.gz
ls 를 통해 현재 폴더의 파일 목록을 확인하면 tar 파일이 설치되었음을 확인할 수 있다.
2. 압축 풀기 및 tar 파일 삭제
tar -zxvf hbase-1.2.7-bin.tar.gz
rm hbase-1.2.7-bin.tar.gz
3. HBase 실행
추가 작업) hbase-config.sh 파일 내 JAVA_HOME 값을 java8로 세팅
hbase 1.2.7버전은 자바 8과 가장 잘 호환된다고 한다. 그러나 pinpoint 2.5.1 은 자바 11과 호환된다는 점!
JAVA_HOME="{java 8 절대 경로}"
이와 같이 JAVA_HOME 변수를 선언해주었다. 그러고 환경 변수의 JAVA_HOME에는 11을 바라보도록 설정했다.
export JAVA_HOME={java 11 절대 경로}
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=$JAVA_HOME/lib:$CLASS_PATH
hbase/bin/start-hbase.sh
참고로 간편함을 위해 링크 생성하였기 때문에 "habase/..." 와 같은 경로가 나오게 된 것이다.
ln -s {hbase 파일 경로}/hbase-1.2.7 {hbase 파일 경로}/hbase
만약 링크를 만들지 않았을 경우에는 아래와 같이 진행하면 된다. 어떤 방식으로 하든 파일 위치만 잘 맞춰주면 된다.
{hbase 파일 경로}/bin/start-hbase.sh
⚠️ 에러 발생
자바 파일 권한 문제임을 알 수 있다.
chmod -R 755 {Java 파일 경로}
hbase 실행이 정상적으로 완료되었다.
netstat -tnlp
제대로 실행 중인지 확실하게 확인하기 위해서 실행 중인 포트를 확인해본다.
가장 오른쪽에 위치하는 PID 값이 693720으로 동작 중인 프로세스가 hbase와 관련된 것이다.
- 참고
2181 : 클라이언트가 ZooKeeper 연결에 사용하는 포트
16010 : hbase 마스터 웹 포트
4. hbase-create.hbase 파일 다운로드
wget https://github.com/pinpoint-apm/pinpoint/raw/refs/heads/master/hbase/scripts/hbase-create.hbase
https://github.com/pinpoint-apm/pinpoint/blob/master/hbase/scripts/hbase-create.hbase
들어가보면 테이블 스키마 정의하는 sql이 생성되어있다.
5. 데이터 유지 ttl 값 조정
31536000초(365일), 5184000초(60일) → 6048000초(7일)
sed 's/31536000/6048000/' hbase-create.hbase > hbase-create-real.hbase
sed -i 's/5184000/6048000/' hbase-create-real.hbase
보통 hbase 데이터 유지 기간을 7일로 설정하여 나도 따라서 7일로 해주었다. 만약 원하는 기간이 있을 경우 그에 맞게 변경하면 된다. 대신 단위가 초라는 것만 기억하면 될 듯하다.
6. 스키마 생성
./hbase shell ./hbase-create-real.hbase
만약 스키마가 정상적으로 생성되었다면 아래와 같은 결과가 콘솔에 출력된다.
0 row(s) in 1.6930 seconds
0 row(s) in 2.2990 seconds
0 row(s) in 2.3050 seconds
0 row(s) in 1.2390 seconds
0 row(s) in 1.2420 seconds
0 row(s) in 1.2270 seconds
0 row(s) in 1.2310 seconds
0 row(s) in 1.2460 seconds
0 row(s) in 1.2470 seconds
0 row(s) in 1.2280 seconds
0 row(s) in 8.3060 seconds
0 row(s) in 1.2520 seconds
0 row(s) in 1.2320 seconds
0 row(s) in 1.2660 seconds
0 row(s) in 1.2540 seconds
0 row(s) in 1.2330 seconds
TABLE
AgentEvent
AgentInfo
AgentLifeCycle
AgentStatV2
ApiMetaData
ApplicationIndex
ApplicationMapStatisticsCallee_Ver2
ApplicationMapStatisticsCaller_Ver2
ApplicationMapStatisticsSelf_Ver2
ApplicationStatAggre
ApplicationTraceIndex
HostApplicationMap_Ver2
SqlMetaData_Ver2
SqlUidMetaData
StringMetaData
TraceV2
16 row(s) in 0.0180 seconds
hbase 설치 및 세팅은 여기서 끝이 났다! 다음엔 pinpoint web, collector, agent를 설치하는 과정을 차례대로 정리해보겠다!
:wq 💟
댓글