启动mysql的dockerfile
1 | version: '3' |
启动hbase
docker run -d -h myhbase -p 2181:2181 -p 8080:8080 -p 8085:8085 -p 9090:9090 -p 9095:9095 -p 16000:16000 -p 16010:16010 -p 16201:16201 -p 16301:16301 –name hbase1.3 harisekhon/hbase –net=host
参考 https://github.com/tanwenliang/spring-boot-hbase-example
这样启动的话没有nginx,每个单独的容器是相互分离的。
问题记录
这一块的问题属于运维的,无需太关心这个问题。
hbase容器启动后,ip地址无法ping通
导致springboot无法连接 hbase,控制台提示错误:
1 |
|
正确的hbase配置
package com.example.config;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.;
import org.apache.hadoop.hbase.client.;
import org.apache.hadoop.hbase.filter.*;
import org.apache.hadoop.hbase.util.Bytes;
import org.springframework.context.annotation.Bean;
import java.io.IOException;
/**
@author allen
/ @org.springframework.context.annotation.Configuration
public class Hbase {
@Bean
public Connection getHbaseConnect() throws IOException {Configuration conf = HBaseConfiguration.create(); conf.set("hbase.zookeeper.quorum", "myhbase"); conf.set("hbase.zookeeper.property.clientPort", "2181"); conf.set("log4j.logger.org.apache.hadoop.hbase", "WARN"); Connection connection = ConnectionFactory.createConnection(conf); return connection;
}
@Bean
public Admin getHbaseAdmin(Connection connection) throws IOException{Admin admin = connection.getAdmin(); return admin;
}
}