码迷,mamicode.com
首页 > 其他好文 > 详细

安装部署Hadoop

时间:2016-06-21 20:22:08      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:

 

安装Hadoop教程

目录

第一步、 配置Vmware NAT网络... 2

一、 Vmware网络模式介绍... 2

二、 NAT模式配置... 2

第二步、 安装Linux操作系统... 3

三、 Vmware上安装Linux系统... 3

四、 设置网络... 5

五、 修改Hostname. 6

六、 配置Host. 7

第三步、 安装JDK. 7

七、 安装Java JDK. 7

八、 添加环境变量... 7

第四步、 单机Hadoop部署过程... 7

九、 Hadoop所用的用户设置... 7

十、 安装Hadoop. 8

十一、 配置Hadoop. 8

十二、 配置、格式化、启动HDFS. 9

十三、 配置、启动YARN.. 11

十四、 运行Haddop Job. 12

十五、 停止Hadoop. 12

第五步、 伪分布式环境部署Hadoop. 12

十六、 其他机器添加Hadoop用户... 12

十七、 其他机器安装JDK. 12

十八、 其他机器配置网络、Hostnamehost. 12

十九、 设置SSH无密码登录... 12

二十、 修改Master上的slave文件... 12

二十一、 Master上的Hadoop目录拷贝到各个Slave机器上... 12

二十二、 启动集群... 12

第六步、 常见问题... 12

二十三、 如何完全卸载Vmware. 12

 


 

第一步、配置Vmware NAT网络

一、Vmware网络模式介绍

参考:http://blog.csdn.net/collection4u/article/details/14127671

二、NAT模式配置

NAT是网络地址转换,是在宿主机和虚拟机之间增加一个地址转换服务,负责外部和虚拟机之间的通讯转接和IP转换。

我们部署Hadoop集群,这里选择NAT模式,各个虚拟机通过NAT使用宿主机的IP来访问外网。

我们的要求是集群中的各个虚拟机有固定的IP、可以访问外网,所以进行如下设置:

1、  Vmware安装后,默认的NAT设置如下:

技术分享

2、  默认的设置是启动DHCP服务的,NAT会自动给虚拟机分配IP,但是我们需要将各个机器的IP固定下来,所以要取消这个默认设置。

3、  为机器设置一个子网网段,默认是192.168.136网段,我们这里设置为100网段,将来各个虚拟机Ip就为 192.168.100.*

4、  点击NAT设置按钮,打开对话框,可以修改网关地址和DNS地址。这里我们为NAT指定DNS地址。

技术分享

5、  网关地址为当前网段里的.2地址,好像是固定的,我们不做修改,先记住网关地址就好了,后面会用到。

第二步、安装Linux操作系统

三、Vmware上安装Linux系统

1、  文件菜单à新建虚拟机

2、  选择经典类型安装,下一步。

3、  安装来源选择下载好的Linux安装iso光盘映像文件,下一步。

4、  安装后指定添加一个操作系统user,这里创建一个全名为hadoop、用户名为hadoop的用户。

技术分享

5、  命名虚拟机,给虚拟机起个名字,将来显示在Vmware左侧。并选择Linux系统保存在宿主机的哪个目录下,应该一个虚拟机保存在一个目录下,不能多个虚拟机使用一个目录。

技术分享

6、  指定磁盘容量,是指定分给Linux虚拟机多大的硬盘,默认20G就可以,下一步。

7、  点击自定义硬件,可以查看、修改虚拟机的硬件配置,这里我们不做修改。

8、  点击完成后,就开始安装Linux系统。

9、  安装完成后,Linux系统有两个用户:roothadoop

四、设置网络

因为VmwareNAT设置中关闭了DHCP自动分配IP功能,所以Linux还没有IP,需要我们设置网络各个参数。

1、  root进入Xwindow,右击右上角的网络连接图标,选择修改连接。

技术分享

2、  网络连接里列出了当前Linux里所有的网卡,这里只有一个网卡System eth0,点击编辑。

技术分享

3、  配置IP、子网掩码、网关(和NAT设置的一样)、DNS等参数,因为NAT里设置网段为100.*,所以这台机器可以设置为192.168.100.10网关和NAT一致,为192.168.100.2

技术分享

4、  ping来检查是否可以连接外网,如下图,已经连接成功。

技术分享

五、修改Hostname

1、  临时修改hostname

[root@localhost Desktop]# hostname master

这种修改方式,系统重启后就会失效。

2、  永久修改hostname

想永久修改,应该修改配置文件 /etc/sysconfig/network

命令:[root@centos ~] vim /etc/sysconfig/network

打开文件后,

NETWORKING=yes  #使用网络

