手把手教你安裝Hadoop集羣

一、虛擬機安裝與配置

​ 注意,本文不適合小白操作,查看至少需要一點兒linux操作基礎,因爲其中有很多命令並沒有寫出來。比如使用vi修改文件後,需要使用:wq來保存並退出。

安裝Hadoop集羣時需要多個服務器,所以需要安裝多個虛擬機,請自行安裝。

配置服務器的hosts文件,就是將多個服務器之間建立域名配置(這樣就可以使用域名來代替ip使用)。

vi /etc/hosts

最後添加如下內容(左邊爲每個服務器的ip,右邊爲主機名)

192.168.83.3 hadoop01
192.168.83.4 hadoop02
192.168.83.5 hadoop03

服務器ssh免密登錄功能配置

​ 服務器要開啓ssh服務,一般的虛擬機都會自帶的,如果沒有,請自行安裝

ssh-keygen -t rsa

輸入上述命令後,不用輸入任何東西,邊按4次Enter鍵確認,會在root目錄下生成一個包含有密鑰文件的.ssh隱藏文件夾,進入目錄可以看到有兩個文件id_rsa.pub(公鑰)和id_rsa。

cd /root/.ssh
ll -a

使用命令直接複製到其他服務器上

ssh-copy-id hadoop02
ssh-copy-id hadoop03

此時,在hadoop01機器上,輸入ssh hadoop02或者ssh hadoop03時就可以免密登錄服務器了

上述步驟需要重複,直到3個服務器之前都實現免密登錄

二、Hadoop集羣搭建

2.1 安裝JDK,建議使用jdk1.8及以上(自行解決)

2.2 Hadoop安裝

以2.10.1爲例,進行安裝

wget https://mirrors.aliyun.com/apache/hadoop/common/hadoop-2.10.1/hadoop-2.10.1.tar.gz
  • 解壓,我是直接解壓到home裏的
tar -zxvf hadoop-2.10.1.tar.gz /home
  • 配置hadoop環境變量
  vi /etc/profile

寫入以下內容

  # 配置Hadoop系統環境變量
  export HADOOP_HOME=/home/hadoop-2.10.1
  export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

然後執行以下命令使環境變量生效(centos下修改環境變量就是這3步,記住就好了)

  source /etc/profile
  • 使用如下命令可以查看是否hadoop安裝成功
  hadoop version

三、Hadoop集羣配置

3.1 配置Hadoop集羣主節點

在hadoop安裝目錄下的etc/hadoop目錄下

  • 修改hadoop-env.sh文件(如果配置了JAVA_HOME環境變量,這步可跳過)
  export JAVA_HOME=/usr/local/jdk/jdk1.8.0_341
  • 修改core-site.xml文件

    主要設置主進程NameNode運行主機和Hadoop運行時生成的臨時目錄

  <configuration>
    <!--用於設置Hadoop的文件系統,由URI指定-->
    <property>
      <name>fs.defaultFS</name>
      <!--用於指定namenode地址,在hadoop01機器上,是可以使用80端口的-->
      <value>hdfs://hadoop01:9000</value>
    </property>
    <!--用於設置Hadoop臨時目錄,可以不設置,默認在/tmp/hadoop-${user.name}-->
    <property>
      <name>hadoop.tmp.dir</name>
      <!--用於指定namenode地址,在hadoop01機器上-->
      <value>/home/hadoop-2.10.1/tmp-${user.name}</value>
    </property>
  </configuration>
  • 修改hdfs-site.xml文件

    ​ 用來設置NameNode和DateNode兩大進程,主要設置了Secondary NameNode 所在的服務的HTTP協議地址

  <configuration>
    <!--用於設置HDFS副本的數量,默認爲3-->
    <property>
      <name>dfs.replication</name>
      <value>3</value>
    </property>
    <!--secondary namenode所在主機的ip和端口-->
    <property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>hadoop02:50090</value>
    </property>
  </configuration>
  • 修改mapred-site.xml文件

    ​ 這個文件不是直接存在的需要從mapred-site.xml (1).template重命名過來。

    cp mapred-site.xml .template mapred-site.xml

  <configuration>
    <!--指定MapReduce運行時的框架,這裏指定在YARN上,默認是local-->
    <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
    </property>
  </configuration>
  • 修改yarn.site.xml

    ​ 配置讓YARN用來做資源管理框架

  <configuration>
    <!--指定YARN集羣管理者(ResourceManager,RM)的地址-->
    <property>
      <name>yarn.resourcemanager.hostname</name>
      <value>hadoop01</value>
    </property>
    <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
    </property>
  </configuration>
  • 修改slaves文件

    ​ 用來配置hadoop中的集羣,刪除其中的localhost

  hadoop01
  hadoop02
  hadoop03

3.2 將集羣主節點的配置方伯分發到其他子節點

3.1中完成的Hadoop集羣主節點hadoop01的配置,還壓根把系統配置文件、JDK安裝目錄和Hadoop安裝目錄分發到其他子節點hadoop02和hadoop03上,使用的scp命名,具體使用方法,可以自己瞭解下,不要直接複製下邊的指令哈(如果不會用scp,自己手動把上邊的步驟在每個服務器上做一遍)。

scp /etc/profile hadoop02:/etc/profile
scp /etc/profile hadoop03:/etc/profile
scp -r /usr/local/jdk/jdk1.8.0_341/ hadoop02:/usr/local/jdk/
scp -r /usr/local/jdk/jdk1.8.0_341/ hadoop03:/usr/local/jdk/
scp -r /home/hadoop-2.10.1 hadoop02:/home
scp -r /home/hadoop-2.10.1 hadoop03:/home

四、Hadoop集羣測試

4.1 格式化文件系統
hdfs namenode -format

或者

hadoop namenode -format
4.2 啓動或者關閉Hadoop集羣

​ 可以單節點逐個啓動和關閉,也可以用腳本一鍵啓動或關閉

  • 單節點逐個啓動

    • 在主節點上啓動HDFS NameNode
    hadoop-daemon.sh start namenode
  • 在每個節點上使用以下指定啓動HDFS DataNode 進程
    hadoop-daemon.sh start datanode
  • 在主節點上使用以下指令啓動YARN ResourceManager進程:
    yarn-daemon.sh start nodemanager
  • 在每個從節點上使用以下指令啓動YARN nodemanger進程:
    yarn-daemon.sh start nodemanager
  • 在hadoop02上使用以下指令啓動SecondaryNameNode進程:
    hadoop-daemon.sh start secondarynamenode
  • 腳本一鍵啓動

    ​ 要求每個節點之前開啓ssh免密登錄,上文中有寫

    • 在主節點上使用以下命令啓動HDFS進程
    start-dfs.sh
  • 在主節點上啓動所有的YARN進程
    start-yarn.sh

hadoop大數據

4.3 關閉Hadoop集羣

不論是單個節點啓動還是一鍵啓動,只需要把上邊的start換成stop就可以停止了

4.4 通過UI 查看Hadoop運行狀態

注意在windows中的hosts中配置域名映射(內容和上邊在虛擬機中配置的一樣)。還有虛擬機上記得關閉防火牆放行50070和8088端口

然後在瀏覽器輸入hadoop01:50070 和hadoop01:8088
在這裏插入圖片描述在這裏插入圖片描述

更多學習內容請關注我的博客 jhacker.cn

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