Hadoop分布式环境搭建

一、搭建分布式集群

三台主机:Master   Worker1     Worker2   

1.克隆虚拟机,至少3台达到分布式的效果
    克隆完后,需分别配置网络和映射

2.新建一个目录搭建集群
    mkdir app

3.解压Hadoop安装包和安装JDK 
    *-env.sh文件配置:
        export JAVA_HOME=/opt/modules/jdk1.7.0_67

4.创建目录$ mkdir -p data/tmp
    设置目录权限 sudo chown -R hadoop:hadoop app/

5.配置core-site.xml
      <property>
            <name>fs.defaultFS</name>
            <value>hdfs://Master:8020</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/app/hadoop-2.5.0/data/tmp</value>
        </property>

6.配置hdfs-site.xml
     <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>Worker2:50090</value>
        </property>

7.配置slaves

        IP地址 Master
        IP地址 Worker1
        IP地址 Worker2

8.配置yarn-site.xml
    <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>

        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>Worker1</value>
        </property>

        <property>
            <name>yarn.log-aggregation-enable</name>
            <value>true</value>
        </property>

        <property>
            <name>yarn.log-aggregation.retain-seconds</name>
            <value>106800</value>
        </property>

9.配置mapred-site.xml
    <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>

        <property>
            <name>mapreduce.jobhistory.address</name>
            <value>Master:10020</value>
        </property>

        <property>
            <name>mapreduce.jobhistory.webapp.address</name>
            <value>Master:19888</value>
        </property>

10.删除Hadoop安装包下的share/doc目录,减少拷贝过程的时间

11.通过远程拷贝将安装主目录的配置文件信息分发到各个节点上去,分发前要在各个节点创建目录
    scp -r hadoop-2.5.0/ Worker1:/opt/app/
    scp -r hadoop-2.5.0/ Worker1:/opt/app/

    在分发之前要在相应的主机上创建相应的目录,并设置权限

12.格式化namenode
    $ bin/hdfs namenode -format

13.启动HDFS模块:
    $ sbin/hadoop-daemon.sh start namenode   主节点启动
    $ sbin/hadoop-daemon.sh start datanode   主节点启动、各个子节点启动
    $ sbin/hadoop-daemon.sh start secondarynamenode   第二个子节点启动

14.查看集群的ID,集群的ID是唯一的,需要都相同
    more data/tmp/dfs/data/current/VERSION

        clusterID=CID-4541b2fa-73b5-4dcc-b2f4-e71382c695f3
        clusterID=CID-4541b2fa-73b5-4dcc-b2f4-e71382c695f3
        clusterID=CID-4541b2fa-73b5-4dcc-b2f4-e71382c695f3

15.测试HDFS文件系统创建、上传、读取

16.启动YARN模块
        $ sbin/yarn-daemon.sh start resourcemanager  第一节点启动
        $ sbin/yarn-daemon.sh start nodemanager    各个节点都启动

17.启动历史服务器
        $ sbin/mr-jobhistory-daemon.sh start historyserver   主节点启动

二、配置ssh无秘钥登录

cd /home/hadoop/.ssh  进入到ssh目录
rm -rf ./*     删除目录下的所有文件
ssh-keygen -t rsa    生成公钥和私钥
ssh-copy-id Master   将公钥分发到各个节点
ssh Master    测试是否配置成功

三、集群时间同步

1、集群节点之间要求时间同步

2、在内网中,无法连接互联网,所以在集群中找一台机器作为时间服务器

3、集群中的其他所有机器都跟这台时间服务器进行时间同步

4、$ sudo rpm -qa | grep ntp

5、查看时间服务的服务
    $ sudo service ntpd status
    启动:$ sudo service ntpd start

6、设置开机启动时间服务器服务
    $ sudo chkconfig ntpd on

7.修改配置文件
    sudo vi /etc/ntp.conf

    修改为自己的网段: 
    # Hosts on local network are less restricted.
    #restrict IP地址 mask 255.255.255.0 nomodify notrap
    将这三行打上#注释掉
    #server 0.centos.pool.ntp.org
    #server 1.centos.pool.ntp.org
    #server 2.centos.pool.ntp.org
    将前面的注释去掉
    server  127.127.1.0     # local clock
    fudge   127.127.1.0 stratum 10
    修改完后重启服务:
    $ sudo service ntpd restart    

8.写Linux定时任务:每十分钟执行同步一次
    crontab -e

    ##sync time
    0-59/10 * * * * /usr/sbin/ntpdate Master

9.重启服务
    service crond restart

10.执行时间同步
    $ sudo /usr/sbin/ntpdate Master

11.同步系统与BIOS系统时间同步
    $ sudo vi /etc/sysconfig/ntpd

    添加: SYNC_HWCLOCK=yes

12.在启动服务之后的3-5分钟才能使用时间同步命令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泪痕残

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值