hadoop HDFS Pseudo-Distributed Mode 偽分散式部署
- 一、 架構簡介:
本文件介紹如何設定和配置單節點Hadoop安裝,以便您可以使用Hadoop MapReduce和Hadoop分散式檔案系統(HDFS)快速執行簡單操作。
使用hadoop版本:Apache Hadoop 2.6.5
使用4個虛擬機器節點以及角色:
hadoop01(192.168.92.66) 將namenode、second namenode放置在該節點
hadoop02(192.168.92.67) datanode
hadoop03(192.168.92.68) datanode
hadoop04(192.168.92.69) datanode
- 二、作業系統環境準備
2.1、依賴軟體
yum install -y ssh rsync
2.2、ssh免密
現在檢查您是否可以在沒有密碼的情況下ssh到localhost:
$ ssh localhost
如果在沒有密碼短語的情況下無法ssh到localhost,請執行以下命令:
[[email protected] .ssh]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa [[email protected] .ssh]# cat id_dsa.pub >> ~/.ssh/authorized_keys
將hadoop01中的公鑰分發到其他節點並將公鑰新增到authorized_keys中,下面以hadoop02為例,其他操作一樣
[[email protected] .ssh]# scp id_dsa.pub [email protected]:`pwd`/hadoop01.pub 登入hadoop02
[[email protected] opt]# cd ~/.ssh
[[email protected] .ssh]# cat hadoop01.pub >> ~/.ssh/authorized_keys
hadoop03和hadoop04做同樣操作
注意:需要配置 hadoop01(namenode) 需要免密登入自己和其他所有的datanode節點
2.3、 jdk安裝並配置環境變數
使用rz命令將jdk安裝包上傳到每個節點 /opt目錄下
cd /opt
安裝jdk
[[email protected] opt]# rpm -ivh jdk-7u67-linux-x64.rpm
配置環境變數
vi /etc/profile
追加兩行
export JAVA_HOME=/usr/java/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin 重新引入一下配置檔案 source /etc/profile
注意 hadoop01 hadoop02 hadoop03 hadoop04都是同樣的
2.4、 時間同步
[[email protected] opt]# date
Mon Oct 29 19:27:14 CST 2018
驗證每臺虛擬機器中的時間是否同步,如果不同步話需要執行下面操作將時間統一
修改主機名
[[email protected] opt]# vi /etc/sysconfig/network
修改/etc/hosts檔案如下
三、
- 三、hadoop部署(以hadoop01為例 其他節點同樣操作 )
3.1、 安裝hadoop
使用rz命令上傳安裝包到/opt目錄
cd /opt
解壓hadoop安裝包
[[email protected] opt]# tar -zxvf hadoop-2.6.5.tar.gz
將解壓後文件複製到安裝目錄
[[email protected] opt]# cp -r hadoop-2.6.5 /usr/local
3.2、 配置環境變數
[[email protected] hadoop-2.6.5]# vi /etc/profile
修改如下:
修改完畢後重新引入配置檔案
source /etc/profile
3.2、 修改配置檔案
[[email protected] hadoop]# cd /usr/local/hadoop-2.6.5/etc/hadoop
修改hdfs-site.html
[[email protected] hadoop]# vi hdfs-site.xml
修改core-site.html
修改slaves(配置datanode)
vi slaves
修改jdk環境變數hadoop-env.sh
注意:已經配置了jdk的環境變數,為什麼還要修改呢?
原因:ssh直接登入虛擬機器的話會載入配置檔案,但是如果從一臺虛擬機器上呼叫ssh登入另一臺虛擬機器的話,預設是不載入配置檔案的,因此也就無法獲取到我們配置的jdk環境變數,因此需要在此處修改
vi hadoop-env.sh
建立臨時目錄
[[email protected] hadoop]# mkdir -p /var/sxt/hadoop/loca
namenode格式化
[[email protected] hadoop-2.6.5]# hdfs namenode -format
結果如下表示格式化成功
啟動
[[email protected] current]# start-dfs.sh
輸入結果如下表示啟動成功
四、驗證
建立虛擬目錄
[[email protected] opt]# hdfs dfs -mkdir /user
[[email protected] opt]# hdfs dfs -mkdir /user/root