一、環境說明:
VmWare兩臺虛擬機,各安裝CentOS6.5,部署單Master單Slave結構的Hadoop集群。
二、下載JDK與hadoop安裝包
jdk-8u92-linux-x64.gz
hadoop-2.7.4.tar.gz
三、修改系統hosts文件(兩臺機器):
使用管理員執行編輯
sudo vi /etc/hosts
添加以下內容
192.168.76.128? hd01
192.168.76.129? hd02
保存退出
修改系統hostname,以root身份
vi /etc/sysconfig/network
將兩臺虛機hostname分別改為hd01、hd02后保存。
重啟虛機使hostname生效?;蛘卟恢貑⑹褂胔ostname hd01、hostname hd02設置。
四、設置SSH互信
在每臺服務器上執行:
創建hadoop用戶
useradd hadoop
在每臺機器上切換到hadoop用戶執行以下命令
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa (一路回車)
ssh-keygen -t dsa(一路回車)
cd /home/hadoop/.ssh
cat *.pub >authorized_keys
在hd02上執行:
cd ~/.ssh
scp authorized_keys hd01:/home/hadoop/.ssh/hd02_keys
chmod 644 authorized_keys
在hd01上執行:
cd /home/hadoop/.ssh
cat hd02_keys >> authorized_keys
再將認證文件拷貝到hd02機器上:
scp ./authorized_keys hd02:/home/hadoop/.ssh/
chmod 644 authorized_keys
測試免密登錄是否設置成功:
在hd01執行ssh hd02
在hd02執行ssh hd01
五、安裝JDK
將jdk安裝包上傳至服務器hd01、hd02,在每臺服務器上解壓。
本人解壓位置/data/jdk.18
切換到hadoop用戶,編輯用戶文件
vi ~/.bash_profile,修改內容如下:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
JAVA_HOME=/data/jdk1.8
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin
export PATH JAVA_HOME
保存退出。
source ~/.bash_profile 使配置生效
java -version 查看jdk版本是否正確
六、解壓Hadoop安裝包
將Hadoop安裝包解壓到/data/hadoop/hadoop-2.7.4目錄下
將/data/hadoop目錄的擁有者改為hadoop
進入hadoop目錄,cd /data/hadoop/hadoop-2.7.4
之后,依次執行以下命令
mkdir tmp
mkdir hdfs
cd hdfs
mkdir data
mkdir name
七、修改etc/hadoop下的core-site.xml內容如下:
fs.defaultFS
hdfs://hd01:9000
hadoop.tmp.dir
file:/data/hadoop/hadoop-2.7.4/tmp
io.file.buffer.size
131702
八、修改etc/hadoop下的hdfs-site.xml內容如下
最后一個配置項關閉了hdfs的權限,開發環境可以,生產環境務必要使用權限體系。
dfs.namenode.name.dir
file:/data/hadoop/hadoop-2.7.4/hdfs/name
dfs.datanode.data.dir
file:/data/hadoop/hadoop-2.7.4/hdfs/data
dfs.replication
2
dfs.namenode.secondary.http-address
hd02:9001
dfs.webhdfs.enabled
true
dfs.permissions.enabled
false
九、etc/hadoop下復制一份mr配置文件mv mapred-site.xml.templatemapred-site.xml
修改mapred-site.xml內容如下:
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
hd01:10020
mapreduce.jobhistory.webapp.address
hd01:19888
十、修改etc/hadoop下的yarn-site.xml文件內容如下:
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
yarn.resourcemanager.address
hd01:8032
yarn.resourcemanager.scheduler.address
hd01:8030
yarn.resourcemanager.resource-tracker.address
hd01:8031
yarn.resourcemanager.admin.address
hd01:8033
yarn.resourcemanager.webapp.address
hd01:8088
十一、修改etc/hadoop下的slaves文件。刪除localhost行。添加:
192.168.76.129
十二、修改etc/hadoop目錄下hadoop-env.sh、yarn-env.sh的JAVA_HOME
export JAVA_HOME=/data/jdk1.8
十三、將hd01上配置好的hadoop傳輸到所有slave節點上:
scp -r /data/hadoop/hadoop-2.7.4 hd02:/data/hadoop
十四、格式化hadoop
切換到hadoop用戶,執行命令前,確保jdk已經正確配置到系統path中。
切換到/data/hadoop/hadoop-2.7.4目錄,執行命令
bin/hdfs namenode -format
十五、啟動hadoop
cd /data/hadoop/hadoop-2.7.4/sbin
./start-all.sh 啟動全部服務,當然,也可以使用獨立的shell命令啟動單獨的服務。
啟動完畢后,使用jps命令查看啟動的hadoop服務
另外,停止命令:
./stop-all.sh
十六、官方控制臺: