前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker安装hbase

docker安装hbase

作者头像
山行AI
发布2020-05-22 16:10:48
3.7K0
发布2020-05-22 16:10:48
举报
文章被收录于专栏:山行AI
安装docker

yum install docker

查找hbase

docker search hbase

代码语言:javascript
复制
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

解决办法:sudo systemctl start docker

再运行docker search hbase

代码语言:javascript
复制
INDEX       NAME                                           DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
 
docker.io   docker.io/harisekhon/hbase                     Apache HBase, opens shell - pseudo-distrib... 86 [OK]
 
docker.io   docker.io/dajobe/hbase                         HBase 2.1.2 in Docker 25 
 
docker.io   docker.io/nerdammer/hbase                      HBase pseudo-distributed (configured for l... 25 [OK]
 
docker.io   docker.io/banno/hbase-standalone               HBase master running in standalone mode on... 17 [OK]
 
docker.io   docker.io/boostport/hbase-phoenix-all-in-one   HBase with phoenix and the phoenix query s... 9 [OK]
 
docker.io   docker.io/zenoss/hbase                         HBase image for Zenoss 5.0 9 
 
docker.io   docker.io/harisekhon/hbase-dev                 Apache HBase + dev tools, github repos, ps... 7 [OK]
 
docker.io   docker.io/bde2020/hbase-standalone             Standalone Apache HBase docker image. Suit... 5 [OK]
 
docker.io   docker.io/bde2020/hbase-regionserver           Regionserver Docker image for Apache HBase. 4 [OK]
 
docker.io   docker.io/gradiant/hbase-base Hbase small footprint Image (Alpine based) 3 [OK]
 
docker.io   docker.io/smizy/hbase                          Apache HBase docker image based on alpine       3 [OK]
 
docker.io   docker.io/aaionap/hbase                        AAI Hbase 2 
 
docker.io   docker.io/bde2020/hbase-master                 Master docker image for Apache HBase. 2 [OK]
 
docker.io   docker.io/f21global/hbase-phoenix-server       HBase phoenix query server                      1 [OK]
 
docker.io   docker.io/imagenarium/hbase                                                                    1 
 
docker.io   docker.io/imagenarium/hbase-master                                                             1 
 
docker.io   docker.io/imagenarium/hbase-regionserver                                                       1 
 
docker.io   docker.io/newnius/hbase                        Setup a HBase cluster in a totally distrib... 1 [OK]
 
docker.io   docker.io/pilchard/hbase                       Hbase 1.2.0 (CDH 5.11) with openjdk-1.8 1 [OK]
 
docker.io   docker.io/cellos/hbase                         HBase on top of Alpine Linux 0 
 
docker.io   docker.io/iwan0/hbase-thrift-standalone        hbase-thrift-standalone                         0 [OK]
 
docker.io   docker.io/pierrezemb/hbase-docker              hbase in docker                                 0 [OK]
 
docker.io   docker.io/pierrezemb/hbase-standalone           Docker images to experiment with HBase 1.... 0 [OK]
 
docker.io   docker.io/stellargraph/hbase-hadoop                                                            0 
 
docker.io   docker.io/stellargraph/hbase-master
 
docker images
代码语言:javascript
复制
REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
 
docker.io/dajobe/hbase   latest              cfd7eefee902        15 months ago       492 MB
 
配置主机名与端口映射等
代码语言:javascript
复制
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 hbase2 docker.io/dajobe/hbase
 

简单解释:

  • -h: 指定hostname
  • -d : 后台启动
  • -p: 指定端口映射
  • --name: 指定名称

还可能做一些更多的映射以及docker 数据卷与宿主机的映射关系,此处没有用到,需要的请自行搜索

注意点

docker run -d --name hbase001 -p 16010:16010 docker.io/dajobe/hbase与docker run -d --name hbase001 -P docker.io/dajobe/hbase的区别:

  • -p : 指定主机的端口 16010映射到宿主机上(容器)的开放端口 16010
  • -P :主机随机分配端口与宿主机上的端口进行映射
执行:
代码语言:javascript
复制
docker run -d -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 hbase2 docker.io/daj
 
obe/hbase
 

结果:

代码语言:javascript
复制
cdfb7e24c051bc69083d715be42ea32efe7d8584b4609e475707ac43e0b40206
docker ps -a
代码语言:javascript
复制
CONTAINER ID        IMAGE                    COMMAND               CREATED             STATUS              PORTS                                                                                                                                                                                                                            NAMES
 
cdfb7e24c051        docker.io/dajobe/hbase   "/opt/hbase-server" 6 seconds ago       Up 5 seconds        0.0.0.0:2181->2181/tcp, 0.0.0.0:8080->8080/tcp, 0.0.0.0:8085->8085/tcp, 0.0.0.0:9090->9090/tcp, 0.0.0.0:9095->9095/tcp, 0.0.0.0:16000->16000/tcp, 0.0.0.0:16010->16010/tcp, 0.0.0.0:16201->16201/tcp, 0.0.0.0:16301->16301/tcp   hbase2
 
访问web界面

http://ip:16010/master-status

效果:

进入docker容器

有两种方式,attach和exec,我们选择exec:

代码语言:javascript
复制
docker exec -it hbase2  bash

ps -aux|grep hbase即可查到端口、pid和目录信息:

  • hbase目录在:/opt/hbase
  • bin目录为:/opt/hbase/bin
主要命令
  • docker images: 查看docker镜像
  • docker ps -a:查看当前运行的docker镜像
  • docker exec -it hbase2 bash: 进入hbase容器
  • hbase当前目录:/opt/hbase
问题

ifconfig查看:

代码语言:javascript
复制
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
 
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 0.0.0.0
 
        ether 02:42:88:1e:cd:ff  txqueuelen 0 (Ethernet)
 
        RX packets 549  bytes 1092247 (1.0 MiB)
 
        RX errors 0  dropped 0  overruns 0  frame 0
 
        TX packets 465  bytes 43279 (42.2 KiB)
 
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 


 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
 
        inet 172.16.1.230  netmask 255.255.255.0  broadcast 172.16.1.255
 
        ether 00:16:3e:16:6a:ac  txqueuelen 1000 (Ethernet)
 
        RX packets 3900038  bytes 2205407507 (2.0 GiB)
 
        RX errors 0  dropped 0  overruns 0  frame 0
 
        TX packets 2437734  bytes 1234635259 (1.1 GiB)
 
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 


 
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
 
        inet 127.0.0.1  netmask 255.0.0.0
 
        loop  txqueuelen 1000 (Local Loopback)
 
        RX packets 254754  bytes 147500058 (140.6 MiB)
 
        RX errors 0  dropped 0  overruns 0  frame 0
 
        TX packets 254754  bytes 147500058 (140.6 MiB)
 
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 

可以看到多出了个docker0网卡

然后systemctl restart network重启了下网卡,发现ip:16010访问不了了。。。。

猜想是docker0网卡的原因,于是删掉它:

代码语言:javascript
复制
yum -y install bridge-utils
 


 
ifconfig docker0 down
 


 
 brctl delbr docker0
 

然后再重启网卡,问题解决。

主要命令
  • docker images: 查看docker镜像
  • docker ps -a: 查看当前运行的docker镜像
  • docker exec -it hbase2 bash: 进入hbase容器
  • hbase当前目录:/opt/hbase
  • docker stop hbase2: 关闭容器
  • docker rm hbase2:删除容器
  • 容器内部安装vim:先apt-get update ,然后apt-get install vim
  • docker logs hbase2:查看日志

问题1

ifconfig查看:

代码语言:javascript
复制
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
 
        inet 192.17.0.1 0
 


 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
 
 0
 


 
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
 
 0
 

可以看到多出了个docker0网卡

然后systemctl restart network重启了下网卡,发现ip:16010访问不了了。。。。

猜想是docker0网卡的原因,于是删掉它:

代码语言:javascript
复制
1.yum -y install bridge-utils
2.
3.ifconfig docker0 down
4.
5.brctl delbr docker0

然后再重启网卡,问题解决。

问题2

默认使用的网络模式是桥接模式,宿主机与容器的网络通过docker0网卡来通信,在这种模式下默认用容器id作为hostname的,需要在宿主机中配置容器ip与id的映射关系:

代码语言:javascript
复制
192.17.0.1 3c38a154df21
问题3

以host网络模式启动命令:

代码语言:javascript
复制
 docker run -d --net=host --name hbase2 docker.io/dajobe/hbase 

这种模式的特点是容器和宿主机共享网络,达不到网络隔离的效果。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开发架构二三事 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装docker
  • 查找hbase
  • docker images
  • 配置主机名与端口映射等
    • 注意点
      • 执行:
      • docker ps -a
      • 访问web界面
      • 进入docker容器
      • 主要命令
      • 问题
      • 主要命令
      • 问题1
      • 问题2
      • 问题3
      相关产品与服务
      容器镜像服务
      容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档