日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Hadoop 2.7分布式集群環(huán)境搭建

 Levy_X 2017-08-04



Hadoop是一個能夠讓用戶輕松架構(gòu)和使用的分布式計算平臺。為了更好演示集群分布,本文沒有使用一臺電腦上構(gòu)建多個虛擬機的方法來模擬集群,而是使用三臺電腦來搭建一個小型分布式集群環(huán)境安裝。本文記錄如何搭建并配置Hadoop分布式集群環(huán)境。



集群機器

一臺Ubuntu主機系統(tǒng)作Master,一臺Ubuntu主機系統(tǒng)做slave01,一臺Ubuntu主機系統(tǒng)做slave02。三臺主機機器處于同一局域網(wǎng)下。
這里使用三臺主機搭建分布式集群環(huán)境,更多臺機器同樣可以使用如下配置。
IP在不同局域網(wǎng)環(huán)境下有可能不同,可以用ifconfig命令查看當(dāng)前主機打IP。

  1. ifconfig


Shell 命令

即可獲得當(dāng)前主機的IP在局域網(wǎng)地址,如下圖:

三臺機器的名稱和IP如下,

主機名稱IP地址
master192.168.1.104
slave01192.168.1.107
slave02192.168.1.108

三臺電腦主機的用戶名均為hadoop.
三臺機器可以ping雙方的ip來測試三臺電腦的連通性。
在master節(jié)點主機上的Shell中運行如下命令,測試能否連接到slave01節(jié)點主機

ping 192.168.1.107

如果出現(xiàn)如下圖,說明連接成功

為了更好的在Shell中區(qū)分三臺主機,修改其顯示的主機名,執(zhí)行如下命令

  1. sudo vim /etc/hostname


Shell 命令

master的/etc/hostname添加如下配置:

master

同樣slave01的/etc/hostname添加如下配置:

slave01

同樣slave02的/etc/hostname添加如下配置:

slave02

重啟三臺電腦,重啟后在終端Shell中才會看到機器名的變化,如下圖:

修改三臺機器的/etc/hosts文件,添加同樣的配置:

  1. sudo vim /etc/hosts


Shell 命令

配置如下:

127.0.0.1 localhost 192.168.1.104 master 192.168.1.107 slave01 192.168.1.108 slave02

配置ssh無密碼登錄本機和訪問集群機器

三臺主機電腦分別運行如下命令,測試能否連接到本地localhost

  1. ssh localhost

Shell 命令

登錄成功會顯示如下結(jié)果:

Last login: Mon Feb 29 18:29:55 2016 from ::1

如果不能登錄本地,請運行如下命令,安裝openssh-server,并生成ssh公鑰。

  1. sudo apt-get openssh-server

  2. ssh-keygen -t rsa -P ''

  3. cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys


Shell 命令

在保證了三臺主機電腦都能連接到本地localhost后,還需要讓master主機免密碼登錄slave01和slave02主機。在master執(zhí)行如下命令,將master的id_rsa.pub傳送給兩臺slave主機。

  1. scp ~/.ssh/id_rsa.pub hadoop@slave01:/home/hadoop/

  2. scp ~/.ssh/id_rsa.pub hadoop@slave02:/home/hadoop/


Shell 命令

在slave01,slave02主機上分別運行l(wèi)s命令

  1. ls ~


Shell 命令

可以看到slave01、slave02主機分別接收到id_rsa.pub文件

接著在slave01、slave02主機上將master的公鑰加入各自的節(jié)點上,在slave01和slave02執(zhí)行如下命令:

  1. cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

  2. rm ~/id_rsa.pub


Shell 命令

如果master主機和slave01、slave02主機的用戶名一樣,那么在master主機上直接執(zhí)行如下測試命令,即可讓master主機免密碼登錄slave01、slave02主機。

  1. ssh slave01


Shell 命令

如果master主機和slave01主機的用戶名不一樣,還需要在master修改~/.ssh/config文件,如果沒有此文件,自己創(chuàng)建文件。

Host master  user Ruanrc Host slave01  user hadoop

