docker 安裝hadoop

自己使用的鏡像:harisekhon/hadoop:2.8

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
其中有些命令不一樣:
比如ssh可以直接使用,需要查找下jdk安裝路徑。然後改變jdk安裝路徑

前面使用了docker自帶的鏡像安裝,那麼這篇使用阿里鏡像搭建hadoop集羣,也參考了網上部分播客,但是多多少少有問題,我這篇播客是全部經過實踐測試成功跑起來的。

1、安裝hadoop鏡像

1)拉取鏡像

拉取阿里的hadoop鏡像
docker pull registry.cn-hangzhou.aliyuncs.com/kaibb/hadoop
在這裏插入圖片描述
查看鏡像
docker images
在這裏插入圖片描述

3)創建hadoop容器

(1)創建master節點
docker run --name master -d -h master registry.cn-hangzhou.aliyuncs.com/kaibb/hadoop
參數說明:
-h 爲容器設置主機名
–name 設置容器的名稱
-d 在後臺運行

(2)以此方法創建slave1和slave2節點
docker run --name slave1 -d -h slave1 registry.cn-hangzhou.aliyuncs.com/kaibb/hadoop
docker run --name slave2 -d -h slave2 registry.cn-hangzhou.aliyuncs.com/kaibb/hadoop
(3)查看容器
docker ps -s
在這裏插入圖片描述
(4)進入容器查看jdk
docker exec -it master bash
jdk都已經自帶了
在這裏插入圖片描述
(5)配置ssh生成祕鑰,所有的節點都要配置
進入容器後
啓動ssh
/etc/init.d/ssh start
生成祕鑰
·ssh-keygen -t rsa
在這裏插入圖片描述
(5)分別進入每個節點,將其他節點的公鑰也都複製到authorized_keys,也就是說每個>authorized_keys 文件中存儲的公鑰都是3個而且是一樣的
將容器中的文件複製到centos本地
·docker cp 容器id/容器名稱:/root/.ssh/authorized_keys /home/hadoop/authorized_keys_master在這裏插入圖片描述
將這三個文件複製到一個文件中
cd /home/hadoop/
cat authorized_keys_master authorized_keys_slave1 authorized_keys_slave2 > authorized_keys
cat authorized_keys
在這裏插入圖片描述
將centos本地的文件複製到容器
docker cp /home/hadoop/authorized_keys 容器id/容器名稱:/root/.ssh/authorized_keys
在這裏插入圖片描述
(6)分別爲每個節點配置ip地址
進入容器,在此容器中可以直接使用ip addr命令查看ip地址
在這裏插入圖片描述
爲每個容器設置地址,vi /etc/hosts 配置
在這裏插入圖片描述
ssh master 測試一下,測試成功
在這裏插入圖片描述

2、配置hadoop(配置文件的目錄一般都在/opt/tools/hadoop-2.7.2/etc/hadoop/下面)

1)配置hadoop-env.sh,配置jdk

(1)進入容器查找 hadoop-env.sh存放位置

find / -name hadoop-env.sh
(2)查看 hadoop-env.sh文件
在這裏插入圖片描述

export JAVA_HOME=/opt/tools/jdk1.8.0_77
  • 1

在這裏插入圖片描述

2)配置core-site.xml,配置hdfs的地址和端口號
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
  </property>
    <property>
      <name>hadoop.tmp.dir</name>
      <value>/hadoop/tmp</value>
    </property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在這裏插入圖片描述

3)配置hdfs-site.xml ,配置hdfs備份數量,配置namenode和datanode的數據路徑

/hadoop/data 和 /hadoop/name要提前建立此文件夾
mkdirp -p /hadoop/data
mkdirp -p /hadoop/name

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/hadoop/data</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/hadoop/name</value>
  </property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

slave數量要大於等於備份的數量,否者會報錯
在這裏插入圖片描述

4)配置 mapred-site.xml,指定MapReduce運行在yarn上,配置JobTracker的地址和端口。
  <configuration>
  <property>
    <name>mapred.job.tracker</name>
    <value>localhost:9001</value>
</property>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在這裏插入圖片描述

5)配置yarn-site.xml,配置hdfs備份數量

在這裏插入圖片描述
配置參數

 <property>
     <name>yarn.resourcemanager.address</name>
    <value>master:8032</value>
 </property>
 <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
   <property>
   <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
   <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>master:8030</value> </property> <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
    <value>master:8033</value>
</property>
<property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>master:8089</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

在這裏插入圖片描述

6)將這些參數發送到其它節點

scp /opt/tools/hadoop-2.7.2/etc/hadoop/yarn-site.xml slave1:/opt/tools/hadoop-2.7.2/etc/hadoop/
將core-site.xml hadoop-env.sh hdfs-site.xml mapred-site.xml yarn-site.xml 發送到slave1 和slave2節點 在這裏插入圖片描述

3、運行hadoop

1)配置slaves

在這裏插入圖片描述
在這裏插入圖片描述

2)在master上格式化namenode

hadoop namenode -format
在這裏插入圖片描述

3)在master上啓動集羣

cd /opt/tools/hadoop/sbin/
./start-all.sh
在這裏插入圖片描述

3)jps 查看進程,查看到說明已啓動

在這裏插入圖片描述

4)進入slave1查看進程

在這裏插入圖片描述

                                </div>
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-b6c3c6d139.css" rel="stylesheet">
                                            <div class="more-toolbox">
            <div class="left-toolbox">
                <ul class="toolbox-list">
                    
                    <li class="tool-item tool-active is-like "><a href="javascript:;"><svg class="icon" aria-hidden="true">
                        <use xlink:href="#csdnc-thumbsup"></use>
                    </svg><span class="name">點贊</span>
                    <span class="count"></span>
                    </a></li>
                    <li class="tool-item tool-active is-collection "><a href="javascript:;" data-report-click="{&quot;mod&quot;:&quot;popu_824&quot;}"><svg class="icon" aria-hidden="true">
                        <use xlink:href="#icon-csdnc-Collection-G"></use>
                    </svg><span class="name">收藏</span></a></li>
                    <li class="tool-item tool-active is-share"><a href="javascript:;" data-report-click="{&quot;mod&quot;:&quot;1582594662_002&quot;}"><svg class="icon" aria-hidden="true">
                        <use xlink:href="#icon-csdnc-fenxiang"></use>
                    </svg>分享</a></li>
                    <!--打賞開始-->
                                            <!--打賞結束-->
                                            <li class="tool-item tool-more">
                        <a>
                        <svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg>
                        </a>
                        <ul class="more-box">
                            <li class="item"><a class="article-report">文章舉報</a></li>
                        </ul>
                    </li>
                                        </ul>
            </div>
                        </div>
        <div class="person-messagebox">
            <div class="left-message"><a href="https://blog.csdn.net/k393393">
                <img src="https://profile.csdnimg.cn/D/0/5/3_k393393" class="avatar_pic" username="k393393">
                                        <img src="https://g.csdnimg.cn/static/user-reg-year/2x/9.png" class="user-years">
                                </a></div>
            <div class="middle-message">
                                    <div class="title"><span class="tit"><a href="https://blog.csdn.net/k393393" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}" target="_blank">k55</a></span>
                                        </div>
                <div class="text"><span>發佈了85 篇原創文章</span> · <span>獲贊 14</span> · <span>訪問量 6萬+</span></div>
            </div>
                            <div class="right-message">
                                        <a href="https://im.csdn.net/im/main.html?userName=k393393" target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-letter">私信
                    </a>
                                                        <a class="btn btn-sm  bt-button personal-watch" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}">關注</a>
                                </div>
                        </div>
                </div>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章