一、环境说明:
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生效。或者不重启使用hostname 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
十六、官方控制台:
http://192.168.76.128:8088/
http://192.168.76.128:50070/