Hadoop-2.5.0 完全分佈式搭建

一、準備

  • 1.ubuntu 16.04的系統四臺(一個master節點,三個slave節點)。
  • 2.jdk-8u121-linux-x64.tar.gz
  • 3.hadoop-2.5.0.tar.gz

二、安裝JDK(全部虛擬機都要安裝JDK並配置環境變量)

  • 1.修改虛擬機的主機名
    分別命名爲:
    master
    slave1
    slave2
    slave3
    注意:重啓虛擬機生效
# vim /etc/hostname 
  • 2.修改虛擬機的hosts文件
# vim /etc/hosts

添加記錄:
虛擬機IP地址 master
虛擬機IP地址 slave1
虛擬機IP地址 slave2
虛擬機IP地址 slave3

  • 3.安裝JDK
# tar -zxvf jdk-8u121-linux-x64.tar.gz -C /usr/local/jvm
  • 4.配置java環境變量
# vim /etc/profile
export JAVA_HOME=/usr/local/jvm/jdk1.8.0_121
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
# source /etc/profile(使修改的配置文件生效)
  • 5.設置ssh免密碼登陸(全部虛擬機都要設置)
# ssh-keygen(全部回車)
# ssh-copy-id root@master(也可以使用ip)
# ssh-copy-id root@slave1(也可以使用ip)
# ssh-copy-id root@slave2(也可以使用ip)
# ssh-copy-id root@slave3(也可以使用ip)

三、安裝hadoop-2.5.0(全部虛擬機都要安裝hadoop-2.5.0並配置環境變量)

  • 1.安裝hadoop-2.5.0
# tar -zxvf hadoop-2.5.0.tar.gz -C /usr/local/hadoop
  • 2.配置hadoop環境變量
# vim /etc/profile
HADOOP_HOME=/usr/local/hadoop/hadoop-2.5.0
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HADOOP_HDFS_HOME=${HADOOP_HOME}
export HADOOP_YARN_HOME=${HADOOP_HOME}
# source /etc/profile(使修改的配置文件生效)
  • 3.創建hadoop需要的目錄
# mkdir -p /home/hadoop
# mkdir -p /home/hadoop/hadoop-2.5.0
# mkdir -p /home/hadoop/hadoop-2.5.0/tmp
# mkdir -p /home/hadoop/hadoop-2.5.0/dfs
# mkdir -p /home/hadoop/hadoop-2.5.0/dfs/name
# mkdir -p /home/hadoop/hadoop-2.5.0/dfs/data
  • 4.修改配置文件(細心)

# vim /usr/local/hadoop/hadoop-2.5.0/etc/hadoop/hadoop-env.sh

export JAVA_HOME=/usr/local/jvm/jdk1.8.0_121

# vim /usr/local/hadoop/hadoop-2.5.0/etc/hadoop/core-site.xml

添加如下記錄

<configuration></configuration>之間加入如下記錄:
<property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/hadoop-2.5.0/tmp</value>
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
</property>

# vim /usr/local/hadoop/hadoop-2.5.0/etc/hadoop/hdfs-site.xml

添加如下記錄

<configuration></configuration>之間加入如下記錄:
<property>
    <name>dfs.name.dir</name>
    <value>/home/hadoop/hadoop-2.5.0/dfs/name</value>
</property>
<property>
    <name>dfs.data.dir</name>
    <value>/home/hadoop/hadoop-2.5.0/dfs/data</value>
</property>
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>
<property>
    <name>dfs.permissions</name>
    <value>false</value>
</property>

# vim /usr/local/hadoop/hadoop-2.5.0/etc/hadoop/mapred-site.xml.template

添加如下記錄

<configuration></configuration>之間加入如下記錄:
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

複製

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

# vim /usr/local/hadoop/hadoop-2.5.0/etc/hadoop/yarn-site.xml

添加如下記錄

<configuration></configuration>之間加入如下記錄:
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</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.class</name>
  <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
</property>

⑥(全部虛擬機都要進行此操作)

# vim /usr/local/hadoop/hadoop-2.5.0/etc/hadoop/slaves

刪除文件中的記錄並添加如下記錄

slave1
slave2
slave3
  • 7.格式化HDFS文件系統
# cd /usr/local/hadoop/hadoop-2.5.0 && bin/hdfs namenode -format
  • 8.啓動hadoop集羣和停止hadoop集羣
# /usr/local/hadoop/hadoop-2.5.0/sbin/start-all.sh     //啓動
# /usr/local/hadoop/hadoop-2.5.0/sbin/stop-all.sh     //停止
  • 9.在hadoop集羣啓動着的情況下執行jps指令查看輸出,如果看見如下輸出說明搭建成功。
master節點
#jps
Jps
NameNnode
ResourceManager
SecondaryNameNode
三個slave節點
#jps
Jps
DataNode
NodeManager
  • 10.圖形管理
    當前IP地址:50070 —> 管理HDFS
    當前IP地址:8088 —> 管理MapReduce

四、HDFS常用的指令

# hadoop fs -mkdir /input/ -->在hadoop上創建文件夾
# hadoop fs -rmdir /input/ -->在hadoop上刪除文件夾
# hadoop fs -ls / -->查看hadoop/目錄下的文件
# hadoop fs -rm /test.txt -->刪除test.txt文件
# hadoop fs -get /test.txt -->從hadoop下載test.txt文件到當前目錄
# hadoop fs -put test.txt / --> 上傳test.txt文件到hadoop/目錄

Over

發佈了34 篇原創文章 · 獲贊 6 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章