易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 5054|回复: 0
收起左侧

CentOS 7.2 下配置Hadoop3.0 教程

[复制链接]
发表于 2016-11-20 13:10:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
说明:
本文的部署方式是传统的解压包方式和Linux标准方式。配置的基本环境是Win10下的VMware Workstation12.1proLinux版本为CentOS 7.2Hadoop版本为Hadoop3.0.0。部署完成后是一个cMaster主节点节点和两个从节点(cSlave0cSlave1),均运行在VMware虚拟机中。本文仅保证在该环境下配置能够正常使用,其他环境请自行酌情修改。
配置步骤:
1. 准备资源和环境。
下载Centos 7.2 iso安装镜像,jdk1.8 for Linux压缩包,hadoop3.0.0压缩包。下载链接分别如下:
http://www.Oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载完成后如图所示
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image001.jpg
2. 安装虚拟机。
Vmware workstation中用典型 typical 方式安装Centos7 ,每个虚拟机的资源为单核、1G内存、20GB磁盘。网络类型为NAT
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png
在安装的时候机器名称设置为cMaster(注意此处的名称只是在Vmware中的一个标识而已,真正新安装的centos7 系统里的机器名都为localhost.localdomain
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image003.png
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image005.jpg
用户名使用joe 密码也为joe(可自行更改)
重复以上步骤,分别安装cSlave0cSlave1两个从节点的虚拟机。
(只是在机器名处分别填写cSlave0 cSlave1,其他步骤都相同)
注意:centos7默认是进行最小化安装,安装完成后是不带有图形化界面。如果需要图形化界面在软件安装选项里要勾选上gnome
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image007.jpg
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image009.jpg
3. 修改配置文件。
当三台虚拟机均安装完成后,需要进行的是修改机器名、添加域名映射、关闭防火墙,并安装jdk
1  修改机器名。
打开终端,切换到root用户下修改机器名称。
$ sudo su
$ vim /etc/sysconfig/network
在其中添加“HOSTNAME=cMaster”,然后重启当前虚拟机,再查看机器名就是cMaster了。
(如果重启之后机器名不是cMaster,可以使用命令hostnamectl set-hostnamecMaster 修改机器名)
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image010.png
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image011.png
2  添加域名映射
使用ifconfig命令分别查看三台虚拟机的IP地址。然后将三个ip地址都添加到各自的/etc/hosts文件中。
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image012.png
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image013.png
3台机器均修改完成后,使用pingslave0/cmaster/cslave1命令测试各机器之间是否能够正常通三台机信。如果出现下图所示信息说明通信正常。
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png
3  关闭当前机器的防火墙。
root权限下执行以下两条指令,关闭防火墙并阻止其开机启动。
systemctl stop firewalld.service#停止firewall! E3 k% M# X4 C( r# s/ j
systemctl disable firewalld.service#禁止firewall开机启动
4  安装JDK
将之前下载好的jdk复制到虚拟机中的/home/joe/目录下,
使用命令rpm –ivh /home/joe/jdk-8u101-linux-x64.rpm解压安装
安装完成后使用javac命令测试jdk是否安装成功,如果出现了如下图提示,说明安装jdk成功。
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image015.png
4.解压hadoop,部署hadoop
1)按照以上步骤配置完成后,最好重启一下所有机器,确保所有的设置生效。
然后利用joe账户分别登录三台机器。将事先下载好的hadoop压缩包复制到每台机器的/home/joe/目录下,然后在每一台机器上分别使用
tar–zxvf /home/joe/hadoop-3.0.0-alpha1.tar.gz 命令解压安装hadoop3.0.
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image016.png
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的路径)
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image017.png
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>
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image019.jpg
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>
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image021.jpg
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>
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image022.png
E.启动hadoop
首先格式化主节点命名空间,使用命令:
/home/joe/hadoop-3.0.0-alpha1/bin/hdfsnamenode–formate
其次在主节点上启动存储服务和资源管理主服务。使用命令:
/home/joe/hadoop-3.0.0-alpha1/sbin/hadoop-daemon.shstart namenode #启动主存储服务
/home/joe/hadoop-3.0.0-alpha1/sbin/yarn-daemon.shstart resourcemanager # 启动资源管理服务。
最后在从节点上启动存储从服务和资源管理从服务(以下两条命令要在两台机器上分别执行)
/home/joe/hadoop-3.0.0-alpha1/sbin/hadoop-daemon.shstart datanode #启动从存储服务
/home/joe/hadoop-3.0.0-alpha1/sbin/yarn-daemon.shstart nodemanager #启动资源管理从服务
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image024.jpg
服务启动后在三台机器上分别使用jps命令查看是否启动。
cSlave0cSlave1如下图所示
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image025.png
cMaster节点显示如下图所示
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image026.png
cMaster机器的浏览器地址栏里输入cMaster50070可以看到HDFS的相关信息,cMaster8088可以看到Yarn的相关信息。
如图还可以查看从节点的信息。
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image028.jpg
至此 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/hadoopjarshare/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0-alpha1.jar wordcount /in /out/wc
如下图,在浏览器中输入cMaster50070 可以看到hdfs,切换到相应文件夹下可以看到统计出的结果。
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image030.jpg
" u6 g% h3 t! l. a3 Z' c/ q
7 ^- S6 u! O6 ?" V' B% Y

