详细步骤请搜索相关关键词
1. 环境准备
虚拟化支持:开启虚拟化
VirtualBox虚拟机:VirtualBox官方下载页面
Ubuntu镜像:Ubuntu官方下载页面
注:这里的Ubuntu镜像推荐下载服务器版本,只是学习Hadoop没必要使用带GUI的桌面版本多占用存储空间
2. 环境部署
2.1 基本配置
使用VirtualBox安装Ubuntu,全部默认设置即可
进入Ubuntu,更新apt列表,安装net-tools,查看网卡ip
$ sudo apt update && sudo apt install net-tools -y && ifconfig
在Windows中打开cmd,查看本机网卡ip
ipconfig
在VirtualBox中将本机ip的空闲端口和虚拟机ip的22
端口,本机的50070
端口和虚拟机的50070
端口设置为端口映射
在cmd中使用ssh连接到虚拟机,方便后续步骤的复制粘贴操作
修改apt镜像源,使用文本编辑器将/etc/apt/sources.list
中的仓库地址替换为mirror://mirrors.ubuntu.com/mirrors.txt
,使用cat
命令覆盖重定向sources.list
更新apt列表
$ sudo apt update
查看时间是否和Windows一致
$ date
若时区错误,修改时区为北京时间
$ sudo timedatectl set-timezone 'Asia/Shanghai'
2.2 安装Docker
apt安装Docker
$ sudo apt install docker.io
创建docker用户组
$ sudo groupadd docker
添加个人用户进入docker用户组
$ sudo usermod -aG docker $USER
激活对组的更改
$ newgrp docker
切换到国内镜像源
如果有阿里云账户,建议登录阿里云容器镜像服务,按照镜像加速器中的方法配置。实测阿里云的速度明显快于国内公共镜像源,另外注册阿里云是免费的。
或者使用国内公共的网易和百度源:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
验证是否可以在不使用sudo命令运行docker
$ docker run hello-world
若运行成功,则Docker安装完成
3. 运行Hadoop
拉取sequenceiq/hadoop-docker
镜像并在后台运行容器,命名为myhadoop0,映射常用端口,并执行初始化命令
$ docker run -d --name myhadoop0 -p 50070:50070 -p 9000:9000 -p 8088:8088 -p 8040:8040 -p 8042:8042 -p 49707:49707 -p 50010:50010 -p 50075:50075 -p 50090:50090 sequenceiq/hadoop-docker /etc/bootstrap.sh -bash
进入容器
$ docker exec -it myhadoop0 bash
测试MapReduce样例程序
# /usr/local/hadoop-2.7.0/bin/hadoop jar /usr/local/hadoop-2.7.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar grep input output 'dfs[a-z.]+'
在浏览器打开本机localhost:50070
出现Hadoop的Overview页面,即部署成功Hadoop环境