hadoop2.7全然分布式集群搭建以及任务測试
要想深入的学习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全然分布式集群搭建以及任务測试的更多相关文章
- hadoop-2.7.2 分布式集群搭建
1.机器信息 五台centos 64位机器 2.集群规划 Server Name Hadoop Cluster Zookeeper Ensemble HBase Cluster Hadoop01 ...
- Hadoop1.2.1 全然分布式集群搭建实操笔记
前期准备工作: 1.改动Linux主机名:/etc/hostname ubuntu系统:vi /etc/hostname ...
- hadoop2.2.0的ha分布式集群搭建
hadoop2.2.0 ha集群搭建 使用的文件如下: jdk-6u45-linux-x64.bin hadoop-2.2.0.x86_64.tar zookeeper-3.4.5. ...
- Hadoop上路-01_Hadoop2.3.0的分布式集群搭建
一.配置虚拟机软件 下载地址:https://www.virtualbox.org/wiki/downloads 1.虚拟机软件设定 1)进入全集设定 2)常规设定 2.Linux安装配置 1)名称类 ...
- hadoop伪分布式集群搭建与安装(ubuntu系统)
1:Vmware虚拟软件里面安装好Ubuntu操作系统之后使用ifconfig命令查看一下ip; 2:使用Xsheel软件远程链接自己的虚拟机,方便操作.输入自己ubuntu操作系统的账号密码之后就链 ...
- Hadoop分布式集群搭建
layout: "post" title: "Hadoop分布式集群搭建" date: "2017-08-17 10:23" catalog ...
- 分布式实时日志系统(四) 环境搭建之centos 6.4下hbase 1.0.1 分布式集群搭建
一.hbase简介 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java.它是Apache软件基金会的Hadoop项目的一部分,运行 ...
- 阿里云ECS服务器部署HADOOP集群(二):HBase完全分布式集群搭建(使用外置ZooKeeper)
本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 . 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里 ...
- 阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建
本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 . 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里 ...
随机推荐
- Python之字符串切片
切片操作(slice)可以从一个字符串中获取子字符串(字符串的一部分).我们使用一对方括号.起始偏移量start.终止偏移量end 以及可选的步长step 来定义一个分片. 格式: [start:en ...
- 【习题 7-6 UVA - 12113】Overlapping Squares
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 先预处理出来一个正方形. 然后每次枚举新加的正方形左上角的坐标就可以. 注意覆盖的规则,控制一下就可以. 然后暴力判断是否相同. 暴 ...
- 【2017"百度之星"程序设计大赛 - 初赛(B)】度度熊的交易计划
[链接]点击打开链接 [题意] 在这里写题意 [题解] 先设一个超级源点,向每个片区都建一条边,容量为b,费用为-a; 然后从每个片区再连一条边,指向一个超级汇点. 容量为d,费用为c; 然后从起点到 ...
- php訪问mysql数据库
PHP訪问Mysql数据库 PHP能够通过mysql接口和mysqli接口訪问mysql数据库. 须要加入mysql和mysqli接口才干訪问mysql数据库. windows下配置amp: a.安装 ...
- Java Drp项目实战——Servlet
由来 在解说Servlet之前须要先介绍一个词语CGI即Common GatewayInterface是通用网关接口的意思.它提供一个计算机程序同HTTP协议或者WWW服务的接口,也就是人机交互接口的 ...
- OpenShift 自定义 OPENSHIFT_DOCUMENT_ROOT 变量,替换网站根目录路径!
OpenShift 自定义 OPENSHIFT_DOCUMENT_ROOT 变量,替换网站根目录路径! 预先定义的子目录 :) DIY: DocumentRoot=${OPENSHIFT_RE ...
- 第三次作业 201731082208 黄亚恒&肖莉
Github项目地址:https://github.com/HYHSTUDEY/WordCount.git 作业地址:https://www.cnblogs.com/hyhhyh090628/p/10 ...
- 高可用架构篇--MyCat在MySQL主从复制基础上实现读写分离
实战操作可参考:http://www.roncoo.com/course/view/3117ffd4c74b4a51a998f9276740dcfb 一.环境 操作系统:CentOS-6.6-x86_ ...
- Android车载导航的一些困境
车载导航从最初的用解码芯片,过渡到用WinCE系统,已经形成了一个较大的产业.车载导航使用上的一些大原则,基本上被固定了下来.如今WinCE走到了尽头,Android车载导航開始发力,但由于Andro ...
- 编程一一C语言问题,指针函数与函数指针
资料来源于网上: 一.指针函数:指返回值是指针的函数 类型标识符 *函数名(参数表) int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值.函数返 ...