在家庭Windows下安装docker
1.下载Docker
在学习Hadoop时,要用到docker,但是docker只能在在专业版或者企业版的电脑运行,所以这里找了一种方法,可以在家庭版上安装docker。这里以win10系统为例:
首先安装docker toolbox。
网址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
Docker的有CE和EE版,CE为免费版
2.改变安装docker
下载下来docker toolbox后,直接安装即可,然后中间会出现什么串行电路,选择是。不需要配置其他东西。同时记住安装路径,之后会用到。
完成后会出现三个图标:
3.运行docker
双击docker quickstart 即可,首次打开可能比较慢。
同时会报一下错误:No default Boot2Docker ISO found locally, downloading the latest release…
这里是因为镜像文件无法拉取导致。(docker的源在国外)
打开安装docker的目录,会有一个镜像文件boot2docker.iso
将这个文件拷贝到此路径下面:C:\Users\xxx.docker\machine\cache\即可
然后重新打开docker quickstart(会比较慢)
打开过程中出现:(default)不是错误信息。
出现下图则表示成功安装docker。
IP地址应该是后面学习映射这块所用到的地址。(具体我不是很清楚)
到这docker算是配置成功,为了检测,我们可以执行以下命令。
$ docker pull hello-world
$docker run hello-world
如果出现hello docker算安装成功。
配置独立模式的Hadoop(同Linux系统)
Linux 系统:Fedora
运行(创建)Fedora 容器:
docker run -it fedora:latest /bin/bash
-it 表示容器中运行shell,我们连接到shell,最后的/bin/bash 是shell 程序。
从RedHat 派生的Linux 发行版,其软件包管理是YUM,但是Fedora 从yum 基础上创建建了dnf。在Fedora 下推荐使用dnf。
1.下载Hadoop 文件包
在学习中,每次运行fedora都会进入不同用户。如何直接进入之前创建的用户:
$ docker ps -a
$ docekr restart *(CONTAINER ID)*
$ docekr attach *(CONTAINER ID)*
然后需要http 下载工具wget,
1)安装wget:
$ dnf install wget
2)创建文件夹,存放hadoop:
$ mkdir /app
3)进入app 目录:
$ cd /app
4)下载hadoop:
$ wget https://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.1.4/hadoop-3.1.4.tar.gz
5)解压:
$ tar xvf hadoop-3.1.4.tar.gz
(在当前目录下)
2.配置单机版独立模式Hadoop
单机版Hadoop 有两种运行模式:
一是独立模式(所有组件运行于1 个进程中)
二是伪分布式模式(各组件运行于多个进程)。
Hadoop 主要以Java 编写,所以上面所说的进程,是JVM 进程。
依赖软件:JRE 和SSH
1)安装JRE:
$ dnf install java-1.8.0-openjdk
2)安装SSH:客户端:
$ dnf install openssh-clients
Server 端:
$ dnf install openssh-server
3)分布式ssh 客户端:
$ dnf intall pdsh
$ dnf install ssh
3)启动SSH 服务:
产生两种加密算法的公钥私钥对:
$ ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
$ ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
启动ssh 服务:/sbin/sshd(这一步没弄出来)
4)为Hadoop 配置JAVA_HOME:
首先要记住这个路径,并在这个路径下找到hadoop-env.sh,去更改环境变量。
/app/hadoop-3.1.4/etc/hadoop
进入此路径下,并输入以下命令:
$ vi hadoop-env.sh
找到 JAVA_HOME=******** 并将其更改为:
export JAVA_HOME=/lib/jvm/jre(前面的#要删除)
5)运行hadoop 的客户端命令:
$ bin/hadoop
测试是否正常,出现下图,则表示正常。
注:bin/hadoop命令在当前路径下执行:
在其他路径下会报错:
6)运行独立模式Hadoop,我们运行的是hadoop 自带的示例程序:
假设我们在/app 目录下。
创建文件夹Input:
$ mkdir input
将hadoop 中某个文件夹下的所有xml 文件复制到input 目录下
$ cp hadoop-3.1.4/etc/hadoop/*.xml input
最后,执行hadoop 自带的示例程序。这一步可能会出好多错误,需要大家认真仔细核对每一个字母、空格。
$ hadoop-3.1.4/bin/hadoop jar hadoop-3.1.4/share/hadoop/mapreduce/hadoop mapreduce-examples-3.1.4.jar grep input output 'dfs[a-z.]+'
查看输出的结果(在app 目录下):
$ cat output/*
出现下图,则表示Hadoop已经配置成功!
参考资料:
链接: https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html.
https://www.runoob.com/docker/docker-container-usage.html
.
https://docs.docker.com/engine/install/centos/.