& l' S! o' A5 r; p% \
# l6 B( D: R5 I" R

/ f4 A/ j0 d8 g* n
说明:
本文的部署方式是传统的解压包方式和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压缩包。下载链接分别如下:
http://www.Oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载完成后如图所示
8 ~) c$ A; u" O- I: f( a
                               
登录/注册后可看大图

. q, x# z5 J4 d5 q# \
2. 安装虚拟机。
在Vmware workstation中用典型 typical 方式安装Centos7 ,每个虚拟机的资源为单核、1G内存、20GB磁盘。网络类型为NAT。
1 h' m% ^- [* T% H' X
                               
登录/注册后可看大图
8 F. E7 F  ~+ W4 M" `* {
! }6 m" j/ G  t- F
在安装的时候机器名称设置为cMaster(注意此处的名称只是在Vmware中的一个标识而已,真正新安装的centos7 系统里的机器名都为localhost.localdomain)

: A- M; a* x( a6 v, n+ T5 B, j                               
登录/注册后可看大图

9 e8 q$ j/ |3 J                               
登录/注册后可看大图

% U) `% D+ c1 w- X2 B8 g

0 Q1 d3 }% T7 n" W9 t' T
用户名使用joe 密码也为joe(可自行更改)
重复以上步骤,分别安装cSlave0和cSlave1两个从节点的虚拟机。
(只是在机器名处分别填写cSlave0 和cSlave1,其他步骤都相同)
注意:centos7默认是进行最小化安装,安装完成后是不带有图形化界面。如果需要图形化界面在软件安装选项里要勾选上gnome。
: m' }+ M* X% n) X$ ~" R0 M
                               
登录/注册后可看大图
: b% |5 C7 F( T) F! U$ {0 f: J
                               
登录/注册后可看大图
3. 修改配置文件。
当三台虚拟机均安装完成后,需要进行的是修改机器名、添加域名映射、关闭防火墙,并安装jdk。
(1)  修改机器名。
打开终端,切换到root用户下修改机器名称。
$ sudo su
$ vim /etc/sysconfig/network
/ a7 c0 P  B- V+ k$ y/ a
8 @8 E. w: S' ^) s
在其中添加“HOSTNAME=cMaster”,然后重启当前虚拟机,再查看机器名就是cMaster了。
(如果重启之后机器名不是cMaster,可以使用命令hostnamectl set-hostnamecMaster 修改机器名)
! g; [! u! k; k8 u( a- P0 Y: w' u
                               
登录/注册后可看大图
9 l: C9 `8 s: z5 e0 f( P

5 i$ t8 s3 d5 z" t4 s& ?9 ?6 v. U( i                               
登录/注册后可看大图

. ]# `" v2 t& e% H
& y" p) W& B9 h

2 `1 m9 ]/ M4 ]1 A
(2)  添加域名映射
使用ifconfig命令分别查看三台虚拟机的IP地址。然后将三个ip地址都添加到各自的/etc/hosts文件中。

1 W0 j% O: L3 e3 p% `' a4 w                               
登录/注册后可看大图

) Z2 g9 z/ Y) Z2 N

' m+ \6 V6 Z) @4 M! C                               
登录/注册后可看大图

3 J: ?% a* F# D* U

) X- b2 ?3 Q6 j# V9 V2 Z# k# N
' u8 A) m8 T+ j) f1 m7 ^
3台机器均修改完成后,使用pingslave0/cmaster/cslave1命令测试各机器之间是否能够正常通三台机信。如果出现下图所示信息说明通信正常。

