Published: Sun 22 April 2018
Updated: Sun 22 April 2018
By Yunseop Song
In druid .
Versions
Druid 0.12.0
Java 1.8.0_161
과정
Java 설치
sudo yum install -y java-1.8.0-openjdk-devel.x86_64
druid User 추가 & druid 다운로드 & unzip
mv druid-0.12.0 /opt/druid/druid-0.12.0
설정 파일들 수정(jvm.config, runtime.properties)
metadata storage 설정(MySQL)
sh
# /opt/druid/druid-0.12.0/conf/druid/_common/common.properties
druid.extensions.loadList=["druid-kafka-eight","mysql-metadata-storage", "druid-s3-extensions"]
druid.metadata.storage.type=mysql
druid.metadata.storage.connector.connectURI=jdbc:mysql://{host}:{port}/{database}
druid.metadata.storage.connector.user=user
druid.metadata.storage.connector.password=password
실행
sh
$ ./bin/historical.sh start
$ ./bin/overlord.sh start
$ ./bin/middleManager.sh start
$ ./bin/broker.sh start
$ ./bin/coordinator.sh start
다운 타임없이 재실행을 하고 싶은 경우 다음과 같이 추천함
Historical
Overlord (if any)
Middle Manager (if any)
Standalone Real-time (if any)
Broker
Coordinator (or merged Coordinator+Overlord)
EMR과 같이 사용하고 싶다면
다른 하둡 버젼을 사용하는 것이기 때문에 그 하둡 설정관련 파일들이 필요합니다.
Working with different versions of Hadoop 참고
EMR 하둡 config파일 가져오기
EMR의 /etc/hadoop/conf
안에 있는 core-site.xml
, hdfs-site.xml
, mapred-site.xml
, yarn-site.xml
파일을 가져와서 드루이드의 conf/druid/_common/
안에 넣어줍니다.
S3 extension 추가 및 Deep Storage 설정
cont/druid/_common/common.runtime.properties
```sh
druid.extensions.loadList = ["druid-s3-extensions"]
druid.storage.type=s3
druid.storage.bucket=druid-bucket
druid.storage.baseKey=druid/segments
druid.s3.accessKey=XXXXXXXXXXXXXXX
druid.s3.secretKey=XXXXXXXXXXXXXXX
```
라이브러리 추가
```sh
$ cp -r /usr/lib/hadoop/client/ /opt/druid/druid-0.12.0/hadoop-dependencies/hadoop-client/emr/
$ cp -r /usr/share/aws/emr/emrfs/ /opt/druid/emrfs
$ cp -r /usr/share/aws/aws-sdk-java/ /opt/druid/aws-sdk-java
```
bin/node.sh 수정
middleManager를 실행할 때 library를 추가함
sh
JAVA_HOME=/usr/lib/jvm/java
if [ "$nodeType" == "middleManager" ]; then
LIB_DIR=$LIB_DIR/*:/opt/druid/emrfs/conf:/opt/druid/emrfs/lib/*:/opt/druid/emrfs/auxlib/*:/opt/druid/aws-java-sdk
fi
middleManager 재시작
index 파일에 s3 accessKey, secretKey 추가 && hadoopDependencyCoordinates
emr로 설정
json
{
...
"spec": {
"tuningConfig": {
"jobProperties": {
"fs.s3.awsAccessKeyId" : "XXXXXXXXXXXXXXX",
"fs.s3.awsSecretAccessKey" : "XXXXXXXXXXXXXXX"
}
}
},
"hadoopDependencyCoordinates": ["org.apache.hadoop:hadoop-client:emr-client"]
}
Refer
http://druid.io/docs/latest/operations/other-hadoop.html
http://aipkds.tistory.com/136
There are comments .