zoukankan      html  css  js  c++  java
  • 分布式文件系统部署Hadoop【转载】

    分布式文件系统部署-Hadoop【转载】

    在Hadoop部署的分布式文件系统中有4种角色:namenode,datanode,jobtracker,tasktracker。
    Namenode和Jobtracker属于Master角色,Datanode和Tasktracker属于Slaver角色。
    Namenode和Datanode用于分布式存储,JobTracker和Tasktracker用于分布式计算。
    这里我们不需要用到分布式计算,故忽略分布式计算的配置和部署。Hadoop有两种部署方式:
    1)方式1:master和slave独立启动,master无需访问slave;(这种方式最简单)
    2)方式2:master统一管理,master需取得slave的受信访问权限;

    Master和Slave独立启动部署方式
    1)在master和slave中下载hadoop并解压,这里假设hadoop版本为hadoop-0.20.0,解压目录统一为/home/hadoop/hadoop-0.20.0;
    hadoop-0.20.0需要1.6以上版本的JDK支持;

    2)在master和slave上修改conf/hadoop-env.sh文件:

    # The java implementation to use. Required.
    export JAVA_HOME=/usr/java/jdk1.6.0_14

    3)在master和slave上修改conf/core-site.xml,192.169.100.164是Namenode IP

    <configuration>
    <property>
       <name>fs.default.name</name>
       <value>hdfs://192.169.100.164:9000/</value>
    </property>
    <configuration>

    4)在master上修改conf/hdfs-site.xml

    <configuration>
    <property>
       <name>dfs.replication</name>
       <value>1</value>
    </property>
    <property>
    <name>dfs.permissions</name>
    <value>false</value>
    </property>
    </configuration>


    5)格式化Namenode
    在master执行:
    Shell>bin/hadoop namenode –format

    6)启动Namenode
    在master上执行:
    Shell>bin/hadoop namenode

    7)启动Datanode
    在各slave上执行:
    Shell>bin/hadoop datanode

    Master统一管理部署方式
    一台为主(Master),三台为从(Slave)做例子!
    1)在4台上建立相同用户
    2)在4台上建立相同目录
    3)下载hadoop解压到所有机的相同目录
    4)根据4台机jdk的路径,修改各自的配置hadoop-env.sh
    export JAVA_HOME=/usr/ali/jdk1.5.0_10
    5)修改Master配置文件hadoop-site.xml,将master的hadoop-site.xml拷贝到各slave

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <!-- Put site-specific property overrides in this file. -->
    <configuration>
    <property>
       <name>fs.default.name</name>//你的namenode的配置,机器名加端口
       <value>hdfs://192.169.100.164:9000/</value>
    </property>
    <property>
       <name>mapred.job.tracker</name>//JobTracker的配置,机器名加端口
       <value>hdfs://192.169.100.164:9001/</value>
    </property>
    <property>
       <name>dfs.replication</name>//数据需要备份的数量,默认是三
       <value>1</value>
    </property>
    <configuration>
    6)修改Master中的masters文件,如:
       192.169.100.164
    7) 修改Master中slaves文件,一行一个ip,如:
    192.169.100.11
    192.169.100.12
    192.169.100.13
    8)建立Master到每一台Slave的ssh受信证书,如果需要反向控制则需建立Slave到Master的受信书
    Master和所有的Slave机器上执行:ssh-keygen -t rsa。执行此命令的时候,看到提示只需要回车。然后就会在/root/.ssh/下面产生id_rsa.pub的证书文件,通过scp将Master机器上的这个文件拷贝到Slave上(记得修改名称),例如:scp root@masterIP:/root/.ssh/id_rsa.pub /root/.ssh/46_rsa.pub,然后执行cat /root/.ssh/46_rsa.pub >>/root/.ssh/authorized_keys,建立authorized_keys文件即可,可以打开这个文件看看,也就是 rsa的公钥作为key,user@IP作为value。
    9)在Master上执行hadoop namenode –format
    10)执行Master上的start-all.sh启动
    11)如果需要关闭,那么就直接执行stop-all.sh即可。

    Hadoop
    HomePage:
    http://hadoop.apache.org/
    http://hadoop.apache.org/core/
    http://hadoop.apache.org/hbase/
    SetUp:
    http://hadoop.apache.org/core/docs/current/cluster_setup.html

    本文章转载于:http://harrywu304.blog.163.com/blog/static/8456603200991412612607/ 谢谢博主分享

  • 相关阅读:
    整数的位数,及反转
    判断1~n有多少个1
    C语言常用字符串函数
    C语言类型转换原理
    printf()函数压栈a++与++a的输出
    49 丑数( 时间空间效率的平衡)
    42 连续子数组的最大和(时间效率)
    41 数据流中的中位数(时间效率)
    40 最小的K个数(时间效率)
    一、简介 ELO商户类别推荐有助于了解客户忠诚度
  • 原文地址:https://www.cnblogs.com/itgg168/p/2793162.html
Copyright © 2011-2022 走看看