一、準備
- 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/目錄