Skip to content
This repository has been archived by the owner on Jun 10, 2024. It is now read-only.
/ hadoop_dockerfile Public archive

hadoop dockerfile, include hadoop, hbase, phoenix, zookeeper, 3 nodes

Notifications You must be signed in to change notification settings

SzLeaves/hadoop_dockerfile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hadoop Docker to build

-- 测试性用途,不建议在生产环境布署 --

README in English

Docker images include hadoop, hbase, phoenix, zookeeper, based on fedora:latest.
Download configure files: main.zip

该仓库构建的镜像包含hadoop, hbase, phoenix, zookeeper, 基于fedora:latest
仓库配置文件下载:main.zip

1. 安装Docker

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

2. 在宿主机hosts文件中添加以下映射

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

3. 运行build.sh构建镜像

这个过程大概需要10分钟,请保证网络通畅
运行后脚本会自动登录hadoop-master主节点容器

容器内系统默认以root登录,密码与账户名相同
登录后,运行init.sh进行hadoop及其他服务的初始化操作(这个脚本不建议运行第二次
之后可以使用start.sh启动集群,stop.sh关闭集群

在启动zookeeper的时候会显示FAILED TO START,但是我看了一下日志,暂时没有看到问题,其他服务运行也正常,如果你遇到了服务不正常的问题,请在issue中提出

3. 使用cluster.sh对创建的容器进行启动/关闭操作

使用这个脚本会自动启动/停止容器内集群的服务

  • ./cluster.sh start 启动集群,启动成功后会自动登录hadoop-master
  • ./cluster.sh stop 关闭集群

5. 使用remove.sh删除容器

运行这个脚本将删除之前创建的所有容器(包括给集群使用的网卡hadoop

6. 使用Phoenix JDBC连接Hbase

  • 使用数据库管理软件连接
  1. 导入package中Phoenix安装包的phoenix-client-hbasejar文件(JDBC驱动)
  2. 配置以下两个连接属性:
属性
phoenix.schema.isNamespaceMappingEnabled true
hbase.regionserver.wal.codec org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec
  1. 连接的JDBC URL: jdbc:phoenix:172.30.0.100:2181

如果docker在虚拟机中运行,则连接ip需要使用虚拟机网卡的ip,并且确认配置好hosts映射

  • 使用Java SQL API连接
  1. 导入package中Phoenix安装包的phoenix-client-hbasejar文件(JDBC驱动)
  2. 下载Phoenix源码包
  3. 将源码包中的phoenix-hbase-compat-x.x.x/src/main/java文件夹(版本号可以选最新的)下的org文件夹复制到maven项目的src/main/java文件夹下
  4. config/hbase_config/hbase-site.xml复制到maven项目的src/main/resources文件夹下
  5. 使用Java SQL API测试连接

7. 使用Hive工具

在docker容器内运行hive命令即可使用
安装Hive时已经同时安装了mysql docker作为meta数据库(版本5.7.39),root密码默认与账户同名
这个mysql容器的地址绑定在新建的docker网卡上,默认访问地址为172.30.0.10:3306

About

hadoop dockerfile, include hadoop, hbase, phoenix, zookeeper, 3 nodes

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages