欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

ubantu 16.4 Hadoop 完全分布式搭建

程序员文章站 2022-05-16 10:02:42
一个虚拟机 1.以 NAT网卡模式 装载虚拟机 2.最好将几个用到的虚拟机修改主机名,静态IP /etc/network/interface,这里 是 s101 s102 s103 三台主机 ubantu,改/etc/hostname文件 3.安装ssh 在第一台主机那里s101 创建公私密匙 ss ......

一个虚拟机 

  •   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
  • ubantu  16.4   Hadoop 完全分布式搭建
  • 进入网页  

  • ubantu  16.4   Hadoop 完全分布式搭建

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

中间出现了很多问题  

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

  2.学会看日志  log