-- 测试性用途,不建议在生产环境布署 --
Docker images include hadoop, hbase, phoenix, zookeeper, based on fedora:latest
.
Download configure files: main.zip
该仓库构建的镜像包含hadoop, hbase, phoenix, zookeeper, 基于fedora:latest
仓库配置文件下载:main.zip
docs: https://docs.docker.com/engine/install/
如果你的发行版是CentOS 7,可以直接运行该脚本安装: docker-install.sh
#!/bin/bash
# CentOS 7 Docker install
cd /etc/yum.repos.d
sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.ustc.edu.cn/centos|g' \
-i.bak \
/etc/yum.repos.d/CentOS-Base.repo
sudo yum clean all
sudo yum makecache
sudo yum install -y yum-utils --nogpgcheck
sudo yum-config-manager --add-repo https://mirrors.bfsu.edu.cn/docker-ce/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io wget ca-certificates --nogpgcheck
sudo systemctl enable docker.service
sudo systemctl start docker.service
# docker mirrors
echo "{\"registry-mirrors\":[\"https://docker.mirrors.ustc.edu.cn/\"]}" | sudo tee /etc/docker/daemon.json
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl status docker.service
sudo docker version
sudo docker images
172.30.0.100 master
172.30.0.101 slave-1
172.30.0.102 slave-2
如果在虚拟机中运行docker,则需要把上面的ip改成虚拟机网卡的ip
并且需要在虚拟机软件内配置172.30.0.100
网段下这些端口的转发规则
2181, 8088, 9870, 16000, 16010, 16020
这个过程大概需要10分钟,请保证网络通畅
运行后脚本会自动登录hadoop-master
主节点容器
容器内系统默认以root登录,密码与账户名相同
登录后,运行init.sh
进行hadoop及其他服务的初始化操作(这个脚本不建议运行第二次)
之后可以使用start.sh
启动集群,stop.sh
关闭集群
在启动zookeeper的时候会显示
FAILED TO START
,但是我看了一下日志,暂时没有看到问题,其他服务运行也正常,如果你遇到了服务不正常的问题,请在issue中提出
使用这个脚本会自动启动/停止容器内集群的服务
./cluster.sh start
启动集群,启动成功后会自动登录hadoop-master
./cluster.sh stop
关闭集群
运行这个脚本将删除之前创建的所有容器(包括给集群使用的网卡hadoop
)
- 使用数据库管理软件连接
- 导入
package
中Phoenix安装包的phoenix-client-hbase
jar文件(JDBC驱动) - 配置以下两个连接属性:
属性 | 值 |
---|---|
phoenix.schema.isNamespaceMappingEnabled | true |
hbase.regionserver.wal.codec | org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec |
- 连接的JDBC URL:
jdbc:phoenix:172.30.0.100:2181
如果docker在虚拟机中运行,则连接ip需要使用虚拟机网卡的ip,并且确认配置好hosts映射
- 使用Java SQL API连接
- 导入
package
中Phoenix安装包的phoenix-client-hbase
jar文件(JDBC驱动) - 下载Phoenix源码包
- 将源码包中的
phoenix-hbase-compat-x.x.x/src/main/java
文件夹(版本号可以选最新的)下的org
文件夹复制到maven项目的src/main/java
文件夹下 - 将
config/hbase_config/hbase-site.xml
复制到maven项目的src/main/resources
文件夹下 - 使用Java SQL API测试连接
在docker容器内运行hive
命令即可使用
安装Hive时已经同时安装了mysql docker作为meta数据库(版本5.7.39),root密码默认与账户同名
这个mysql容器的地址绑定在新建的docker网卡上,默认访问地址为172.30.0.10:3306