拉取镜像
docker pull sequenceiq/hadoop-docker:2.6.0
创建容器
docker run --hostname localhost -it -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 --name hp 140b265bd62a /etc/bootstrap.sh -bash
注意
- hostname 必须配置,不然后续调试会出现 去访问容器名:端口号
而无法访问的问题
2.自己改自己的镜像id
测试
创建完成后就可以进入容器 并使用命令 jps
结果
等一会6个进程就都起来了
进入hadoop2.6.0目录
在这里运行 bin/hadoop
不知道为什么 进入bin 文件夹里面执行hadoop就不行只能这样将就了
使用mapreduce计算词
这里我就偷懒了直接用当前页面的README.txt计算了
1.创建输入文件夹
bin/hadoop fs -mkdir -p /wordcount/input
2.把文件上传到输出文件夹
bin/hadoop fs -put README.txt /wordcount/input
3.使用hadoop-mapreduce-examples-2.6.0.jar hadoop自带的jar包进行计算
找到jar位置
回到hadoop 2.6.0目录运行的命令
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar wordcount /wordcount/input /wordcount/output
运行不报错
查看结果
bin/hadoop fs -cat /wordcount/output/part-r-00000
单机OK 如果想要搞中文 需要配置ik分词器 就不搞啦