ubantu 16.4下Hadoop完全分布式搭建实战教程

前言

本文主要介绍了关于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目录下

          通过  服务端  nc -l 8888 >~/.ssh/authorized_keys

          客户端  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

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可执行文件

sudo touch xsync

sudo chmod 777 xsync   权限变成可执行文件

sudo  nano xsync

#!/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

xsync /soft-------->就会传文件夹到其他主机

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • hadoop的wordcount实例代码

    可以通过一个简单的例子来说明MapReduce到底是什么: 我们要统计一个大文件中的各个单词出现的次数.由于文件太大.我们把这个文件切分成如果小文件,然后安排多个人去统计.这个过程就是"Map".然后把每个人统计的数字合并起来,这个就是"Reduce". 上面的例子如果在MapReduce去做呢,就需要创建一个任务job,由job把文件切分成若干独立的数据块,并分布在不同的机器节点中.然后通过分散在不同节点中的Map任务以完全并行的方式进行处理.MapReduce会

  • Hadoop中namenode和secondarynamenode工作机制讲解

    1)流程 2)FSImage和Edits nodenode是HDFS的大脑,它维护着整个文件系统的目录树,以及目录树里所有的文件和目录,这些信息以俩种文件存储在文件系统:一种是命名空间镜像(也称为文件系统镜像,File System Image,FSImage),即HDFS元数据的完整快照,每次NameNode启动的时候,默认会加载最新的命名空间镜像,另一种是命令空间镜像的编辑日志(Edit log). FSImage文件其实是文件系统元数据的一个永久性检查点,但并非每一个写操作都会更新这个文件

  • Hadoop之NameNode Federation图文详解

    一. 前言 1.NameNode架构的局限性 (1)Namespace(命名空间)的限制 由于NameNode在内存中存储所有的元数据(metadata),因此单个NameNode所能存储的对象(文件+块)数目受到NameNode所在JVM的heap size的限制.50G的heap能够存储20亿(200million)个对象,这20亿个对象支持4000个DataNode,12PB的存储(假设文件平均大小为40MB).随着数据的飞速增长,存储的需求也随之增长.单个DataNode从4T增长到36

  • 在CentOS中搭建Hadoop的详细步骤

    搭建说明:第一次搭建 Hadoop 的小伙伴,请严格按照文章中的软件环境和步骤搭建,不一样的版本都可能会导致问题. 软件环境: 虚拟机:VMware Pro14 Linux:CentOS-6.4(下载地址,下载DVD版本即可) JDK:OpenJDK1.8.0 (强力建议不要使用 Oracle 公司的 Linux 版本的 JDK) Hadoop:2.6.5(下载地址) 虚拟机的安装和Linux系统的安装这里就省略了,可以参照网上的教程安装,一般没什么大问题,需要注意的是记住这里你输入的用户密码,

  • Hadoop 2.x与3.x 22点比较,Hadoop 3.x比2.x的改进

    问题导读 1.Hadoop3.x通过什么方式来容错? 2.Hadoop3.x存储开销减少了多少? 3.Hadoop3.x MR API是否兼容hadoop1.x? 一.目的 在这篇文章中,我们将讨论Hadoop 2.x与Hadoop 3.x之间的比较. Hadoop3版本中添加了哪些新功能,Hadoop3中兼容的Hadoop 2程序,Hadoop 2和Hadoop 3有什么区别? 二.Hadoop 2.x与Hadoop 3.x比较 本节将讲述Hadoop 2.x与Hadoop 3.x之间的22个

  • ubuntu docker搭建Hadoop集群环境的方法

    spark要配合Hadoop的hdfs使用,然而Hadoop的特点就是分布式,在一台主机上搭建集群有点困难,百度后发现可以使用docker构建搭建,于是开搞: github项目:https://github.com/kiwenlau/hadoop-cluster-docker 参考文章://www.jb51.net/article/109698.htm docker安装 文章中安装的是docker.io 但是我推荐安装docker-ce,docker.io版本太老了,步骤如下: 1.国际惯例更新

  • Hadoop计数器的应用以及数据清洗

    数据清洗(ETL) 在运行核心业务MapReduce程序之前,往往要先对数据进行清洗,清理掉不符合用户要求的数据.清理的过程往往只需要运行Mapper程序,不需要运行Reduce程序. 1.需求 去除日志中字段长度小于等于11的日志. (1)输入数据 web.log (2)期望输出数据 每行字段长度都大于11 2.需求分析 需要在Map阶段对输入的数据根据规则进行过滤清洗. 3.实现代码 (1)编写LogMapper类 package com.atguigu.mapreduce.weblog;

  • Java/Web调用Hadoop进行MapReduce示例代码

    Hadoop环境搭建详见此文章http://www.jb51.net/article/33649.htm. 我们已经知道Hadoop能够通过Hadoop jar ***.jar input output的形式通过命令行来调用,那么如何将其封装成一个服务,让Java/Web来调用它?使得用户可以用方便的方式上传文件到Hadoop并进行处理,获得结果.首先,***.jar是一个Hadoop任务类的封装,我们可以在没有jar的情况下运行该类的main方法,将必要的参数传递给它.input 和outpu

  • Hadoop 2.X新特性回收站功能的讲解

    开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除.备份等作用. 1.回收站参数设置及工作机制 2.启用回收站 修改core-site.xml,配置垃圾回收时间为1分钟. <property> <name>fs.trash.interval</name> <value>1</value> </property> 3.查看回收站 回收站在集群中的路径:/user/用户名/.Trash/-. 4.修改访问垃圾回收

  • ubantu 16.4下Hadoop完全分布式搭建实战教程

    前言 本文主要介绍了关于ubantu 16.4 Hadoop完全分布式搭建的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 一个虚拟机 1.以  NAT网卡模式   装载虚拟机 2.最好将几个用到的虚拟机修改主机名,静态IP     /etc/network/interface,这里 是 s101 s102  s103 三台主机 ubantu,改/etc/hostname文件 3.安装ssh 在第一台主机那里s101 创建公私密匙   ssh-keygen -t rsa

  • windows下的WAMP环境搭建图文教程(推荐)

    本篇文章主要是讲一下我自己安装wamp环境的一些步骤和见解,前方多图预警,慎入!!!!! PHP运行环境 : Linux下的三种安装方式:源码包安装.rpm包安装.集成环境安装(lnmp) windows安装的两种方式:单个下载安装.集成环境安装(AppServ,phpstudy,wamp) 在Windows系统上安装PHP开发环境: 所需软件分别独立安装: 安装前准备 安装Apache 安装MySQL 安装PHP 安装phpMyA 软件名称 下载地址 Apache下载 http://httpd

  • CentOS 7.x下的LEMP环境搭建详细教程

    最近由于项目需求,将服务器从CentOS6升级到CentOS7,对应的PHP版本也升级到PHP5.6.我们熟悉的有LEMP环境一键安装包,但是本文我们将单独安装各个组件模块,并搭建一个完整的PHP运行平台. 我们常说的LNMP环境是指Linux/nginx/MySQL/PHP组合,而LEMP是什么呢?其实Nginx的发音是Engine-X = E,LEMP包是由Linux.nginx.MariaDB/MySQL和PHP组成的,那么看来LEMP和LNMP是一样的,而现在业内习惯性的称作LEMP.M

  • Ubuntu Server 16.04下mysql8.0安装配置图文教程

    Ubuntu Server 16.04下mysql8.0安装配置图文教程 1.从Mysql官网上下载安装文件.有两种方式可供选择: 使用APT安装方式安装 使用完整的安装包进行安装 sudo dpkg -i mysql-apt-config_0.8.6-1_all.deb 2.更新系统安装源 sudo apt-get update 3.安装Mysql服务 sudo apt-get install mysql-server 4.修改Mysql Server的字符集 要修改字符集,首先得找到Mysq

  • MacOS下本地golang环境搭建详细教程

    安装golang 使用homebrew安装golang.homebrew是MacOS 平台下的软件包管理工具,拥有安装.卸载.更新.查看.搜索等功能.开发者不需要关心依赖和文件路径.如果系统没有安装homebrew,终端内执行以下命令安装homebrew. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" 安装完homebrew后执行以下命令

  • Windows 7下Python Web环境搭建图文教程

    最近想尝试一下在IBM Bluemix上使用Python语言创建Web应用程序,所以需要在本地搭建Python Web的开发测试环境. 关于Python的版本 进入Python的网站,鼠标移到导航条上的下载,我们会发现提供两下主版本的下载链接! 这两个之间存在什么差别呢? 个人理解,2.7.x的版本为更加稳定的版本,而3.x的版本则是比较前卫的版本,包含了很多新功能新特性之类的: 但如果想要用Python开发一个新项目,那么该如何选择Python版本呢?大部分Python库都同时支持Python

  • windows7下php开发环境搭建图文教程

    Windows7操作系统,在Windows平台上搭建PHP的开发环境可以下载WAMP(Windows.Apache.MySQL.PHP的首字母缩写)集成化安装包. PHP这样集成开发环境有很多,如XAMPP.AppServ......只要一键安装就把PHP环境给搭建好了.但这种安装方式不够灵活,软件的自由组合不 方便,同时也不利于学习.所以我还是喜欢手工搭建PHP开发环境,需要哪个模块自己安装就行了,或者那个软件需要升级,直接升级那个软件就行了,并不影响 其他软件,非常方便. 一.准备工作-下载

  • windows下svn服务器快速搭建图文教程

    服务器端VISUALSVN SERVER 3.3.1 下载地址 https://www.visualsvn.com/server/download/  我们下载地址:http://www.jb51.net/softs/120928.html 客户端TortoiseSVN 1.8.13下载地址: https://www.visualsvn.com/visualsvn/download/tortoisesvn/  我们下载地址: http://www.jb51.net/softs/200039.ht

  • Android开发入门环境快速搭建实战教程

    前言 很多朋友都想开始自己的Android开发之旅,但是遇到困难重重.从最开始接触Android开发,从搭建开发环境就花了我大部分时间.所以,作为Android开发第一步,开发环境的搭建,显得基础而重要,下面介绍一种快速搭建Android开发环境的方法,以帮助更多朋友快速上手.话不多说了,来一起看看详细的介绍吧. 方法如下: 在开始之前,我们首先需要了解,当前开发android使用的主流开发平台为eclipse,因此本文讨论的是基于eclipse来做的. 具体需要的各个文件(软件)如下: Ecl

  • 浅析Hadoop完全分布式集群搭建问题

    目录 一.Hadoop是什么 二.Hadoop组成 1.Hadoop1.x 2.Hadoop2.x 三.Hadoop集群搭建所需工具(链接如下,自行下载) 四.Hadoop集群配置前期准备 五.Hadoop运行环境搭建 六.Hadoop完全分布式集群环境正式搭建 1.编写集群分发脚本xsync 2.集群配置 3.SSH无密登录配置 4.群起集群 5.集群启动/停止方式总结 6.集群时间同步(必须root用户) 一.Hadoop是什么 Hadoop是一个由Apache基金会所开发的分布式系统基础架

随机推荐