zoukankan      html  css  js  c++  java
  • 64bit Centos6.4搭建hadoop-2.5.1

    64bit Centos6.4搭建hadoop-2.5.1

    1、分布式环境搭建

      採用4台安装Linux环境的机器来构建一个小规模的分布式集群。

            当中有一台机器是Master节点,即名称节点,另外三台是Slaver节点,即数据节点。这四台机器彼此间通过路由器相连,从而实验相互通信以及传输数据。

    2、集群机器具体信息

      2.1 hadoop版本号:

        2.5.1

      2.2 masterserver

    具体信息

    机器名称

    Hamster

    IP

    192.168.1.193

    USER

    hadoop

    PASSWORD

    ****


      2.3 slave1server

    具体信息

    机器名称

    slave1

    IP

    192.168.1.194

    USER

    hadoop

    PASSWORD

    ****

      2.4 slave2server

    具体信息

    机器名称

    slave2

    IP

    192.168.1.194

    USER

    hadoop

    PASSWORD

    ****

      2.5 slave3server

    具体信息

    机器名称

    slave3

    IP

    192.168.1.195

    USER

    hadoop

    PASSWORD

    ****

     

    3、SSH无password验证配置

        Hadoop执行过程中须要管理远端Hadoop守护进程,在Hadoop启动以后,NameNode是通过SSH(Secure Shell)来启动和停止各个DataNode上的各种守护进程的。这就必须在节点之间执行指令的时候是不须要输入password的形式,故我们须要配置SSH运用 无password公钥认证的形式,这样NameNode使用SSH无password登录并启动DataName进程,相同原理,DataNode上也能使用SSH无password登录到 NameNode。

      3.1 安装和启动SSH协议

        安装ssh和rsync

        yum install openssh.x86_64 openssh-clients.x86_64 安装SSH协议
        yum install rsync (rsync是一个远程数据同步工具。可通过LAN/WAN高速同步多台主机间的文件)
        service sshd restart 启动服务
      3.2 配置Master无password登录全部Salve

        1)这条命是生成其无password密钥对,询问其保存路径时直接回车採用默认路径。生成的密钥对:id_rsa和id_rsa.pub。默认存储在"/home/hadoop/.ssh"文件夹下    

        ssh-keygen -t rsa -P ''

         2)接着在Master节点上做例如以下配置。把id_rsa.pub追加到授权的key里面去。

        cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

        3)改动权限

        chmod -R 700 .ssh
        chmod 600 .authorized_keys

        4)改动SSH配置文件"/etc/ssh/sshd_config"的下列内容

         RSAAuthentication yes # 启用 RSA 认证
         PubkeyAuthentication yes # 启用公钥私钥配对认证方式
         AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
         service sshd restart
    

        5)验证localhost能否够无password登录 

         ssh localhost

        6)配置slave无password登录。把公钥复制全部的Slave机器上

         scp ~/.ssh/id_rsa.pub hadoop@192.168.1.194:~/(将id_rsa.pub拷贝到slave机器上面)
         mkdir ~/.ssh(创建.ssh)
         chmod 700 ~/.ssh
         cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
         chmod 660 ~/.ssh/authorized keys
    

         7) 运行第4-5步骤

    4、jdk的安装

      配置全部机器jdk

      下载jdk,减压到文件夹以下,配置jdk环境

        vi /etc/profile
        #set java environment
        export JAVA_HOME=/opt/jdk1.7.0_51/
        export JRE_HOME=/opt/jdk1.7.0_51/jre
        exportCLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
        export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
        source /etc/profile

    5、Hadoop集群安装

      全部的机器上都要安装hadoop,如今就先在Masterserver安装。然后其它server依照步骤反复进行就可以。安装和配置hadoop须要以"root"的身份进行。

      5.1 安装hadoop

        下载hadoop-2.5.1.tar.gz

        减压成/opt/hadoop

      5.2配置hadoop到环境变量中

        vi /etc/profile
        # set hadoop path
        export HADOOP_HOME=/opt/hadoop
        export PATH=$PATH :$HADOOP_HOME/bin
        source /etc/profile


    5.3 配置下面7个文件

    ~/opt/hadoop/etc/hadoop/hadoop-env.sh
    ~/opt/hadoop/etc/hadoop/yarn-env.sh
    ~/opt/hadoop/etc/hadoop/slaves
    ~/opt/hadoop/etc/hadoop/core-site.xml
    ~/opt/hadoop/etc/hadoop/hdfs-site.xml
    ~/opt/hadoop/etc/hadoop/mapred-site.xml
    ~/opt/hadoop/etc/hadoop/yarn-site.xml

    以上个别文件默认不存在的,能够复制对应的template文件获得。

    配置文件1:hadoop-env.sh

    改动JAVA_HOME值(export JAVA_HOME=/opt/jdk1.7.0_51/)

    配置文件2:yarn-env.sh

    改动JAVA_HOME值(exportJAVA_HOME=/opt/jdk1.7.0_51/)

    配置文件3:slaves (这个文件中面保存全部slave节点)

    写入下面内容:
    slave1
    slave2
    slave3
    配置文件4:core-site.xml
    <configuration>
      <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
      </property>
      <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hmaster:9000</value>
      </property>
      <property>
        <name>io.file.buffer.size</name>
        <value>4096</value>
      </property>
    </configuration>
    
    配置文件5:hdfs-site.xml
    <configuration>
      <property>
        <name>dfs.nameservices</name>
        <value>hadoop-cluster1</value>
      </property>
      <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hmaster:9001</value>
      </property>
      <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///opt/hadoop/dfs/name</value>
      </property>
      <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///opt/hadoop/dfs/data</value>
      </property>
      <property>
        <name>dfs.replication</name>
        <value>3</value>
      </property>
      <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
      </property>
    </configuration>
    

    配置文件6:mapred-site.xml

    <configuration>
      <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
      </property>
      <property>
        <name>mapreduce.jobtracker.http.address</name>
        <value>hmaster:50030</value>
      </property>
      <property>
        <name>mapreduce.jobhistory.address</name>
        <value>hmaster:10020</value>
      </property>
      <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hmaster:19888</value>
      </property>
    </configuration>
    

    配置文件7:yarn-site.xml

    <configuration>
      <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>
      <property>
        <name>yarn.resourcemanager.address</name>
        <value>hmaster:8032</value>
      </property>
      <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>hmaster:8030</value>
      </property>
      <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>hmaster:8031</value>
      </property>
      <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>hmaster:8033</value>
      </property>
      <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>hmaster:8088</value>
      </property>
    </configuration>
    

    5.4、拷贝到其它slave

    scp -r /opt/hadoop root@slave1:/opt
    scp -r /opt/hadoop root@slave2:/opt
    scp -r /opt/hadoop root@slave3:/opt

    5.5、启动验证

      启动hadoop

      进入安装文件夹: cd  /opt/hadoop

      格式化namenode:./bin/hdfs namenode –format

      启动hdfs: ./sbin/start-dfs.sh

      使用jps查看,

      此时在hmaster上面执行的进程有:namenode secondarynamenode

      slave1/2/3上面执行的进程有:datanode

      启动yarn: ./sbin/start-yarn.sh

      使用jps查看,

      此时在hmaster上面执行的进程有:namenode secondarynamenode resourcemanager

      slave1/2/3上面执行的进程有:datanode nodemanager

      查看集群状态:./bin/hdfs dfsadmin –report

      查看文件块组成:  ./bin/hdfsfsck / -files -blocks

      查看HDFS:    http://16.187.94.161:50070

      查看RM:    http:// 16.187.94.161:8088


  • 相关阅读:
    PyCharm 激活方法
    Android Studio 如何启动自身模拟器来调试(一般人我不告诉他)
    Android 打造一款逼格高的圆形图片
    Android Observer观察模式基础入门
    Android OkHttp3(完美封装)Get异步获取数据、Post异步获取数据、Form表单提交、文件下载
    Kotlin学习资料
    Android 导入外部字体的完美解决方案
    Android 开发者福利Google Developers中国网站发布
    Android 自定义弹出框 EditText获取光标后键盘遮挡,及初始化弹出键盘问题解决
    Android ListView动态设置高度
  • 原文地址:https://www.cnblogs.com/yangykaifa/p/6943953.html
Copyright © 2011-2022 走看看