CentOS7上安裝Hadoop2.9.2集羣

1.首先要有軟件

Centos7(自己找,我懶!!!)

hadoop2.9.2 這這這!!!
安裝位置推薦: /opt/hadoop
安裝方法: 安裝shell6操作虛擬機,打開到/opt/hadoop文件下,使用shell6的rz命令進行下載,把本地的安裝包導入虛擬機中,注意如果不去克隆操作那麼每個虛擬機都需要導入在這裏插入圖片描述

JDK 這這這!!!
1.不建議用自帶的java環境,容易找不到安裝路徑
在這裏插入圖片描述
2.大版本保證是:jdk-8u 安裝環境是:linux-x64.tar.gz(自選) 至於202 203 還是204 問題不大

2.安裝三個虛擬機

在這裏插入圖片描述

安裝方式:
1.命名隨意,但注意名稱太難記就是作死…
2.命名:依次 hservice1,hservice2,hservice3. (即H服務器1,H服務器2,H服務器3)
其中 H1爲主節點,其他爲從節點
3.主節點:主要配置,配置完主節點,爲了方便通過克隆得到2,3從節點 再去修改他的ip hostname 和一些配置

3.配置關係

1.通過 ip addr 查看ip地址

在這裏插入圖片描述

2.通過 hostname 查看當前主機名

在這裏插入圖片描述

3.通過 hostname + 空格 + 新主機名 更改主機名稱

在這裏插入圖片描述

4.把三個虛擬機的主機名改爲與虛擬機名稱相同,名稱很重要,配置中需要用到不可馬虎

5.修改/etc/hosts文件 vi /etc/hosts

在這裏插入圖片描述
注: 點擊 i 進行修改,修改之後 ESC 然後冒號 : wq 保存 ( :q 是不保存)
在這裏插入圖片描述
若不克隆三個都要改…
改完檢查三個虛擬機是否可以ping通

7.配置使hservice1主節點可以通過ssh免密登錄 hservice2 hservice3

1.在主節點下輸入 ssh-keygen 生成默認格式的密匙key,此過程會在/root/.ssh/文件件夾下生成id_rsa(私鑰)和id_rsa.pub(公鑰)。
2.四次回車
3. ssh-copy-id hservice1 即可免密連接hservice1 自己 (原理自己查沒空寫)
4.ssh-copy-id hservice2 即可通過h1免密連接hservice2
5.ssh hservice1 連接回hservice1(不連接回是操作h2了)
6.ssh-copy-id hservice3 即可通過h1免密連接hservice3
7.ssh 分別測試是否連接成功

4.安裝hadoop以及修改配置文件

  1. 把下載的hadoop-2.9.2.tar.gz包上傳到 /opt/hadoop ,hadoop文件夾需要通過mkdir hadoop創建,然後通過 shell6的rz命令上傳(其他任意方法均可)
  2. 解壓壓縮包 tar -xvf hadoop-2.9.2.tar.gz
  3. 在根目錄(/root)下創建hadoop的工作目錄
    mkdir /root/hadoop
    mkdir /root/hadoop/tmp
    mkdir /root/hadoop/var
    mkdir /root/hadoop/dfs
    mkdir /root/hadoop/dfs/name
    mkdir /root/hadoop/dfs/data
    
  4. 修改配置文件(位置:/opt/hadoop/etc/hadoop)在這裏插入圖片描述
  1. core-site.xml

如此:

<property>
        <name>hadoop.tmp.dir</name>
        <value>/root/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
   </property>
   <property>
        <name>fs.default.name</name>
        <value>hdfs://hservice:9000</value>
   </property>

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

  1. hadoop-env.sh

如此:

export JAVA_HOME=/usr/local/java/jdk1.8.0_221
//(自己的JDK安裝路徑)獲取方法上面有

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

  1. hdfs-site.xml

如此:

<property>
   <name>dfs.name.dir</name>
   <value>/root/hadoop/dfs/name</value>
   <description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
