• 新闻实时分析系统-Hadoop2.X分布式集群部署


    (一)hadoop2.x版本下载及安装

    Hadoop 版本选择目前主要基于三个厂商(国外)如下所示:

    1.基于Apache厂商的最原始的hadoop版本, 所有发行版均基于这个版本进行改进。

    2.基于HortonWorks厂商的开源免费的hdp版本。

    3.基于Cloudera厂商的cdh版本,Cloudera有免费版和企业版, 企业版只有试用期。不过cdh大部分功能都是免费的。

    (二)hadoop2.x分布式集群配置

    1.集群资源规划设计

     

    2.hadoop2.x分布式集群配置

    1)hadoop2.x分布式集群配置-HDFS

    安装hdfs需要修改4个配置文件:hadoop-env.sh、core-site.xml、hdfs-site.xml和slaves

    2)hadoop2.x分布式集群配置-YARN

    安装yarn需要修改4个配置文件:yarn-env.sh、mapred-env.sh、yarn-site.xml和mapred-site.xml

    (三)分发到其他各个机器节点

    hadoop相关配置在第一个节点配置好之后,可以通过脚本命令分发给另外两个节点即可,具体操作如下所示。

    #将安装包分发给第二个节点

    scp -r hadoop-2.5.0 kaf@bigdata-pro02.kfk.com:/opt/modules/

    #将安装包分发给第三个节点

    scp -r hadoop-2.5.0 kaf@bigdata-pro02.kfk.com:/opt/modules/

    (四)HDFS启动集群运行测试

    hdfs相关配置好之后,可以启动hdfs集群。

    1.格式化NameNode

    通过命令:bin/hdfs namenode -format 格式化NameNode。

    2.启动各个节点机器服务

    1)启动NameNode命令:sbin/hadoop-daemon.sh start namenode

    2) 启动DataNode命令:sbin/hadoop-daemon.sh start datanode

    3)启动ResourceManager命令:sbin/yarn-daemon.sh start resourcemanager

    4)启动NodeManager命令:sbin/yarn-daemon.sh start resourcemanager

    5)启动log日志命令:sbin/mr-jobhistory-daemon.sh start historyserver

    (五)YARN集群运行MapReduce程序测试

    前面hdfs和yarn都启动起来之后,可以通过运行WordCount程序检测一下集群是否能run起来。

    集群自带的WordCount程序执行命令:bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount input output

    (六)ssh无秘钥登录

    在集群搭建的过程中,需要不同节点分发文件,那么节点间分发文件每次都需要输入密码,比较麻烦。另外在hadoop 集群启动过程中,也需要使用批量脚本统一启动各个节点服务,此时也需要节点之间实现无秘钥登录。具体操作步骤如下所示:

    1.主节点上创建 .ssh 目录,然后生成公钥文件id_rsa.pub和私钥文件id_rsa

    mkdir .ssh

    ssh-keygen -t rsa

    2.拷贝公钥到各个机器

    ssh-copy-id bigdata-pro1.kfk.com

    ssh-copy-id bigdata-pro2.kfk.com

    ssh-copy-id bigdata-pro3.kfk.com

    3.测试ssh连接

    ssh bigdata-pro1.kfk.com

    ssh bigdata-pro2.kfk.com

    ssh bigdata-pro3.kfk.com

    4.测试hdfs

    ssh无秘钥登录做好之后,可以在主节点通过一键启动命令,启动hdfs各个节点的服务,具体操作如下所示:

    sbin/start-dfs.sh

    如果yarn和hdfs主节点共用,配置一个节点即可。否则,yarn也需要单独配置ssh无秘钥登录。

    (七)配置集群内机器时间同步(使用Linux ntp进行)

    选择一台机器作为时间服务器,比如bigdata-pro1.kfk.com节点。

    1.查看ntp服务是否已经存在

    sudo rpm -qa|grep ntp

    2.ntp服务相关操作

    1)查看ntp状态

    sudo service ntpd status

    2)启动ntp

    sudo service ntpd start

    3)关闭ntp

    sudo service ntpd stop

    3.设置ntp随机器启动

    sudo chkconfig ntpd on

    4.修改ntp配置文件

    vi /etc/ntp.conf

    #释放注释并将ip地址修改为

    restrict 192.168.31.151 mask 255.255.255.0 nomodify notrap

    #注释掉以下命令行

    server 0.centos.pool.ntp.org iburst

    server 1.centos.pool.ntp.org iburst

    server 2.centos.pool.ntp.org iburst

    server 3.centos.pool.ntp.org iburst

    #释放以下命令行

    server 127.127.1.0 #local clock

    fudge 127.127.1.0 stratum 10

    重启ntp服务

    sudo service ntpd restart

    5.修改服务器时间

    #设置当前日期

    sudo date -s 2017-06-16

    #设置当前时间

    sudo date -s 22:06:00

    6.其他节点手动同步主服务器时间

    #查看ntp位置

    which ntpdate

    /usr/sbin/ntpdate

    1)手动同步bigdata-pro2.kfk.com节点时间

    sudo /usr/sbin/ntpdate bigdata-pro2.kfk.com

    2)手动同步bigdata-pro3.kfk.com节点时间

    sudo /usr/sbin/ntpdate bigdata-pro3.kfk.com

    7.其他节点定时同步主服务器时间

    bigdata-pro2.kfk.com和bigdata-pro3.kfk.com节点分别切换到root用户, 通过crontab -e 命令,每10分钟同步一次主服务器节点的时间。

    crontab -e

    #定时,每隔10分钟同步bigdata-pro1.kfk.com服务器时间

    0-59/10 * * * *  /usr/sbin/ntpdate bigdata-pro1.kfk.com

  • 相关阅读:
    css选择器学习(二)属性选择器
    css选择器学习(一)
    css引用优先级
    canvas制图学习
    cookie,localStorage,sessionStorage
    HTTP协议中get和post的区别
    台灯发展史
    Object类实现的方法
    react学习网站
    什么是接口测试,接口测试的目的,如何进行接口测试
  • 原文地址:https://www.cnblogs.com/misliu/p/10911272.html
Copyright © 2020-2023  润新知