HOSTNAME=master  #设置主机名

六、配置Host

命令:[root@centos ~] vim /etc/hosts

添加hosts: 192.168.100.10 master

第三步、安装JDK

七、安装Java JDK

1、  查看是否已经安装了java JDK

[root@master Desktop]# java –version

注意:Hadoop机器上的JDK,最好是OracleJava JDK,不然会有一些问题,比如可能没有JPS命令。

如果安装了其他版本的JDK,卸载掉。

2、  安装java JDK

(1)     去下载Oracle版本Java JDKjdk-8u91-linux-x64.rpm

(2) 安装JAVA JDK

[root@master Desktop]# rpm –ivh jdk-8u91-linux-x64.rpm

3、  安装后再次执行 java –version,可以看见已经安装完成,JDK安装在/usr/java/jdk1.8.0_91目录下。

八、添加环境变量

设置JDK的环境变量 JAVA_HOME。需要修改配置文件/etc/profile,追加

export JAVA_HOME="/usr/java/jdk1.8.0_91"

export PATH=$JAVA_HOME/bin:$PATH

修改完毕后,执行 source /etc/profile

第四步、单机Hadoop部署过程

九、Hadoop所用的用户设置

1、  hadoop用户sudo权限

[root@master ~]# vim /etc/sudoers

设置权限:

root    ALL=(ALL)       ALL

hadoop ALL=(root) NOPASSWD:ALL

2、  创建存放hadoop文件的目录

[root@master ~]$ sudo mkdir /usr/hadoop

3、  hadoop文件夹的所有者指定为hadoop用户

[root@master ~]# chown -R hadoop:hadoop /usr/hadoop

十、安装Hadoop

1、  复制hadoop-2.5.0.tar.gz/usr/hadoop目录下。

2、  解压hadoop-2.5.0.tar.gz

[root@master ~]# cd /usr/hadoop

[root@master hadoop]# tar -zxvf hadoop-2.5.0.tar.gz

十一、配置Hadoop

1、  配置Hadoop环境变量

[root@master hadoop]# vim /etc/profile

追加配置:

export HADOOP_HOME="/usr/hadoop/hadoop-2.5.0"

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

执行:source /etc/profile 使得配置生效

2、  配置 ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh文件

[hadoop@master ~]$ sudo vim  ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh

修改HADOOP_CONF_DIR参数为:

export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

3、  配置core-site.xml

技术分享

[hadoop@master ~]$ sudo vim  ${HADOOP_HOME}/etc/hadoop/core-site.xml

(1)       fs.default.name配置的是HDFS的地址。

(2)       hadoop.tmp.dir配置的是Hadoop临时目录,比如HDFSNameNode数据默认都存放这个目录下,查看*-default.xml等默认配置文件,就可以看到很多依赖${hadoop.tmp.dir}的配置。

创建临时目录:[hadoop@master ~]$ sudo mkdir  ${HADOOP_HOME}/hadoop_tmp

十二、配置、格式化、启动HDFS

1、  配置hdfs-site.xml

技术分享

[hadoop@master ~]$ sudo vim  ${HADOOP_HOME}/etc/hadoop/hdfs-site.xml

dfs.replication配置的是HDFS存储时的备份数量,只有一个节点,所以这里设置为1

2、  格式化HDFS

[hadoop@master ~]$ hdfs namenode –format

格式化后,查看core-site.xmlhadoop.tmp.dir指定的目录下是否有了dfs目录,如果有,说明格式化成功。

注意:

(1)       格式化时,应该保证当前用户(hadoop)有对${HADOOP_HOME}目录读、写、行权限,最好是目录的所有者,如果不是,可以用命令修改所有者

[root@master /]# chown -R hadoop:hadoop ${HADOOP_HOME}

[root@master /]# chmod 755 -R ${HADOOP_HOME}

(2)       查看NameNode格式化后的目录

 [hadoop@master ~]$ ll ${HADOOP_HOME}/hadoop_tmp/dfs/name/current

total 16

-rw-rw-r--. 1 hadoop hadoop 353 May 27 10:45 fsimage_0000000000000000000

-rw-rw-r--. 1 hadoop hadoop  62 May 27 10:45 fsimage_0000000000000000000.md5

-rw-rw-r--. 1 hadoop hadoop   2 May 27 10:45 seen_txid

-rw-rw-r--. 1 hadoop hadoop 206 May 27 10:45 VERSION

 

fsimageNameNode元数据在内存满了后,持久化保存到的文件。

fsimage*.md5 是校验文件,用于校验fsimage的完整性。

seen_txid hadoop的版本

vession文件里保存:

l  namespaceIDNameNode的唯一ID