</property>
<property>
   <name>dfs.data.dir</name>
   <value>/root/hadoop/dfs/data</value>
   <description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
   <name>dfs.replication</name>
   <value>2</value>
</property>
<property>
      <name>dfs.permissions</name>
      <value>false</value>
      <description>need not permissions</description>
</property>

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

  1. mapred-site.xml
    目錄下應該存在名字mapred-site.xml.template的文件,把這個文件進行復制,然後重命名爲mapred-site.xml
    cp mapred-site.xml.template mapred-site.xml
    需要在本文件夾下運行,不然需要增加物理路徑複製
    如此:
<property>
   <name>mapred.job.tracker</name>
   <value>hservice1:49001</value>
</property>
<property>
      <name>mapred.local.dir</name>
       <value>/root/hadoop/var</value>
</property>
<property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
</property>

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

  1. slaves
    刪除localhost,添加內容:hservice2,hservice3

如此:

hserver2
hserver3

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

  1. yarn-site.xml

如此:

<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hservice1</value>
   </property>
   <property>
        <description>The address of the applications manager interface in the RM.</description>
        <name>yarn.resourcemanager.address</name>
        <value>${yarn.resourcemanager.hostname}:8032</value>
   </property>
   <property>
        <description>The address of the scheduler interface.</description>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>${yarn.resourcemanager.hostname}:8030</value>
   </property>
   <property>
        <description>The http address of the RM web application.</description>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>${yarn.resourcemanager.hostname}:8088</value>
   </property>
   <property>
        <description>The https adddress of the RM web application.</description>
        <name>yarn.resourcemanager.webapp.https.address</name>
        <value>${yarn.resourcemanager.hostname}:8090</value>
   </property>
   <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>${yarn.resourcemanager.hostname}:8031</value>
   </property>
   <property>
        <description>The address of the RM admin interface.</description>
        <name>yarn.resourcemanager.admin.address</name>
        <value>${yarn.resourcemanager.hostname}:8033</value>
   </property>
   <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
   </property>
   <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>2048</value>
        <discription>每個節點可用內存,單位MB,默認8182MB</discription>
   </property>
   <property>
        <name>yarn.nodemanager.vmem-pmem-ratio</name>
        <value>2.1</value>
   </property>
   <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>2048</value>
</property>
   <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
</property>

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

5. 重複4步驟在從節點虛擬機

6.啓動hadoop

  1. 找到bin目錄和超級bin目錄

在這裏插入圖片描述

  1. 初始化
    hservice1爲namenode(主節點),hservice2和hservice3都是datanode(從節點),只需要對hserver1進行初始化操作,即對hdfs進行格式化。
    在bin目錄下執行(一定是bin)
    ./hadoop namenode -format
    格式化成功後,可以在看到在/root/hadoop/dfs/name/目錄多了一個current目錄,而且該目錄內有一系列文件

出現如圖表示成功:在這裏插入圖片描述

  1. 瞭解包含的各種啓動方式(一定是sbin)
    在這裏插入圖片描述

7.關閉防火牆

若不關閉外網連接時會被防護牆攔截,導致失敗

8.測試

用本地瀏覽器訪問: ip+端口號 (需要自己虛擬機的ip)
http://192.168.175.134:50070

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

9.有用的雜亂的

注1:
防火牆操作命令(CentOS7)

  1. systemctl stop firewalld.service #關閉防火牆
  2. systemctl disable firewalld.service #禁止防火牆開機啓動
  3. firewall-cmd --state #查看防火牆狀態,是否是running
    4.firewall-cmd --reload #重啓防火牆
  4. firewall-cmd --zone=public --add-port=80/tcp --permanent開啓端口
    命令含義:
    –zone #作用域
    –add-port=80/tcp #添加端口,格式爲:端口/通訊協議
    –permanent #永久生效,沒有此參數重啓後失效

注2:
java安裝路徑尋找:
java -version #查看版本
java -verbose #在輸出設備上顯示虛擬機運行信息
路徑如圖:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章