1. 程式人生 > >hadoop使用docker安裝和使用(單節點適合開發環境)

hadoop使用docker安裝和使用(單節點適合開發環境)

本人親測可用大家放心安裝,本文適合開發環境搭建,不喜勿噴
安裝環境
centos7.2
docker 18.06.0-ce(這個安裝參考我的另外一篇部落格https://blog.csdn.net/qq_16563637/article/details/81699251)
首先關閉防火牆
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