编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

用Docker安装Hadoop集群

wxchong 2024-11-20 22:40:35 开源技术 22 ℃ 0 评论

利用Docker可以很快的安装一个Hadoop集群,方便学习和尝试Hadoop。

检查你的Docker环境


如果你还没有安装Docker,你可以参考Docker官方网站(https://docs.docker.com/install/)或者这个网站(https://yeasy.gitbooks.io/docker_practice/install/)进行安装。

安装好了以后可以用下面的命令检查一下你的环境:

$ docker --version
$ docker-compose --version
$ docker-machine –version

可以通过下面的命令启动一个web服务器:

docker run -d -p 80:80 --name myserver nginx

启动起来以后可以用浏览器打开这个网页

 http://localhost 


这说明你的Docker环境好了。

用Docker安装Hadoop集群

首先你需要一个Docker Image,如果你安装了git, 你可以clone一个repo到本地:

$ git clone git@github.com:big-data-europe/docker-hadoop.git

如果你没有git,你也可以直接下载zip(https://github.com/big-data-europe/docker-hadoop/archive/master.zip)

然后你就可以进入这个目录,安装和启动一个Hadoop集群:

$ cd docker-hadoop
$ docker-compose up -d

第一次运行,需要比较长的时间来下载docker的image。

这一个命令会帮你安装和启动一个Hadoop集群,其中包括:

  • 1个 HDFS namenode
  • 1个 HDFS datanode
  • 1个 YARN resourcemanager
  • 1个 historyserver
  • 1个 nodemanager

通过下面的命令可以查看到Docker的进程列表:

$ docker ps

查看系统的信息

可以通过这个下面的地址查看系统的信息:

http://localhost:9870

试试你的集群

我们现在可以用经典的Hadoop实例WordCount来试运行一下。通过下面的命令进入到namenode的容器里:

$ docker exec -it namenode bash

首先我们准备一些文件:

$ mkdir data
$ echo "Hello Docker World" > data/f1.txt
$ echo "Hello toutiao" > data/f2.txt

在HDFS里面建一个文件夹data:

$ hadoop fs -mkdir -p data

把我们刚才准备的文件写到HDFS:

$ hdfs dfs -put ./data/* data

下载WordCount代码(https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-mapreduce-examples/2.7.1/hadoop-mapreduce-examples-2.7.1-sources.jar)

找到namenode的容器的ID

$ docker container ls

把刚下载的jar包复制到namenode:

$ docker cp ./hadoop-mapreduce-examples-2.7.1-sources.jar 2aa29deaaf80:hadoop-mapreduce-examples-2.7.1-sources.jar

运行WordCount

root@namenode:/# hadoop jar hadoop-mapreduce-examples-2.7.1-sources.jar org.apache.hadoop.examples.WordCount input output

打印出运行结果:

root@namenode:/# hdfs dfs -cat output/part-r-00000
Docker	1
Hello	2
World	1
toutiao	1

这样我们就完成了集群的搭建。

安全的关闭集群

$ docker-compose down

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表