zoukankan      html  css  js  c++  java
  • Hadoop三种安装模式:单机模式,伪分布式,真正分布式

    Hadoop三种安装模式:单机模式,伪分布式,真正分布式
    一 单机模式standalone
    单机模式是Hadoop的默认模式。当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有3个XML文件均为空。当配置文件为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。


    二 伪分布模式安装
    tar xzvf hadoop-0.20.2.tar.gz
    Hadoop的配置文件:
    conf/hadoop-env.sh  配置JAVA_HOME
    core-site.xml  配置HDFS节点名称和地址
    hdfs-site.xml  配置HDFS存储目录,复制数量
    mapred-site.xml    配置mapreduce的jobtracker地址


    配置ssh,生成密匙,使到ssh可以免密码连接
    (RSA算法,基于因数不对称加密:公钥加密私钥才能解密,私钥加密公钥才能解密)
    cd /root
    ssh -keygen -t rsa
    cd .ssh
    cp id_rsa.pub authorized_keys覆盖公钥,就能免密码连接


    启动Hadoop bin/start-all.sh
    停止Hadoop bin/stop-all.sh




    二 完全分布式模式
    1. 配置etc/hosts文件,使主机名解析为IP  或者使用DNS服务解析主机名
    2. 建立hadoop运行用户: useradd grid>passwd grid
    3. 配置ssh密码连入: 每个节点用grid登录,进入主工作目录,ssh -keygen -t rsa生产公钥,然后将每个节点的公钥复制到同一个文件中,再将这个包含所有节点公钥的文件复制到每个节点authorized_keys目录,这个每个节点之间彼此可以免密码连接
    4. 下载并解压hadoop安装包
    5. 配置namenode,修改site文件
    6. 配置hadoop-env.sh
    7. 配置masters和slaves文件
    8. 向各个节点复制hadoop
    9. 格式化namenode
    10.启动hadoop
    11.用jps检验各后台进程是否成功启动






    vim /etc/hosts
    vim /etc/sysconfig/network
    vim /etc/sysconfig/network-scripts/ifcfg-eth0 
    service network restart 


    service NetworkManager stop
    chkconfig NetworkManager off
    service iptables stop
    chkconfig iptables off
    service ip6tables stop 
    chkconfig ip6tables off
    vim /etc/sysconfig/selinux enforce-->disabled
    setenforce 0
    getenforce 


    useradd hadoop
    passwd hadoop   


    secureCRT生产公钥,将公钥拷贝到/home/hadoop/.ssh下:
    chmod 700 .ssh
    ssh-keygen -i -f PubKey_Master_Hadoop.pub >> authorized_key
    chmod 600 authorized_keys
    vim /etc/ssh/sshd-config 如下:
    RSAAuthentication yes # 启用 RSA 认证
    PubkeyAuthentication yes # 启用公钥私钥配对认证方式
    AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
    PasswordAuthentication no # 禁止密码验证登陆(根据需要,不过一般启用了密钥,就不用密码了)
    service sshd restart
    secureCRT使用PublicKey(PubKey_Master_Hadoop.pub)连接测试


    Master 使用ssh公钥连接Slave:
    挂载光盘,创建yum源:
    vim /etc/fstab
    vim /etc/yum.repos.d/rhel-source.repo
    yum -y install ssh
    yum -y install rsync


    Master host:
    mkdir .ssh
    ssh-keygen –t rsa –P ''
    cat id_rsa.pub >> authorized_keys
    chmod 700 .ssh
    chmod 600 authorized_keys
    ssh localhost
    scp id_rsa.pub hadoop@192.168.175.12:~/,ssh
    ssh 192.168.175.12


    Slave host:
    mkdir .ssh
    cat id_rsa.pub >> authorized_keys
    chmod 700 .ssh
    chmod 600 authorized_keys
    vim /etc/ssh/sshd-config 如上
    service sshd restart


    安装java:拷贝到/usr/hava
    chmod +x jdk-6u37-linux-x64.bin
    vim /etc/profile 添加JAVA_HOME
    source /etc profile
    =================================
    安装hadoop-1.2.0:拷贝到/usr/hadoop-1.2.0,所以者和组修改为hadoop 
    vim /etc/profile: 
    export JAVA_HOME=/usr/java/jdk1.6.0_37
    export HADOOP_HOME=/usr/hadoop-1.2.0
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    source /etc/profile


    配置hadoop-env.sh: 目录:/usr/hadoop/conf
    #export HADOOP_ROOT_LOGGER=DEBUG,console
    export JAVA_HOME=/usr/java/jdk1.6.0_37
    export HADOOP_HOME_WARN_SUPPRESS=1
     
    配置core-site.xml文件:
             <property>
                    <name>hadoop.tmp.dir</name>
                    <value>/usr/hadoop-1.2.0/tmp</value>
                    <description>A base for other temporary directories.</description>
            </property>
    <!-- file system properties -->
            <property>
                    <name>fs.default.name</name>
                    <value>hdfs://192.168.175.11:9000</value>
            </property>


    配置hdfs-site.xml文件:
             <property>
                    <name>dfs.replication</name>
                    <value>1</value>
            </property>
            <property>                 
                    <name>dfs.datanode.max.xcievers</name>   //同时处理文件上限,hbase并发比较大,至少要4096
                    <value>4096</value>
            </property>
            <property>
                    <name>dfs.support.append</name>    //如不指定,在使用HDFS存储的时候,HBase可能会遗失数据
                    <value>true</value>
            </property>


    配置mapred-site.xml文件:
            <property>
                    <name>mapred.job.tracker</name>
                    <value>http://192.168.175.11:9001</value>
            </property>


    配置masters文件:
    master.hadoop或者192.168.175.11
    配置slave文件:
    slave1.hadoop或者192.168.175.12
    slave2.hadoop或者192.168.175.13
    slave3.hadoop或者192.168.175.14


    =================================
    安装hadoop-2.0.5:拷贝到/usr
    tar -zxvf hadoop-2.0.5-alpha.tar.gz
    mv hadoop-2.0.5-alpha /usr/hadoop
    chown -R hadoop:hadoop hadoop
    vim /etc/profile:
    # set hadoop path
    export HADOOP_HOME=/usr/hadoop
    export PATH=$PATH:$HADOOP_HOME:$HADOOP_HOME/bin
    source /etc/profile


    配置hadoop-env.sh: 目录:/usr/hadoop/etc/hadoop
    在末尾添加:export JAVA_HOME=/usr/java/jdk1.6.0_37
    配置yarn-env.sh和 .bash_profile:
    export HADOOP_PREFIX=/usr/hadoop
    export PATH=$PATH:$HADOOP_PREFIX/bin
    export PATH=$PATH:$HADOOP_PREFIX/sbin
    export HADOOP_MAPRED_HOME=${HADOOP_PREFIX}
    export HADOOP_COMMON_HOME=${HADOOP_PREFIX}
    export HADOOP_HDFS_HOME=${HADOOP_PREFIX}
    export YARN_HOME=${HADOOP_PREFIX}
    export HADOOP_CONF_DIR=${HADOOP_FREFIX}/etc/hadoop
    export YARN_CONF_DIR=${HADOOP_FREFIX}/etc/hadoop


    配置core-site.xml文件:
    <configuration>
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/hadoop/tmp</value>        (备注:请先在 /usr/hadoop 目录下建立 tmp 文件夹)
    <description>A base for other temporary directories.</description>
    </property>
    <!-- file system properties -->
    <property>
    <name>fs.default.name</name>
    <value>hdfs://192.168.175.11:9000</value>
    </property>
    </configuration>
    配置hdfs-site.xml文件:修改Hadoop中HDFS的配置,配置的备份方式默认为3。 <configuration> <property> <name>dfs.replication</name> <value>1</value>        (备注:replication 是数据副本数量,默认为3,salve少于3台就会报错) </property>         <property>                 <name>dfs.namenode.name.dir</name>                 <value>file:/home/hadoop/dfs/name</value>                  <final>true</final>         </property>          <property>                 <name>dfs.datanode.data.dir</name>                 <value>file:/home/hadoop/dfs/data</value>                  <final>true</final>         </property> <configuration> 配置mapred-site.xml文件:修改Hadoop中MapReduce的配置文件,配置的是JobTracker的地址和端口。 <configuration> <property> <name>mapred.job.tracker</name> <value>hdfs://192.168.175.11:9001</value> </property> <property>                 <name>mapreduce.framework.name</name>                 <value>yarn</value>         </property>         <property>                 <name>mapred.system.dir</name>                 <value>file:/home/hadoop/mapred/system</value>                 <final>true</final>         </property>         <property>                 <name>mapred.local.dir</name>                 <value>file:/home/hadoop/mapred/local</value>                 <final>true</final>         </property>         <property>                 <name>mapred.job.tracker</name>                 <value>hdfs://192.168.175.11:9001</value>         </property> </configuration> 配置yarn-site.xml: <configuration>          <property>                 <name>yarn.resourcemanager.address</name>                 <value>192.168.175.11:8080</value>         </property>         <property>                 <name>yarn.resourcemanager.scheduler.address</name>                 <value>192.168.175.11:8081</value>         </property>         <property>                 <name>yarn.resourcemanager.resource-tracker.address</name>                 <value>192.168.175.11:8082</value>         </property>         <property>                 <name>yarn.nodemanager.aux-services</name>                 <value>mapreduce.shuffle</value>         </property>         <property>                 <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>                 <value>org.apache.hadoop.mapred.ShuffleHandler</value>         </property>  </configuration> 配置masters文件: master.hadoop或者192.168.175.11 配置slave文件: slave1.hadoop或者192.168.175.12 slave2.hadoop或者192.168.175.13 slave3.hadoop或者192.168.175.14 mkdir -p /usr/hadoop/tmp mkdir -p /home/hadoop/dfs/data mkdir -p /home/hadoop/dfs/name mkdir -p /home/hadoop/mapred/system mkdir -p /home/hadoop/mapred/local 格式化HDFS文件系统:使用hadoop用户,只需格式一次:hadoop namenode -format 开始守护进程 # hadoop-daemon.sh start namenode # hadoop-daemon.sh start datanode 可以同时启动:start-dfs.sh 开始 Yarn 守护进程 # yarn-daemon.sh start resourcemanager # yarn-daemon.sh start nodemanager 或同时启动:start-yarn.sh 检查守护进程是否启动 # jps 将hadoop日志级别改为debug,并且在控制台输出:export HADOOP_ROOT_LOGGER=DEBUG,console

  • 相关阅读:
    JavaScript操作符instanceof揭秘
    Linux打开txt文件乱码的解决方法
    Working copy locked run svn cleanup not work
    poj 2299 UltraQuickSort 归并排序求解逆序对
    poj 2312 Battle City 优先队列+bfs 或 记忆化广搜
    poj2352 stars 树状数组
    poj 2286 The Rotation Game 迭代加深
    hdu 1800 Flying to the Mars
    poj 3038 Children of the Candy Corn bfs dfs
    hdu 1983 Kaitou Kid The Phantom Thief (2) DFS + BFS
  • 原文地址:https://www.cnblogs.com/xzjf/p/7171374.html
Copyright © 2011-2022 走看看