Windows 环境下Docker 安装伪分布式 Hadoop

打印 上一主题 下一主题

主题 914|帖子 914|积分 2742

1、环境

Windows 11
Docker 20.0.2
2、拉取镜像

我选择 ubuntu20.04:
  1. docker pull ubuntu:20.04
复制代码

然后我们用命令看一下本地镜像:
  1. docker images
复制代码

3、启动容器
  1. docker run -it IMAGE_ID bash
复制代码

4、预备操作

4.1安装vim

4.1.1 更新软件包信息
  1. apt-get update
复制代码

4.1.2 安装vim
  1. apt-get install vim
复制代码

4.2 换源

4.2.1 备份镜像源设置文件
  1. cp /etc/apt/sources.list /etc/apt/sources.list.bak
复制代码
4.2.2 编辑镜像源设置文件
  1. vim /etc/apt/sources.list
复制代码
如果不出意外大家原来文件都应该如下图一样:

我们键入 ggdG 删除其中全部内容,复制下面的所有内容粘贴上去 (一次只可以选一个镜像源,根据你的情况选)
  1. #  阿里源
  2. deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
  3. deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
  4. deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
  5. deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
  6. deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
  7. deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
  8. deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
  9. deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
  10. deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
  11. deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
复制代码
  1. # 清华源
  2. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
  3. deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
  4. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
  5. deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
  6. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
  7. deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
  8. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
  9. deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
  10. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
  11. deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
复制代码
  1. #  中科大源
  2. deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
  3. deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
  4. deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
  5. deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
  6. deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
  7. deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
  8. deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
  9. deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
  10. deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
  11. deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
复制代码
我这里选用阿里源,按 esc 键再 :wq 保存退出

4.2.3 重新更新一下软件包信息
  1. apt-get update
复制代码

4.3 同步上海时间

输入下面命令可以看到时间和咱们时间不一样,需要同步一下不然以后可能会遇到一些问题
  1. date
复制代码

4.3.1 安装 tzdata
  1. apt-get install tzdata
复制代码
4.3.2 设置 tzdata

输入下面命令
  1. dpkg-reconfigure tzdata
复制代码
然后按照提示选择 Asia 对应的序号,选完后会显示一堆新的提示—输入城市名,如 Shanghai,按照提示进行选择时区,就可以看到时间修改成功了:

然后使用下面命令:
  1. ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
复制代码
将时区文件链接到本地时间文件上,以便系统能够正确地显示当前时间,防止系统重启后时区改变。
4.4 安装 ssh 配置免密登陆

4.4.1 安装 ssh

先用下面命令安装 ssh 服务
  1. apt-get install openssh-server
复制代码
4.4.2 设置允许 root 远程访问

打开配置文件
  1. vim /etc/ssh/sshd_config
复制代码
在#PermitRootLogin prohibit-password下添加如下内容
  1. PermitRootLogin yes
  2. RSAAuthentication yes
  3. PubkeyAuthentication yes
复制代码

重启ssh服务
  1. service ssh restart
  2. # 容器中不能调用 systmctl命令,故命令只在宿主机配置ssh时使用,容器中使用service
复制代码
配置容器内的 root 用户密码,该密码可用于远程登录
  1. passwd root
复制代码
设置 ssh 开机自启,找到并打开文件/root/.bashrc
  1. vim /root/.bashrc
复制代码
在 .bashrc 末尾添加如下代码
  1. service ssh start
复制代码
退出使用如下命令让环境变量生效:
  1. source /root/.bashrc
复制代码
最后配置一下 ssh 免密登陆
  1. ssh-keygen -t rsa #一直按回车键即可
  2. cd ~/.ssh
  3. cat id_rsa.pub >> authorized_keys
复制代码
到这里咱们前期准备工作差不多完成了,exit 退出当前容器,然后我们可以保存镜像,以备以后的使用
  1. docker commit CONTAINER_ID ssh_installed
复制代码
5、配置远程连接

使用下面命令查看系统内有哪些镜像:
  1. docker images
复制代码

选择上一步保存的镜像并生成容器,在这过程还要做端口映射,例如:
  1. docker run -it -d --name [container-name] -p 8088:80 [image-name]
复制代码
我这里用的是下面命令,把这个容器命名为 hadoop,将容器内的 22 端口映射到宿主机的 50001 端口:
  1. docker run -it -d --name hadoop -p 50001:22 ssh_installed
复制代码
我们可以看到,我们需要的容器正在运行中了:

现在就可以设置远程连接了,在这里我选择 xshell 作为远程连接工具,填入如下信息:


这里的 root 密码是咱们在步骤 4.4.2 中设置的 root 的密码,设置完成之后,点击连接,可以看到顺利连接上了:


后续操作和虚拟机配置 hadoop 基本一致,题主有空完善(先埋下坑以后再填
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

去皮卡多

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表