这篇文章上次修改于 838 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
Haddop 开发测试环境搭建
此教程的目的是在一台 CentOS 服务器上利用 Docker 搭建一套具有三个节点的 Hadoop 伪集群,然后在本地开发机上使用 Java API 对 Hadoop 集群进行各种操作,比如:创建文件夹、创建文件、重命名文件、上传文件、下载文件等。
有了 Docker 大大简化了 Hadoop 的安装过程,基本没什么难度。这个教程的难点主要集中在本地开发机上传下载文件部分,这个问题只存在于我司当前的开发环境下,不具有普适性。
由于上传下载文件时需要与数据节点(DataNode)建立连接,而数据节点部署在 Docker 中,使用了一个独立的子网,从本地开发机不能直接访问该子网地址。本来在开发机上增加一条路由,将数据节点的相关地址网关设为服务器地址可以解决这个问题,奈何我司开发机和服务器不在同一个子网,使用了不同的网关,直接增加路由不起作用。
最后的解决办法挺绕,借助了 Proxifier 代理软件,还在服务器上安装了 shadowsocks-libev 代理软件,但总算把问题解决了。
先决条件
- 一台服务器:centos-release-7-8.2003.0.el7.centos.x86_64,假定 IP 为:192.168.20.105
- 服务器上安装了 docker:Docker version 19.03.0, build aeac9490dc
- Hadoop 版本:2.7.5, r18065c2b6806ed4aa6a3187d77cbe21bb3dba075
- shadowsocks-libev
- Proxifier
- shadowsocks 客户端
安装 Docker
请自行搜索安装教程,此处省略。
安装 Hadoop
- 运行
docker load -i /zzh/tar/hbase-zzh:1.0.tar
导入 Hadoop 镜像 - 运行
/zzh/create-network.sh
创建一个子网 - 运行
docker-compose -f /zzh/compose/hadoop.yml up -d
创建 Hadoop 集群容器 - 运行
docker exec -it master sh
进入 master 容器内部 - 在 master 容器内部运行
./start-hbase.sh
启动 Hadoop 集群 该 Hadoop 集群由三个节点组成:
- master 节点:192.166.0.21
- slave1 节点:192.166.0.22
- slave2 节点:192.166.0.23
安装 shadowsocks-libev
- 运行
docker pull teddysun/shadowsocks-libev:latest
拉取 shadowsocks-libev 最新镜像 - 运行
/zzh/shadowsocks-libev/start-shadowsocks.sh
创建 shadowsocks-test 容器
至此,服务端已安装配置完成,接下来将介绍开发机上的配置。
开发机配置
hosts 配置
192.166.0.21 master 192.166.0.22 slave1 192.166.0.23 slave2
shadowsocks 客户端配置
- 服务器地址:192.168.20.105
- 服务器端口:15000
- 密码:123456
- 加密:aes-256-cfb
Proxifier 配置
配置 Proxy Servers
- 依次打开 Profile->Proxy Servers...->Add...
- Address: 127.0.0.1
- Port: 1080
- Protocol: SOCKS Version5
配置 Proxification Rules
- 依次打开 Profile->Proxification Rules...->Add...
- Name: Hadoop
- Applications: Any
- Target Hosts: 192.166.0.0-192.166.0.255
- Target Ports: Any
- Action: Proxy SOCKS5 127.0.0.1
至此,开发机也已配置完成,现在你可以在开发机上自由的访问 192.166 网段,并可使用 Java API 对 Hadoop 集群进行文件上传/下载等操作。
后记
- 若开发机和服务器在同一子网下,以上步骤中
安装 shadowsocks-libev
、shadowsocks 客户端配置
、Proxifier 配置
均可省略,取而代之的是在开发机新增一条路由:route add 192.166.0.0 mask 255.255.0.0 192.168.20.105 -p
- 文中用到的资源,若有需要请与我联系索取。
没有评论