然后master主機再執(zhí)行免密碼登錄:

  1. ssh slave01


Shell 命令

JDK和Hadoop安裝配置

分別在master主機和slave01、slave02主機上安裝JDK和Hadoop,并加入環(huán)境變量。

安裝JDK

分別在master主機和slave01,slave02主機上執(zhí)行安裝JDK的操作

  1. sudo apt-get install default-jdk


Shell 命令

編輯~/.bashrc文件,添加如下內(nèi)容:

export JAVA_HOME=/usr/lib/jvm/default-java

接著讓環(huán)境變量生效,執(zhí)行如下代碼:

  1. source ~/.bashrc

Shell 命令

安裝Hadoop

先在master主機上做安裝Hadoop,暫時不需要在slave01,slave02主機上安裝Hadoop.稍后會把master配置好的Hadoop發(fā)送給slave01,slave02.
在master主機執(zhí)行如下操作:

  1. sudo tar -zxf ~/下載/hadoop-2.7.3.tar.gz -C /usr/local    # 解壓到/usr/local中

  2. cd /usr/local/

  3. sudo mv ./hadoop-2.7.3/ ./hadoop            # 將文件夾名改為hadoop

  4. sudo chown -R hadoop ./hadoop       # 修改文件權(quán)限


Shell 命令

編輯~/.bashrc文件,添加如下內(nèi)容:

export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

接著讓環(huán)境變量生效,執(zhí)行如下代碼:

  1. source ~/.bashrc


Shell 命令

Hadoop集群配置

修改master主機修改Hadoop如下配置文件,這些配置文件都位于/usr/local/hadoop/etc/hadoop目錄下。
修改slaves:
這里把DataNode的主機名寫入該文件,每行一個。這里讓master節(jié)點主機僅作為NameNode使用。

slave01 slave02

修改core-site.xml

 <configuration>      <property>          <name>hadoop.tmp.dir</name>          <value>file:/usr/local/hadoop/tmp</value>          <description>Abase for other temporary directories.</description>      </property>      <property>          <name>fs.defaultFS</name>          <value>hdfs://master:9000</value>      </property>  </configuration>

修改hdfs-site.xml:

 <configuration>    <property>        <name>dfs.replication</name>        <value>3</value>    </property>    </configuration>

修改mapred-site.xml(復(fù)制mapred-site.xml.template,再修改文件名)

 <configuration>    <property>        <name>mapreduce.framework.name</name>        <value>yarn</value>    </property>  </configuration>

修改yarn-site.xml

<configuration>  <!-- Site specific YARN configuration properties -->      <property>          <name>yarn.nodemanager.aux-services</name>          <value>mapreduce_shuffle</value>      </property>      <property>          <name>yarn.resourcemanager.hostname</name>          <value>master</value>      </property>  </configuration>

配置好后,將 master 上的 /usr/local/Hadoop 文件夾復(fù)制到各個節(jié)點上。之前有跑過偽分布式模式,建議在切換到集群模式前先刪除之前的臨時文件。在 master 節(jié)點主機上執(zhí)行:

  1. cd /usr/local/

  2. rm -rf ./hadoop/tmp   # 刪除臨時文件

  3. rm -rf ./hadoop/logs/*   # 刪除日志文件

  4. tar -zcf ~/hadoop.master.tar.gz ./hadoop

  5. cd ~

  6. scp ./hadoop.master.tar.gz slave01:/home/hadoop

  7. scp ./hadoop.master.tar.gz slave02:/home/hadoop


Shell 命令

在slave01,slave02節(jié)點上執(zhí)行:

  1. sudo rm -rf /usr/local/hadoop/

  2. sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local

  3. sudo chown -R hadoop /usr/local/hadoop


Shell 命令

啟動hadoop集群

在master主機上執(zhí)行如下命令:

  1. cd /usr/local/hadoop

  2. bin/hdfs namenode -format

  3. sbin/start-all.sh


Shell 命令

運行后,在master,slave01,slave02運行jps命令,查看:

  1. jps


Shell 命令

master運行jps后,如下圖:

slave01、slave02運行jps,如下圖:


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多