9 t* i; c/ b7 @( H8 o1 I                               
登录/注册后可看大图

& S9 r2 |# @6 Y' f: }& A3 W& H
. |4 x: M4 y3 d% l, u; W: d
(3)  关闭当前机器的防火墙。
在root权限下执行以下两条指令,关闭防火墙并阻止其开机启动。
systemctl stop firewalld.service#停止firewall: a% ~. Q* d/ @- K
systemctl disable firewalld.service#禁止firewall开机启动
(4)  安装JDK。
将之前下载好的jdk复制到虚拟机中的/home/joe/目录下,
使用命令rpm –ivh /home/joe/jdk-8u101-linux-x64.rpm解压安装
安装完成后使用javac命令测试jdk是否安装成功,如果出现了如下图提示,说明安装jdk成功。

2 i  V( x9 l2 f                               
登录/注册后可看大图

' `" d; g0 z$ l
0 |. t* S! f  u" @$ ^
4.解压hadoop,部署hadoop
(1)按照以上步骤配置完成后,最好重启一下所有机器,确保所有的设置生效。
然后利用joe账户分别登录三台机器。将事先下载好的hadoop压缩包复制到每台机器的/home/joe/目录下,然后在每一台机器上分别使用
tar–zxvf /home/joe/ hadoop-3.0.0-alpha1.tar.gz 命令解压安装hadoop3.0.
: o% f) e; O; ?/ q3 b% S2 g. [
                               
登录/注册后可看大图
* Y# f# K9 N( [! `

9 B7 Y' {2 S! n. b
(2)解压完成后需要修改hadoop的配置文件。
(本小节步骤在三台机器上都完全相同,三台机器都需要进行修改)
A.使用如下指令编辑hadoop-env.sh文件
gedit/home/joe/hadoop-3.0.0-alpha1/etc/hadoop/hadoop-env.sh

# p3 ^" V9 E0 w" o8 ^  Q
在文件中找到exportJAVA_HOME=${JAVA_HOME}
修改为exportJAVA_HOME=/usr/java/jdk1.8.0_101(填写自己安装的jdk的路径)

1 ~, G( u- A% _( n                               
登录/注册后可看大图

2 t& C. c: v' `2 i9 Q
7 X# Q) E3 K" K# [) b1 Y9 z
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>
' {# {, v" l! ?6 Z7 S) J
                               
登录/注册后可看大图
& o' F! w8 J4 v- h

! ~! g4 E2 U4 k" F0 W% G, N, J
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>
4 h/ x' J% ^# D$ u. f
                               
登录/注册后可看大图

' \5 ~: n4 ]  Q+ \. u

$ I/ K" P3 ~0 C* ?5 `) u0 Q
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>

- P" l9 Q, ?; |) q5 l                               
登录/注册后可看大图
: Y- D# `$ B7 a: c
4 u- ~. ^  \, P* K* U
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 #启动资源管理从服务

: P* W4 W# _5 {0 V9 n  }- z# }  _                               
登录/注册后可看大图

7 u# o( Y) q0 t; P$ L

4 a- K! F. E# D4 ?1 J/ J3 Q
服务启动后在三台机器上分别使用jps命令查看是否启动。
cSlave0和cSlave1如下图所示
; `. ^0 Q* e2 G% q$ [% P8 Y
                               
登录/注册后可看大图

' I+ ^) ~) \3 A8 g6 p2 t, G
5 {2 M; ~! C: X
cMaster节点显示如下图所示

( H& h2 y$ J% Z4 m  Y7 f+ ^                               
登录/注册后可看大图
% D. J% J$ g) G+ b7 P9 @3 a: D
  T( _3 ?+ x# w2 L2 A. H6 H
在cMaster机器的浏览器地址栏里输入cMaster:50070可以看到HDFS的相关信息,cMaster:8088可以看到Yarn的相关信息。

! R, y: L9 x' `& o! E4 a  u2 t# T' `
如图还可以查看从节点的信息。

6 T* M: \: [! @, W# _' [                               
登录/注册后可看大图

* h* I7 f% q7 L+ t) j2 v

5 @6 C1 K8 p- ]- @
至此 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,切换到相应文件夹下可以看到统计出的结果。

  M. J4 l7 {( R9 B- t                               
登录/注册后可看大图

* J$ \1 |$ K* i- C' ?" a- T

5 D  P6 Y/ D* U$ R1 b7 Y
# G  V  V6 F# k, n" I. }
) u8 f" h1 {/ p+ Y7 t. c* ]

) b8 r+ s3 j! D! [
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 点击这里给我发消息

GMT+8, 2026-4-8 10:16 , Processed in 0.091963 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表