zoukankan      html  css  js  c++  java
  • hadoop 集群配置

    hadoop是一个能够对大量数据进行分布式处理的软件框架,实现了Google的MapReduce编程模型和框架,能够把应用程序分割成许多的 小的工作单元,并把这些单元放到任何集群节点上执行。在MapReduce中,一个准备提交执行的应用程序称为“作业(job)”,而从一个作业划分出 得、运行于各个计算节点的工作单元称为“任务(task)”。此外,Hadoop提供的分布式文件系统(HDFS)主要负责各个节点的数据存储,并实现了 高吞吐率的数据读写。

      在分布式存储和分布式计算方面,Hadoop都是用从/从(Master/Slave)架构。在一个配置完整的集群上,想让Hadoop这头大 象奔跑起来,需要在集群中运行一系列后台(deamon)程序。不同的后台程序扮演不用的角色,这些角色由NameNode、DataNode、 Secondary NameNode、JobTracker、TaskTracker组成。其中NameNode、Secondary  NameNode、JobTracker运行在Master节点上,而在每个Slave节点上,部署一个DataNode和TaskTracker,以便 这个Slave服务器运行的数据处理程序能尽可能直接处理本机的数据。对Master节点需要特别说明的是,在小集群中,Secondary  NameNode可以属于某个从节点;在大型集群中,NameNode和JobTracker被分别部署在两台服务器上。

    master配置

     /usr/local/hadoop/conf下:

    修改 masters 文件为:  master

    修改slaves 文件为:(本人有2从)

    slave1

    slave2

    修改 core-site.xml 文件:

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

    <!-- Put site-specific property overrides in this file. -->

    <configuration>
      <property>#临时文件目录
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/src/hadoop/tmp</value>
      </property>
      <property>#namenode配置
        <name>fs.default.name</name>
        <value>hdfs:://192.168.157.64:9000</value>
      </property>
    </configuration>

    修改mapred-site.xml文件  mapreduce的jobtracker

    <property>
      <name>mapred.job.tracker</name>
      <value>http:://192.168.157.64:9001</value>
    </property>

    修改hdfs-site.xml   数据在hdfs存储的副本数(默认是3)

     <property>
      <name>hdfs.replication</name>
      <value>3</value>
    </property>

    修改hadoop-env.sh

    在最后一行添加 (自己的java目录)

    export JAVA_HOME=/usr/local/src/jdk1.6.0_45 

    修改/etc/hosts文件

    master_ip   master

    slave_ip   slave

    修改/etc/sysconfig/network

    NETWORKING=yes

    HOSTNAME=master

     复制master的hadoop目录到自己的slave

    scp -rp hadoop 192.168.XX.XX:/usr/local/src/ 

    中途需要确认链接、输入salve的root密码

    修改slave的/etc/hosts、/etc/sysconfig/network

    关闭防火墙、selinux

    /etc/init.d/iptables stop

    setenforce 0   (检查 getenforce   输出Permissive)

    建立互通链接

    ssh-keygen  一路确定

    cd ~/.ssh     进入隐藏文件

    master  执行  cat id_rsa.pub > authorized_keys

    复制 slave 下的 slave 的公钥(id_rsa.pub)到master的authorized_keys

    master 下执行 

    scp -rp authorized_keys root@slave:~/.ssh/

    master 执行

    cd /usr/local/src/hadoop/bin/

    ./hasoop namenode -format   初始化namenode

    ./start-all.sh     动起来

    使用jps查看

    如果   bash: jps: command not found...  

     vim /etc/profile 在最后一行写上

    PATH="/usr/local/src/jdk1.6.0_45/bin:$PATH"

    /usr/local/src/jdk1.6.0_45/bin  自己的java

    source /etc/profile

    jps

  • 相关阅读:
    题解 UVA10213 【How Many Pieces of Land ?】
    NOIP 2018 游记
    POJ 1821 Fence(单调队列优化DP)
    HDU 2196 Computer(经典树形DP)
    POJ 2228 Naptime(DP+环形处理)
    POJ 1742 Coins(多重背包?)
    POJ 2311 Cutting Game(SG函数)
    BZOJ 2560(子集DP+容斥原理)
    HDU2841 Visible Trees(容斥原理)
    HDU 1796 How many integers can you find(容斥原理)
  • 原文地址:https://www.cnblogs.com/aifengguo/p/7398389.html
Copyright © 2011-2022 走看看