背景
由于公司内部调整,apahce druid 集群需迁移。深度存储的路径也需要调整。
迁移hdfs中的文件
这个我们有专门的人员迁移的,具体操作不详。应该就是借助工具,在hdfs中进行 segements的迁移。
使用工具insert-segment-to-db
这个在使用时,注意版本。后期druid 升级后,包名进行过调整,导致使用的命令有差异。 官网给出的导入命令
java
-Ddruid.metadata.storage.type=mysql
-Ddruid.metadata.storage.connector.connectURI=jdbc\:mysql\://localhost\:3306/druid
-Ddruid.metadata.storage.connector.user=druid
-Ddruid.metadata.storage.connector.password=diurd
-Ddruid.extensions.loadList=[\"mysql-metadata-storage\",\"druid-hdfs-storage\"]
-Ddruid.storage.type=hdfs
-Ddruid.storage.type=hdfs
-cp $DRUID_CLASSPATH
org.apache.druid.cli.Main tools insert-segment-to-db --workingDir hdfs://host:port//druid/storage/wikipedia --updateDescriptor true
在实际导入的过程中,设置DRUID_CLASSPATH 过程中出现问题,导致无法读取到hdfs中的文件。此处需设置,druid 的lib 于hadoop 的配置 以下命令是个人导入的命令。
java
-Ddruid.metadata.storage.type=mysql
-Ddruid.metadata.storage.connector.connectURI=jdbc:mysql://ip:3306/druid
-Ddruid.metadata.storage.connector.user=druid
-Ddruid.metadata.storage.connector.password=
-Ddruid.extensions.loadList=[\"mysql-metadata-storage\",\"druid-hdfs-storage\"]
-Ddruid.storage.type=hdfs
-cp "conf/druid/_common:/home/ant/druid/apache-druid-0.13.0-incubating/lib/*"
org.apache.druid.cli.Main tools insert-segment-to-db --workingDir hdfs://hodoop//druid/segments/wikipedia1 --updateDescriptor true
注意
导入数据时,尽量保持环境属于安全模式,也就是没有数据写入。
官网文档地址
http://druid.io/docs/0.13.0-incubating/operations/insert-segment-to-db.html