說明:這裡我們以本地模式和偽分佈模式偽列,為大家介紹如何搭建Hadoop環境。有了這個基礎,大家可以自行搭建Hadoop的全分佈模式。 需要使用的安裝介質: hadoop-2.7.3.tar.gz jdk-8u181-linux-x64.tar.gz rhel-server-7.4-x86_64-d ...
說明:這裡我們以本地模式和偽分佈模式偽列,為大家介紹如何搭建Hadoop環境。有了這個基礎,大家可以自行搭建Hadoop的全分佈模式。
需要使用的安裝介質:
- hadoop-2.7.3.tar.gz
- jdk-8u181-linux-x64.tar.gz
- rhel-server-7.4-x86_64-dvd.iso
一、安裝前的準備工作
- 安裝好Redhat Linux 7.4(安裝包rhel-server-7.4-x86_64-dvd.iso),併在Linux上創建tools和training兩個目錄
- 關閉防火牆,執行下麵的命令
systemctl stop firewalld.service systemctl disable firewalld.service
- 配置主機名,使用vi編輯器編輯文件/etc/hosts,輸入以下內容
bigdata111 192.168.157.111
- 配置免密碼登錄,在命令行中輸入下麵的命令
ssh-keygen -t rsa ssh-copy-id -i .ssh/id_rsa.pub root@bigdata111
二、安裝JDK
- 通過FTP工具將jdk-8u181-linux-x64.tar.gz和hadoop-2.7.3.tar.gz上傳到Linux的/root/tools目錄
- 在xshell中,解壓jdk-8u181-linux-x64.tar.gz,執行下麵的命令
tar -zxvf jdk-8u181-linux-x64.tar.gz -C /root/training/
- 設置Java的環境變數,使用vi編輯器編輯~/.bash_profile文件。執行下麵的命令
vi /root/.bash_profile
- 在vi編輯器中,輸入以下內容
JAVA_HOME=/root/training/jdk1.8.0_181 export JAVA_HOME PATH=$JAVA_HOME/bin:$PATH export PATH
- 生效環境變數,執行下麵的命令
source /root/.bash_profile
- 輸入下圖中,紅框中的命令驗證Java環境
三、解壓Hadoop,並設置環境變數
- 執行下麵的命令,解壓hadoop-2.7.3.tar.gz
tar -zxvf hadoop-2.7.3.tar.gz -C ~/training/
- 設置Hadoop的環境變數,編輯~/.bash_profile文件,並輸入以下內容
HADOOP_HOME=/root/training/hadoop-2.7.3 export HADOOP_HOME PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH export PATH
- 生效環境變數
source ~/.bash_profile
四、搭建Hadoop的本地模式
- 進入目錄/root/training/hadoop-2.7.3/etc/hadoop
- 使用vi編輯器編輯文件:hadoop-env.sh
- 修改JAVA_HOME
export JAVA_HOME=/root/training/jdk1.8.0_181
- 測試Hadoop的本地模式,執行MapReduce程式。準備測試數據:vi ~/temp/data.txt
- 輸入下麵的數據,並保存退出
- 進入目錄:/root/training/hadoop-2.7.3/share/hadoop/mapreduce
- 執行WordCount任務
hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /root/temp /root/output/wc
- 根據下圖的命令,查看輸出結果
五、搭建Hadoop的偽分佈模式
- 首先,搭建好Hadoop的本地模式
- 創建目錄:/root/training/hadoop-2.7.3/tmp
mkdir /root/training/hadoop-2.7.3/tmp
- 進入目錄:/root/training/hadoop-2.7.3/etc/hadoop
cd /root/training/hadoop-2.7.3/etc/hadoop
- 修改hdfs-site.xml
<property> <name>dfs.replication</name> <value>1</value> </property>
- 修改core-site.xml
<!--配置NameNode的地址--> <!--9000是RPC通信的埠--> <property> <name>fs.defaultFS</name> <value>hdfs://bigdata111:9000</value> </property> <!--HDFS對應的操作系統目錄--> <!--預設值是Linux的tmp目錄--> <property> <name>hadoop.tmp.dir</name> <value>/root/training/hadoop-2.7.3/tmp</value> </property>
- 修改mapred-site.xml(註意:這個文件預設沒有)
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
- 修改yarn-site.xml
<!--配置ResourceManager的地址--> <property> <name>yarn.resourcemanager.hostname</name> <value>bigdata111</value> </property> <!--MapReduce運行的方式是洗牌--> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
- 格式化NameNode
hdfs namenode -format
- 啟動Hadoop
start-all.sh
- 訪問Web Console
http://192.168.157.111:50070 http://192.168.157.111:8088