要想深入的学习hadoop数据分析技术,首要的任务是必需要将hadoop集群环境搭建起来,本文主要讲述怎样搭建一套hadoop全然分布式集群环境。

环境配置:2台64位的redhat6.5 +  1台64位centos6.9 + Hadoop + java7

一、先配置server的主机名

Namenode节点相应的主机名为master

Datanode节点相应的主机名分别为node1、node2

1、 在每一台server上运行vim /etc/hosts, 先删除hosts里面的内容。然后追加下面内容:

192.168.15.135  master
172.30.25.165 node1
172.30.25.166 node2

2、 在每一台server上运行vim  /etc/sysconfig/network。改动红色部分的内容。相应上面所说的hostname,对于master节点那么hostname就为master

NETWORKING=yes
HOSTNAME= master
NETWORKING_IPV6=yes
IPV6_AUTOCONF=no

类似的。在node1server节点上应该为:

NETWORKING=yes
HOSTNAME= node1
NETWORKING_IPV6=yes
IPV6_AUTOCONF=no

类似的,在node2server节点上应该为:

NETWORKING=yes
HOSTNAME= node2
NETWORKING_IPV6=yes
IPV6_AUTOCONF=no

这两步的作用非常关键。假设配置不成功,进行分布式计算的时候有可能找不到主机名

二、安装SSH,并让master免验证登陆自身server、节点server

1、 运行以下命令,让master节点可以免验证登陆自身server

ssh-keygen -t dsa -P'' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub>> ~/.ssh/authorized_keys
exportHADOOP\_PREFIX=/usr/local/hadoop

HADOOP_PREFIX表示自己安装的hadoop路径

2、 让主结点(master)能通过SSH免password登录两个子结点(slave)

为了实现这个功能。两个slave结点的公钥文件里必需要包括主结点的公钥信息,这样当master就能够顺利安全地訪问这两个slave结点了。操作步骤例如以下:

在node1上运行

scp root@master:~/.ssh/id_dsa.pub  ~/.ssh/master_dsa.pub
cat~/.ssh/master_dsa.pub >> ~/.ssh/authorized_keys

在node2上运行

scp root@master:~/.ssh/id_dsa.pub  ~/.ssh/master_dsa.pub
cat~/.ssh/master_dsa.pub >> ~/.ssh/authorized_keys

如上过程显示了node1结点通过scp命令远程登录master结点,并复制master的公钥文件到当前的文件夹下,这一过程须要password验证。接着。将master结点的公

钥文件追加至authorized_keys文件里,通过这步操作,假设不出问题,master结点就能够通过ssh远程免password连接node1结点了。在master结点中操作如:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

当然值得注意的是:首次登陆是须要确认的。node1结点首次连接时须要,“YES”确认连接,这意味着master结点连接node1结点时须要人工询问,无法自己主动连接。输入yes后成功接入,紧接着注销退出至master结点。要实现ssh免password连接至其他结点,还差一步,仅仅须要再运行一遍ssh
node1。假设没有要求你输入”yes”。就算成功了。

三、下载并解压hadoop安装包。配置hadoop

1、 关于安装包的下载就不多说了,只是能够提一下眼下我使用的版本号为hadoop-2.7.1

2、 配置namenode,改动site文件

以下開始改动hadoop的配置文件了。即各种site文件。文件存放在etc/Hadoop/下,主要配置core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml这三个文件。

这里我仅仅把我的实例贴出来。经供參考。很多其它具体配置请參照官方文档

core-site.xml:

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
</configuration>

hdfs-site.xml:

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
</configuration>

mapred-site.xml:

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>

yarn-site.xml:

<configuration>
<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>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>

3、 配置namenode,改动env环境变量文件

配置之前要说的话:你必须确保你已经安装了java6或者java7,而且java的环境变量已经配置好。因为本文的重点不在此。故不具体说明,我系统java的环境变量为/usr/java/jdk1.7.0_71

所以讲hadoop-env.sh、mapred-env.sh、yarn-env.sh这几个文件里的JAVA_HOME改为/usr/java/jdk1.7.0_71,例如以下图所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

文件里的其它一些配置项。请參考官方文档

4、 slaves文件配置,添加例如以下两行内容:

node1
node2

四、向节点servernode1、node2复制我们刚刚在masterserver上配置好的hadoop

scp–r hadoop  root@node1:/usr/local/hadoop
scp–r hadoop root@node2:/usr/local/hadoop

五、格式化namenode,在master节点上运行例如以下命令:

bin/hdfs namenode-format 

仅仅要出现“successfully formatted”就表示成功了。

六、启动hadoop

这一步也在主结点master上进行操作:

七、用jps检验各后台进程是否成功启动

master

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

node1

node2

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

八、向hadoop集群系统提交第一个mapreduce任务

到这里为止我们已经完毕了一个真正意义上的hadoop全然分布式环境搭建,以下我们要像这个集群系统提交第一个mapreduce任务

1、  bin/hdfs dfs -mkdir /tmp 在虚拟分布式文件系统上创建一个測试文件夹tmp

