zoukankan      html  css  js  c++  java
  • ubantu 16.4 Hadoop 完全分布式搭建

    一个虚拟机 

    •   1.以  NAT网卡模式   装载虚拟机
    •   2.最好将几个用到的虚拟机修改主机名,静态IP     /etc/network/interface,这里 是 s101 s102  s103 三台主机 ubantu,改/etc/hostname文件
    •   3.安装ssh  
      •   在第一台主机那里s101 创建公私密匙  
        •   ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
        • >cd .ssh
        • >cp id_rsa.pub >authorized_keys  创建密匙库
        • 将id_rsa.pub传到其他主机上,到.ssh目录下
          1. 通过  服务端  nc -l 8888 >~/.ssh/authorized_keys
          2. 客户端  nc s102 8888 <id_rsa.pub

    开始安装Hadoop/jdk

    1. 安装VM-tools  方便从win 10 拖拉文件到ubantu
    2. 创建目录   /soft
    3. 改变组  chown ubantu:ubantu /soft  方便传输文件有权限
    4. 将文件放入到/soft   (可以从桌面cp/mv src dst)
      • tar -zxvf jdk或hadoop 自动创建解压目录
      • 配置安装环境 (/etc/environment)
        1. 添加  JAVA_HOME=/soft/jdk-...jdk目录
        2. 添加   HADOOP_HOME=/soft/hadoop(Hadoop目录)
        3. 在path里面加/soft/jdk-...jdk/bin:/soft/hadoop/bin/:/soft/hadoop/sbin
        4. 通过  java -version   查看有版本号  成功
        5. hadoop version  有版本号  成功

      开始配置HDFS四大文件   core-site.xml     hdfs-site.xml    mapred-site.xml   yarn-site.xml

    1. core-site.xml 
    <configuration>
      <property>
          <name>fs.defaultFS</name>
          <value>hdfs://s101:9000</value>
      </property>
    
    </configuration>

    2.hdfs-site.xml

    <configuration>
    <!-- Configurations for NameNode: -->
    <property>
      <name>dfs.replication</name>
      <value>2</value>
    </property>
    
    <property>
      <name>dfs.namenode.name.dir</name>
      <value>file:/data/hdfs/name</value>
    </property>
    
    <property>
      <name>dfs.datanode.data.dir</name>
      <value>file:/data/hdfs/data</value>
    </property>
    
    <property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>s101:50090</value>
    </property>
    
    <property>
      <name>dfs.namenode.http-address</name>
      <value>s101:50070</value>
      <description>
        The address and the base port where the dfs namenode web ui will listen on.
        If the port is 0 then the server will start on a free port.
      </description>
    </property> 
    
    <property>
      <name>dfs.namenode.checkpoint.dir</name>
      <value>file:/data/hdfs/checkpoint</value>
    </property>
    
    <property>
      <name>dfs.namenode.checkpoint.edits.dir</name>
      <value>file:/data/hdfs/edits</value>
    </property>
    </configuration>

    3.  mapred-site.xml

    <configuration>
      <property>
           <name>mapreduce.framework.name</name>
           <value>yarn</value>
       </property>
    </configuration>

    4.yarn-site.xml

    <configuration>
    
    <!-- Site specific YARN configuration properties -->
      <property>
              <name>yarn.nodemanager.aux-services</name>
              <value>mapreduce_shuffle</value>
      </property>
      <property>
              <name>yarn.resourcemanager.hostname</name>
              <value>s101</value>
      </property>
    </configuration>

    到此成功一半。。。。。。。。。。。。。。

    创建文件夹

    mkdir /data/hdfs/tmp
    mkdir /data/hdfs/var
    mkdir /data/hdfs/logs
    mkdir /data/hdfs/dfs
    mkdir /data/hdfs/data
    mkdir /data/hdfs/name
    mkdir /data/hdfs/checkpoint
    mkdir /data/hdfs/edits

    记得将目录权限修改

    • sudo chown ubantu:ubantu /data

    接下来传输 /soft文件夹到其他主机

    创建 xsync可执行文件

    1. sudo touch xsync
    2. sudo chmod 777 xsync   权限变成可执行文件
    3. sudo  nano xsync 
    4. #!/bin/bash
      pcount=$#
      if((pcount<1));then
          echo no args;
          exit;
      fi
      
      p1=$1;
      fname=`basename $p1`
      pdir=`cd -P $(dirname $p1);pwd`
      
      cuser=`whoami`
      for((host=102 ; host<105 ;host=host+1));do
          echo --------s$host--------
          rsync -rvl $pdir/$fname $cuser@s$host:$pdir
      done
    5. xsync /soft-------->就会传文件夹到其他主机
    6. xsync /data

    创建  xcall 向其他主机传命令

    #!/bin/bash
    pcount=$#
    if((pcount<1));then
        echo no args;
        exit;
    fi
    echo --------localhost--------
    
    $@
    for ((host=102;host<105;host=host+1));do
        echo --------$shost--------
        ssh s$host $@
    done

    别着急  快结束了  哈

    还得配置 workers问价

    • 将需要配置成数据节点(DataNode)的主机名放入其中,一行一个

    注意重点来了

    • 先格式化    hadoop -namenode -format
    • 再 启动   start-all.sh
    • 查看进程   xcall  jps
    • 进入网页  

    • 是不是很想牛泪,成功了耶!!!

    中间出现了很多问题  

      1, rsync 权限不够   :删除文件夹   更改文件夹权限chown

      2.学会看日志  log

  • 相关阅读:
    寒假学习第九天
    寒假学习第八天
    寒假学习第七天
    寒假学习第六天
    input框输入金额限制
    jsp页面截取字符串,显示指定长度
    循环随机变更数据库表中某个字段的值为指定的值
    jQuery MD5加密实现代码
    jquery $(document).ready() 与window.onload的区别
    node,不懂不懂
  • 原文地址:https://www.cnblogs.com/wbdream/p/9824229.html
Copyright © 2011-2022 走看看