本文是主要参考了几篇博客之后才搭建成功的,目的只是记录搭建过程,主要引用文章请参考博客。这里对原文中略作改动以适应当前环境需求。
ps:什么时候能够改进一下自己的MarkDown文本编辑能力,排版能力弱爆了!!!
1.虚拟机安装Ubuntu-16.04.3
虚拟机:VMware Workstation 12
内存:2G
网络:桥接模式
系统:Ubuntu-16.04.3
节点(局域网):
192.168.1.104 master hadoop/namenode/resourcemanager
192.168.1.105 slave_01 hadoop/datanode/secondnamenode
192.168.1.106 slave_02 hadoop/datanode
2.主、从虚拟机设置及验证
sudo -su 切换到root权限。
gedit /etc/hostname 编辑对应节点虚拟机名称
gedit /etc/hosts 添加如下内容
192.168.1.104 master
192.168.1.105 slave_01
192.168.1.106 slave_02
systemctl stop firewalld.service 关闭防火墙
systemctl disable firewalld.service 禁止防火墙开机启动
ping
(ctrl+c退出PING命令)
*3.安装vim编辑器
感觉系统自带的vi并不好用,可以利用apt-get install vim来安装vim编辑器,以下内容编辑默认使用vim。
4.JDK安装及环境设置
新版本的Ubuntu系统库中没有1.7及之前版本jdk。在布置阶段我才用了1.8版本jdk,并没有发生错误。不知道后续MapReduce应用开发过程中是否顺利之情,待解决。
apt-get install openjdk-1.8-jdk-headless 安装jdk环境
vim /etc/profile 添加以下环境变量
export $JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export $JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
:wq 保存退出编辑
source /etc/profile 使新的环境变量生效
5.安装并配置SSH
该版本系统中默认没有安装SSH Shell,所以需要手动安装一下
apt-get install openssh-server 安装ssh shell
ps -e|grep ssh 查看是否开启服务
ssh localhost 验证
ssh-keygen -t rsa 各节点虚拟机执行该命令生成密钥对
cd /root/.ssh目录
cat id_dsa.pub>>authorized_keys 导出认证文件
scp authorized_keys root@
chmod 600 .ssh/authorized_keys 修改认证权限模式
ssh slave_01验证是否免密成功
6.安装并配置Hadoop分布式集群
1)在master主机上进入/opt目录,创建soft目录并进入。利用命令下载hadoop-2.7.5的压缩文件
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.5/hadoop-2.7.5.tar.gz
tar -zxvf hadoop-2.7.5.tar.gz 解压
2)创建如下目录
mkdir /dfs
mkdir /dfs/name
mkdir /dfs/data
mkdir /tmp
3)配置文件:hadoop-env.sh(/opt/soft/hadoop-2.7.5/etc/hadoop)
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
4)配置文件:yarn-env.sh
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
5)配置文件:slaves
slave_01
sleve_02
6)配置文件:core-site.xml
fs.defaultFS
hdfs://master:9000
io.file.buffer.size
131072
hadoop.tmp.dir
file:/opt/soft/hadoop-2.7.5/tmp
Abase for other temporary directories.
8)配置文件:hdfs-site.xml
dfs.namenode.secondary.http-address
master:9001
dfs.namenode.name.dir
file:/opt/soft/hadoop-2.7.5/dfs/name
dfs.datanode.data.dir
file:/opt/soft/hadoop-2.7.5/dfs/data
dfs.replication
2
dfs.webhdfs.enabled
true
9)配置文件:mapred-site.xml
先拷贝模板文件
cp mapred-site.xml.template mapred-site.xml
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
master:10020
mapreduce.jobhistory.webapp.address
master:19888
10)配置文件:yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
yarn.resourcemanager.address
master:8032
yarn.resourcemanager.scheduler.address
master:8030
yarn.resourcemanager.resource-tracker.address
master:8031
yarn.resourcemanager.admin.address
master:8033
yarn.resourcemanager.webapp.address
master:8088
11)将上述文件拷贝到另外两个虚拟机的相同目录当中替换原有文件
12)编辑环境变量
添加
export HADOOP_HOME=/opt/soft/hadoop-2.7.5
修改PATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$PATH
生效上述环境变量
13)
hdfs namenode -format 格式化namenode
start-all.sh 启动hadoop
jps 查看是否启动成功
7.提交并执行验证任务
在master虚拟机上创建数据文件存储目录
hdfs dfs -mkdir -p /user/
/user/
文件系统格式,否则运行错误。
hdfs dfs -put EXAMPLEFILE /user/root/input
提交数据文件。
提交任务
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /user/root/input /user/root/output/result
查看结果
hdfs dfs -cat /data/output/result/part-r-00000