安裝環境 centos7.2 docker 18.06.0-ce(這個安裝參考我的另外一篇博客 首先關閉防火牆 systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall開機啟動 下載hadoop鏡像 docker pull sequenceiq/hadoop-docker:2.6.0 查看鏡像 docker images 運行hadoop docker run -i -t -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:2.6.0 /etc/bootstrap.sh -bash 測試是否安裝成功 先進入hadoop容器 docker exec -it ${CONTAINER ID} /bin/bash 執行完成docker run 也就是上一步,該步驟可以省略 cd /usr/local/hadoop-2.6.0 bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar grep input output 'dfs[a-z.]+' 如果執行mapreduce程序說明安裝成功 可以打開瀏覽器查看 宿主機IP:50070 docker安裝完畢 為了正常使用還需安裝以下東西 vi /etc/profile 在最底部加入下面內容 export HADOOP_HOME="/usr/local/hadoop-2.6.0" export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH 保存:wq 使得配置生效 source /etc/profile 查看命令行是否能用 hadoop version docker命令行安裝完畢 測試jar文件在hadoop中啟動 上傳一個jar到宿主機 我用hadoop-mapreduce-examples-2.6.0.jar(這個可以自己在網上下一個) 拷貝jar文件到容器 docker cp 要拷貝的文件路徑 容器名:要拷貝到容器里面對應的路徑 docker cp /root/hadoop-mapreduce-examples-2.6.0.jar b7d7f88574fb:/usr/local/hadoop-2.6.0 查看是否成功 docker exec -it b7d7f88574fb /bin/bash cd /usr/local/hadoop-2.6.0 ls 上傳一個文件到hdfs vi a.txt 輸入下面內容 canglaoshi is mylove xiaoze is mylove wutenglan is mylove 保存 hadoop創建文件夾 hadoop fs -mkdir -p /wordcount/input hadoop fs -put a.txt /wordcount/input hadoop jar hadoop-mapreduce-examples-2.6.0.jar wordcount /wordcount/input /wordcount/output 查看輸出內容 hadoop fs -cat /wordcount/output/part-r-00000
參考:https://www.cppentry.com/bencandy.php?fid=114&id=193020
https://blog.csdn.net/qq_16563637/article/details/81699251)