共计 4489 个字符,预计需要花费 12 分钟才能阅读完成。
说明:
本文的部署方式是传统的解压包方式和 Linux 标准方式。配置的基本环境是 Win10 下的 VMware Workstation12.1pro,Linux 版本为 CentOS 7.2,Hadoop 版本为 Hadoop3.0.0。部署完成后是一个 cMaster 主节点节点和两个从节点(cSlave0 和 cSlave1),均运行在 VMware 虚拟机中。本文仅保证在该环境下配置能够正常使用,其他环境请自行酌情修改。
配置步骤:
1. 准备资源和环境。
下载 Centos 7.2 的 iso 安装镜像,jdk1.8 for Linux 压缩包,hadoop3.0.0 压缩包。下载链接分别如下:
https://www.centos.org/download/
http://www.Oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
http://hadoop.apache.org/releases.html
下载完成后如图所示
2. 安装虚拟机。
在 Vmware workstation 中用典型 typical 方式安装 Centos7,每个虚拟机的资源为单核、1G 内存、20GB 磁盘。网络类型为 NAT。
在安装的时候机器名称设置为 cMaster(注意此处的名称只是在 Vmware 中的一个标识而已,真正新安装的 centos7 系统里的机器名都为 localhost.localdomain)
啊
用户名使用 joe 密码也为 joe(可自行更改)
重复以上步骤,分别安装 cSlave0 和 cSlave1 两个从节点的虚拟机。
(只是在机器名处分别填写 cSlave0 和 cSlave1,其他步骤都相同)
注意:centos7 默认是进行最小化安装,安装完成后是不带有图形化界面。如果需要图形化界面在软件安装选项里要勾选上 gnome。
3. 修改配置文件。
当三台虚拟机均安装完成后,需要进行的是修改机器名、添加域名映射、关闭防火墙,并安装 jdk。
(1)修改机器名。
打开终端,切换到 root 用户下修改机器名称。
$ sudo su
$ vim /etc/sysconfig/network
在其中添加“HOSTNAME=cMaster”,然后重启当前虚拟机,再查看机器名就是 cMaster 了。
(如果重启之后机器名不是 cMaster,可以使用命令 hostnamectl set-hostnamecMaster 修改机器名)
(2)添加域名映射
使用 ifconfig 命令分别查看三台虚拟机的 IP 地址。然后将三个 ip 地址都添加到各自的 /etc/hosts 文件中。
3 台机器均修改完成后,使用 pingslave0/cmaster/cslave1 命令测试各机器之间是否能够正常通三台机信。如果出现下图所示信息说明通信正常。
(3)关闭当前机器的防火墙。
在 root 权限下执行以下两条指令,关闭防火墙并阻止其开机启动。
systemctl stop firewalld.service# 停止 firewall
systemctl disable firewalld.service# 禁止 firewall 开机启动
(4)安装 JDK。
将之前下载好的 jdk 复制到虚拟机中的 /home/joe/ 目录下,
使用命令 rpm –ivh /home/joe/jdk-8u101-linux-x64.rpm 解压安装
安装完成后使用 javac 命令测试 jdk 是否安装成功,如果出现了如下图提示,说明安装 jdk 成功。
4.解压 hadoop,部署 hadoop
(1)按照以上步骤配置完成后,最好重启一下所有机器,确保所有的设置生效。
然后利用 joe 账户分别登录三台机器。将事先下载好的 hadoop 压缩包复制到每台机器的 /home/joe/ 目录下,然后在每一台机器上分别使用
tar–zxvf /home/joe/ hadoop-3.0.0-alpha1.tar.gz 命令解压安装 hadoop3.0.
(2)解压完成后需要修改 hadoop 的配置文件。
(本小节步骤在三台机器上都完全相同,三台机器都需要进行修改)
A.使用如下指令编辑 hadoop-env.sh 文件
gedit/home/joe/hadoop-3.0.0-alpha1/etc/hadoop/hadoop-env.sh
在文件中找到 exportJAVA_HOME=${JAVA_HOME}
修改为 exportJAVA_HOME=/usr/java/jdk1.8.0_101(填写自己安装的 jdk 的路径)
B.修改 core-site.xml 文件
使用命令 gedit/home/joe/hadoop-3.0.0-alpha1/etc/hadoop/core-site.xml
在 <configuration> 标签之间插入以下内容。
<property><name>hadoop.tmp.dir</name><value>/home/joe/cloudData</value></property>
<property><name>fs.defaultFS</name><value>hdfs://cMaster:8020</value></property>
C.修改 yarn-site.xml 文件
使用以下命令修改 gedit /home/joe/hadoop-3.0.0-alpha1/etc/hadoop/yarn-site.xml
在 <configuration> 标签之间插入以下内容
<property><name>yarn.resourcemanager.hostname</name><value>cMaster</value></property>
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property>
D.修改 mapred-site.xml.template
将 /home/joe/hadoop-3.0.0-alpha1/etc/hadoop/ 目录下的 mapred-site.xml.template 重命名为 mapred-site.xml
并用命令 gedit/home/joe/hadoop-3.0.0-alpha1/etc/hadoop/mapred-site.xml
在 <configuration> 标签之间加入如下内容:
<property><name>mapreduce.framework.name</name><value>yarn</value></property>
E.启动 hadoop
首先格式化主节点命名空间,使用命令:
/home/joe/hadoop-3.0.0-alpha1/bin/hdfsnamenode –formate
其次在主节点上启动存储服务和资源管理主服务。使用命令:
/home/joe/hadoop-3.0.0-alpha1/sbin/hadoop-daemon.sh start namenode #启动主存储服务
/home/joe/hadoop-3.0.0-alpha1/sbin/yarn-daemon.sh start resourcemanager # 启动资源管理服务。
最后在从节点上启动存储从服务和资源管理从服务(以下两条命令要在两台机器上分别执行)
/home/joe/hadoop-3.0.0-alpha1/sbin/hadoop-daemon.sh start datanode #启动从存储服务
/home/joe/hadoop-3.0.0-alpha1/sbin/yarn-daemon.sh start nodemanager #启动资源管理从服务
服务启动后在三台机器上分别使用 jps 命令查看是否启动。
cSlave0 和 cSlave1 如下图所示
cMaster 节点显示如下图所示
在 cMaster 机器的浏览器地址栏里输入 cMaster:50070 可以看到 HDFS 的相关信息,cMaster:8088 可以看到 Yarn 的相关信息。
如图还可以查看从节点的信息。
至此 Hadoop3.0 的配置工作已经完成了。接下来可以使用示例程序 Wordcount 来利用分布式系统统计某个文件中单词出现的次数。
在 cMaster 上以 joe 用户登录,然后执行以下的操作命令:
cd/home/joe/hadoop-3.0.0-alpha1/
bin/hdfs dfs -mkdir /in
bin/hdfs dfs -put/home/joe/hadoop-3.0.0-alpha1/etc/hadoop/* /in
bin/hadoop jarshare/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0-alpha1.jar wordcount /in /out/wc
如下图,在浏览器中输入 cMaster:50070 可以看到 hdfs,切换到相应文件夹下可以看到统计出的结果。
下面关于 Hadoop 的文章您也可能喜欢,不妨看看:
Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程 http://www.linuxidc.com/Linux/2015-02/113487.htm
CentOS 安装和配置 Hadoop2.2.0 http://www.linuxidc.com/Linux/2014-01/94685.htm
CentOS 6.3 下 Hadoop 伪分布式平台搭建 http://www.linuxidc.com/Linux/2016-11/136789.htm
Ubuntu 14.04 LTS 下安装 Hadoop 1.2.1(伪分布模式)http://www.linuxidc.com/Linux/2016-09/135406.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
Hadoop 2.6.0 HA 高可用集群配置详解 http://www.linuxidc.com/Linux/2016-08/134180.htm
Spark 1.5、Hadoop 2.7 集群环境搭建 http://www.linuxidc.com/Linux/2016-09/135067.htm
更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-11/137244.htm