虚拟机中Hadoop分布式环境搭建

Hadoop分布式搭建步骤:

       为了体现分布式效果,最少需要三个虚拟机,可以先在一个虚拟节点上完成安装配置,然后克隆虚拟机到另外两个节点。三个节点的hostname分别为zpl-hadoop,zpl-hadoop04,zpl-hadoop05。克隆步骤如下:

一、克隆虚拟机,配置IP网卡主机映射。

1,克隆之前先把目标虚拟机hadoop目录下share目录下的doc文档目录删掉,在share目录下执行命令 rm –rf doc  ,可以减少复制时间,克隆时虚拟机一定要是关机状态。

注意:以上操作都是在非root用户下,如果是 修改系统配置的操作 比如关闭防火墙,修改主机名称需要在root用户下进行。

2,在VMWare Workstation中,选择要克隆的虚拟机,右键,管理,克隆,输入新虚拟机名称,next即可。

3,克隆完成后打开新虚拟机,需要修改主机名,IP地址,网卡的mac地址(root用户):

  • 打开命令行终端, 输入命令  vi    /etc/hosts,修改主机名和IP映射;
  •   vi   /etc/sysconfig/network, 修改主机名称
  •  vi   /etc/udev/rules,删掉非本地多余的mac地址,一般是name为eth0的那组,再把name为eth1的网卡信息name改成eth0
  • vi  /etc/udev/rules.d/70-persistent-net.rules   ,修改 网卡配置文件    
  • vi  /etc/sysconfig/network-scripts/ifcfg-eth0,操作包括

 修改Ip、删掉网卡地址、删掉uUID和设置DNS,默认网关为同网段的.2,和谷歌的公共域名8.8.8.8,ping www.baidu.com测试能否上外网。

同时,把另外两个节点的hadoop目录删除,方便第一个节点中重新复制(仅限于克隆虚拟机方法使用)

  • 关闭三台服务器的防火墙和selinux

service iptables stop    --关闭防火墙

chkconfig iptables off   --永久关闭防火墙

vi /etc/sysconfig/selinux   --关闭selinux

 SELINUX=disabled

二、集群中角色分配和NTP同步,配置SSH登录。

1,三台主机名称分别为zpl-hadoop,zpl-hadoop02和zpl-hadoop03.

角色分配

主机名

所属角色

Zpl-hadoop

namenode

datanode

nodemanager

 

Zpl-hadoop02

datanode

resourcemanager

nodemanager

 

Zpl-hadoop03

datanode

nodemanager

secondarynamenode

historyserver

 

 

2,配置NTP时间服务器,使集群中其他节点的时间和NTP服务器时间保持同步和一致性,

通过命令  rm –qa|grep ntpc查看系统中是否安装ntp服务,如果没有则需要安装。

用root用户登录,vi   /etc/ntp.conf,操作如下:

(1) 下面三行注释掉

#server0.centos.pool.ntp.org

#server1.centos.pool.ntp.org

#service ntpd start启动ntp服务,

#chkconfig ntpd on 设置为开机启动

然后配置另外两台主机,和NTP服务器时间保持同步,

用root用户,# crontab -e   

加入下面这行  

*/10 ** * * /usr/sbin/ntpdate zpl-hadoop

#service crond restart 

Crontab–l  查看结果是否成功

3,配置SSH无密钥登录,这样在启动hdfs和yarn的服务时,对应的其他服务器上的服务也能启动,

配置主机

能登录的主机

Zpl-hadoop

Zpl-hadoop

Zpl-hadoop02

Zpl-hadoop03

Zpl-hadoop02

Zpl-hadoop

Zpl-hadoop02

Zpl-hadoop03

 

 

在zpl-hadoop  中root用户下$ ssh-keygen -t rsa 生成密钥,注意生成过程中不输入任何密码,一路回车。Cd  .ssh/目录,将生成的密钥拷贝到本地和其他两台主机中, 

 ssh-copy-id zpl-hadoop02

三,集群节点安装部署:

1,在  etc/hadoop目录下,以下文件需要指定JAVA_HOME为本地JDK安装目录:hadoop-env.sh、 yarn-env.sh、   mapred-env.sh;只配置JAVA_HOME,不需要配置其他。

2,etc/hadoop目录下配置core-site.xml,hdfs-site.xml,yarn-site.xml,mapred-site.xml,在slaves中配置datanode的主机名,配置完zpl-hadoop之后,复制到其他两台服务器上:

core-site.xml:

<configuration>
     <property>
        <name>fs.defaultFS</name>
        <value>hdfs://zpl-hadoop:8020</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/zpl/CDH/hadoop-2.5.0-cdh5.3.6/data</value>
    </property>
</configuration>

hdfs-site.xml:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
	<property>
		<name>dfs.namenode.http-address</name>
		<value>zpl-hadoop:50070</value>
	</property>	
	<property>
		<name>dfs.namenode.secondary.http-address</name>
		<value>zpl-hadoop05:50090</value>
	</property>
</configuration>

mapred-site.xml:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
	<property>
		<name>mapreduce.jobhistory.address</name>
		<value>zpl-hadoop05:10020</value>
	</property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>zpl-hadoop05:19888</value>
    </property>
</configuration>

yarn-site.xml

<configuration>

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>zpl-hadoop04</value>
    </property>
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
	<property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>

</configuration>

slaves:

zpl-hadoop
zpl-hadoop04
zpl-hadoop05


scp   -r   hadoop-2.5.0/        zpl-hadoop02:/home/zpl/software/

启动服务测试

首先在namenode所在的主机上格式化namenode 

    bin/hdfs  namenode  -format

成功后在第一个节点启动hdfs,执行下面的命令,historyserver服务需要单独配置。

     sbin/start-dfs.shsbin/start-yarn.sh
   sbin/mr-jobhistory-daemon.shstart historyserver

在第二个节点启动yarn,命令

sbin/start-yarn.sh

四,集群测试:

主要通过访问web页面查看服务是否启动:

在浏览器地址栏输入namenode所在的主机名:端口号,如   zpl-hadoop:50070,回车,如果进入hadoop页面,说明启动成功。

zpl-hadoop02:8088,如果进入yarn页面,说明yarn启动成功。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值