l  clusterID:集群IDNameNodeDataNode的集群ID应该一致,表明是一个集群。

#Fri May 27 17:46:48 PDT 2016

namespaceID=1733061610

clusterID=CID-d32df410-6498-4bcd-97a8-7cb7253b3789

cTime=0

storageType=NAME_NODE

blockpoolID=BP-188107533-192.168.100.10-1464371112276

layoutVersion=-57

3、  启动NameNode

[hadoop@master ~]$ ${HADOOP_HOME}/sbin/hadoop-daemon.sh start namedatanode

4、  启动DataNode

[hadoop@master ~]$ ${HADOOP_HOME}/sbin/hadoop-daemon.sh start datanode

5、  启动SecondaryNameNode

[hadoop@master ~]$ ${HADOOP_HOME}/sbin/hadoop-daemon.sh start secondarynamenode

6、  JPS命令查看是否已经启动成功,有结果就是启动成功了。

[hadoop@master ~]$ jps

2800 DataNode

2932 Jps

2709 NameNode

2888 SecondaryNameNode

7、  Web页面查看HDFS

HDFSWeb页面端口号为50070,通过http://192.168.100.10:50070可以查看。

如果不能访问,看服务器的防火墙是否打开着,学习环境,可以直接把防火墙关闭。

关闭防火墙:

(1)     root用户登录后,执行[root@master hadoop]# service iptables status 查看防火墙状态

(2)     [root@master hadoop]# service iptables stop关闭防火墙,这个是临时关闭防火墙,如果要永久关闭防火墙用[root@master hadoop]# chkconfig iptables off关闭,这种需要重启才能生效。

十三、配置、启动YARN

1、  配置mapred-site.xml

默认没有mapred-site.xml文件,但是有个mapred-site.xml.template配置模板文件。复制模板生成mapred-site.xml

[root@master hadoop]# cp ${HADOOP_HOME}/etc/hadoop/mapred-site.xml.template ${HADOOP_HOME}/etc/hadoop/mapred-site.xml

添加配置如下:

<configuration>

    <property>

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

    </property>

</configuration>

指定mapreduce运行在yarn框架上。

2、  配置yarn-site.xml

添加配置如下:

<configuration>

 <property>

  <name>yarn.nodemanager.aux-services</name>

  <value>mapreduce_shuffle</value>

 </property>

</configuration>

                   yarn.nodemanager.aux-services配置了yarn的默认混洗方式,选择为mapreduce的默认混洗算法。

3、  启动Resourcemanager

[hadoop@master ~]$ ${HADOOP_HOME}/sbin/yarn-daemon.sh start resourcemanager

4、  启动nodemanager

[hadoop@master ~]$ ${HADOOP_HOME}/sbin/yarn-daemon.sh start nodemanager

5、  查看是否启动成功

[hadoop@master ~]$ jps

2800 DataNode

7170 ResourceManager

2709 NameNode

2888 SecondaryNameNode

7528 Jps

7417 NodeManager

可以看到ResourceManagerNodeManager已经启动成功了。

6、  YARNWeb页面

YARNWeb客户端端口号是8088,通过http://192.168.100.10:8088/可以查看。

十四、运行Haddop Job

十五、停止Hadoop

[hadoop@master ~]$ ${HADOOP_HOME}/sbin/hadoop-daemon.sh stop namenode

stopping namenode

[hadoop@master ~]$ ${HADOOP_HOME}/sbin/hadoop-daemon.sh stop datanode

stopping datanode

[hadoop@master ~]$ ${HADOOP_HOME}/sbin/yarn-daemon.sh stop resourcemanager

stopping resourcemanager

[hadoop@master ~]$ ${HADOOP_HOME}/sbin/yarn-daemon.sh stop nodemanager

stopping nodemanager

第五步、伪分布式环境部署Hadoop

十六、其他机器添加Hadoop用户

十七、其他机器安装JDK

十八、其他机器配置网络、Hostnamehost

十九、设置SSH无密码登录

二十、修改Master上的slave文件

二十一、Master上的Hadoop目录拷贝到各个Slave机器上

二十二、启动集群

第六步、常见问题

二十三、如何完全卸载Vmware

参考:http://nickzp.blog.51cto.com/12728/1123735

参考:http://wenku.baidu.com/link?url=XYRBQKncPdewfYPIB1qT0ed7dfHcmI7SrhSJrO8aDLImyV7-o-vFlv_eyp4pzXFSvznrz52HTGIuvDY4Qz_0dRQDat_Inw4GVNwBjFsVKKi

 





附件列表

     

    安装部署Hadoop

    标签:

    原文地址:http://www.cnblogs.com/chybin/p/5604830.html

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!