2、  bin/hdfs dfs -copyFromLocal ./ LICENSE.txt /tmp 将当前文件夹下的LICENSE文件拷贝到虚拟分布式文件系统中

3、bin/hdfs dfs-ls /tmp查看文件系统中是否存在我们所复制的文件

以下这张图显示了一系列的操作过程

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

3、  执行例如以下命令向hadoop提交单词统计任务

bin/hadoop jar./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount/tmp/LICENSE.txt /tmp-output

最后会显示一个运算结果:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

到这里为止,你已经完毕了第一个任务的分布式计算

注意:在你又一次格式化分布式文件系统之前,须要将文件系统中的数据先清除。否则,datanode将创建不成功。这一点非常重要

关于一些常见的port

master:8088能显示你的集群状态

master: 50070能进行一些节点的管理

除此之外,还有非常多实用的port。当然这也是和你的配置文件相关的。最后,贴上两张图片:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

hadoop2.7全然分布式集群搭建以及任务測试的更多相关文章

  1. hadoop-2.7.2 分布式集群搭建

    1.机器信息 五台centos 64位机器 2.集群规划 Server Name Hadoop Cluster Zookeeper   Ensemble HBase Cluster Hadoop01 ...

  2. Hadoop1.2.1 全然分布式集群搭建实操笔记

    前期准备工作: 1.改动Linux主机名:/etc/hostname                         ubuntu系统:vi /etc/hostname                 ...

  3. hadoop2.2.0的ha分布式集群搭建

    hadoop2.2.0 ha集群搭建 使用的文件如下:    jdk-6u45-linux-x64.bin    hadoop-2.2.0.x86_64.tar    zookeeper-3.4.5. ...

  4. Hadoop上路-01_Hadoop2.3.0的分布式集群搭建

    一.配置虚拟机软件 下载地址:https://www.virtualbox.org/wiki/downloads 1.虚拟机软件设定 1)进入全集设定 2)常规设定 2.Linux安装配置 1)名称类 ...

  5. hadoop伪分布式集群搭建与安装(ubuntu系统)

    1:Vmware虚拟软件里面安装好Ubuntu操作系统之后使用ifconfig命令查看一下ip; 2:使用Xsheel软件远程链接自己的虚拟机,方便操作.输入自己ubuntu操作系统的账号密码之后就链 ...

  6. Hadoop分布式集群搭建

    layout: "post" title: "Hadoop分布式集群搭建" date: "2017-08-17 10:23" catalog ...

  7. 分布式实时日志系统(四) 环境搭建之centos 6.4下hbase 1.0.1 分布式集群搭建

    一.hbase简介 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java.它是Apache软件基金会的Hadoop项目的一部分,运行 ...

  8. 阿里云ECS服务器部署HADOOP集群(二):HBase完全分布式集群搭建(使用外置ZooKeeper)

    本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 . 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里 ...

  9. 阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建

    本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 . 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里 ...

随机推荐

  1. IAR for STM8介绍、下载、安装与注册--转

    Ⅰ.写在前面 本文讲述的内容是IAR for STM8的介绍.下载.安装与注册,其安装.注册过程和IAR for ARM类似,如果需要了解IAR for ARM相关的文章,可以到我博客,或微信公众号查 ...

  2. ps的入门

    ps的入门 http://www.cnblogs.com/qingci/archive/2012/09/20/2694728.html

  3. mysql 实行模糊查询 一个输入值匹配多个字段和多个输入值匹配一个字段

    mysql 实行模糊查询  一个输入值匹配多个字段 MySQL单表多字段模糊查询可以通过下面这个SQL查询实现 为啥一定要150字以上  真的麻烦  还不让贴代码了 SELECT * FROM `ma ...

  4. Vue的style与class

    1. style 可以通过 :style="{height:`${heightData.main}px`}" 实现样式的动态绑定, style绑定的是一个对象,多个样式时用“,”隔 ...

  5. LoadRunner IP欺骗使用

  6. matlab 局部特征检测与提取(问题与特征)

    物体识别:SIFT 特征: 人脸识别:LBP 特征: 行人检测:HOG 特征: 0. 常见手工设计的低级别特征 manually designed low-level features 语音:高斯混合 ...

  7. AAC编解码

    AAC编码可以使用faac /** 初始化 @param sampleRate 音频采样率 @param channels 通道数 @param bitSize 音频采样精度 16 */ - (voi ...

  8. 前端面试题(HTML/CSS)

    (前端面试题大全,持续更新) 常用的块级元素和行内元素有哪些?说说他们的特点? 浮动产生的原因?清除浮动? 说说一下盒模型 float和position一起用是什么效果 rem用过吗?做不同手机的适配 ...

  9. Python数据结构同Json类型数据相互转换的用法

    在做Python接口自动化的时候,经常要用到Python数据结构同Json类型数据相互转换来供我们做进一步的验证提供数据,在此做个记录和总结 Python数据结构同Json类型数据相互转换的函数有:j ...

  10. Java基础学习总结(40)——Java程序员最常用的8个Java日志框架

    作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用以及移动应用.然而日志系统是一个成熟Java应用所必不可少的,在开发和调试阶段,日志可以帮助我们更好更快地定位bug:在 ...