Hadoop 2.6.0 集群部署
Hadoop的集群部署和单节点部署类似,配置文件不同,另外需要修改网络方面的配置
首先,准备3台虚拟机,系统为CentOS 6.6,其中一台为namenode 剩余两台为 datanode;
修改主机名主节点为:hadoopha,数据节点主机名分别为hadoop1、hadoop2,具体修改方法点击这里查看
本例中这3台虚拟机处于同一个局域网,网络连接设置为桥接,ip地址分别为是hadoopha为:192.168.1.42,hadoop1为:192.168.1.78、hadoop2为:192.168.1.44,实际中可以设置静态ip为连续的
然后修改hosts网络指向,用vim /etc/hosts打开文件,后面添加3行记录:
192.168.1.42 hadoopha
192.168.1.78 hadoop1
192.168.1.44 hadoop2
然后保存退出

上面那些localhost指向不用改,新添加3行即可,这三台主机都要修改hosts文件保持一致
以上是主机之间网络通信的基础,接下来在hadoopha上单独配置hadoop环境,hadoop1和hadoop2不用安装hadoop,只有jdk即可
同样把hadoop解压到指定目录,配置一下HADOOP_HOME到环境变量中,然后进入hadoop安装目录,修改配置
执行vim etc/hadoop/hadoop-env.sh
把JAVA_HOME前面的注释去掉,值改成jdk的安装目录,并保存

然后执行vim etc/hadoop/core-site.xml,在<configuration></configuration>之间添加如下配置:
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoopha</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/usr/hadoop/name</value>
</property>
执行vim etc/hadoop/hdfs-site.xml,同样位置添加如下配置:
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///usr/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.nameservices</name>
<value>hadoopha</value>
</property>
第一个配置项是datanode的节点数,这里是2个,就算这里写3也不起什么作用,因为不能超过实际的最大节点数,其中的存放目录可以自己定义
执行vim etc/hadoop/mapred-site.xml,同样位置添加如下配置:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
执行vim etc/hadoop/yarn-site.xml,添加如下配置:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoopha</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoopha:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoopha:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoopha:8031</value>
</property> <property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoopha:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoopha:8088</value>
</property>
编辑slaves文件,执行etc/hadoop/slaves,之前默认只有一行内容localhost,把之前的删除添加下面配置:
hadoop1
hadoop2
到这里文件就配置完了,
然后退到上一层目录,把配置好的hadoop目录发送到hadoop1和hadoop2中
$ scp -r hadoop-2.6./ hadoop1:/usr/hadoop/
$ scp -r hadoop-2.6./ hadoop2:/usr/hadoop/
这样三个主机的hadoop文件就实现了同步,然后格式化namenode节点
bin/hadoop namenode -format
只对主节点hadoopha进行格式化即可,格式化之后启动hadoop
sbin/start-all.sh
等待hadoop集群运行起来,然后用jps命令分别查看3个主机的hadoop进程
hadoopha运行NameNode:

hadoop1和hadoop2运行DataNode:

这时候hadoop集群就启动成功了,然后打开浏览器通过web访问主节点可以管理集群
HDFS管理:http://192.168.1.42:50070/

可以看到详细的参数
Map/Reduce管理:http://192.168.1.42:8088/
可以看到详细的作业情况,和具体哪台机器的作业的情况
通过命令行:bin/hdfs dfsadmin -report可以查看集群的运行状态
需要注意:
1、在hadoop2.x系列版本中,hdfs默认文件直接存放在根目录下,不在和1.x一样存放在/user/root/下了
2、执行hdfs操作文件系统所有的命令时,比如bin/hdfs dfs -ls /会报错:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

虽然不影响使用,原因是从apache官网下载的hadoop-2.6.0.tar.gz是在32位机器上编译的,而集群机器是64位的,所以加载.so文件时出错,但是不影响使用,解决办法是下载64位编译包,解压到hadoop安装目录下lib/native下更新文件即可

因为是./所以直接解压到本目录下,不用进行其他任何操作就可以了,下载链接:http://dl.bintray.com/sequenceiq/sequenceiq-bin/hadoop-native-64-2.6.0.tar
接下来使用WordCount例子来测试集群的运行:
首先进入hadoop安装目录,执行下面命令测试:
$ mkdir input
$ echo "Hello world bye jj" >> file1
$ echo "Hello Hadoop bye hadoop" >> file2
$ bin/hdfs dfs -mkdir /input
$ bin/hdfs dfs -put input/* /input
这样文件就上传到了HDFS文件系统中,执行下面命令开始运行作业
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6..jar wordcount /input /output

然后等待作业执行完毕,完毕之后可以使用命令bin/hdfs dfs -ls /output/查看是否生成结果文件,使用cat查看文件内容即可
bin/hdfs dfs -cat /output/part-r-

可以看到,结果正确的输出了,到这里基本的hadoop集群就部署完成了
Hadoop 2.6.0 集群部署的更多相关文章
- hadoop 2.2.0 集群部署 坑
注意fs.defaultFS为2..0新的变量,代替旧的:fs.default.name hadoop 2.2.0 集群启动命令:bin/hdfs namenode -formatsbin/start ...
- redis3.0集群部署和测试
redis3.0集群部署和测试 环境介绍 两台Centos7的虚拟机模拟6个节点,A台3个master节点,B台3个slave节点A地址:172.16.81.140B地址:172.16.81.141r ...
- hadoop 2.2.0集群安装详细步骤(简单配置,无HA)
安装环境操作系统:CentOS 6.5 i586(32位)java环境:JDK 1.7.0.51hadoop版本:社区版本2.2.0,hadoop-2.2.0.tar.gz 安装准备设置集群的host ...
- Ubuntu 12.04下Hadoop 2.2.0 集群搭建(原创)
现在大家可以跟我一起来实现Ubuntu 12.04下Hadoop 2.2.0 集群搭建,在这里我使用了两台服务器,一台作为master即namenode主机,另一台作为slave即datanode主机 ...
- hadoop 2.2.0集群安装
相关阅读: hbase 0.98.1集群安装 本文将基于hadoop 2.2.0解说其在linux集群上的安装方法,并对一些重要的设置项进行解释,本文原文链接:http://blog.csdn.net ...
- Redis 3.0.0 集群部署
简述: 1.0.1:redis cluster的现状 目前redis支持的cluster特性 1):节点自动发现 2):slave->master 选举,集群容错 3):Hot reshardi ...
- Hadoop 2.2.0集群搭建
一.环境说明 1.虚拟机平台:VMware10 2.Linux版本号:ubuntu-12.04.3-desktop-i386 3.JDK:jdk1.7.0_51 4.Hadoop版本号:2.2.0 5 ...
- Hadoop-2.2.0集群部署时live nodes数目不对的问题
关于防火墙,hadoop本身配置都确定没任何问题,集群启动不报错,但打开50070页面,始终live nodes数目不对,于是我尝试/etc/hosts文件配置是否存在逻辑的错误: 127.0.0.1 ...
- k8s-1.15.0集群部署+dashboard
环境:外网环境硬件master-centos7.4 2核4G node1-centos7.4 2核4Gnode2-centos7.4 2核4G软件:三台服务器 :docker-19. ...
随机推荐
- Java-优化技术
常用的: 1.优化循环.通过重新组织重复的子表达式来提高循环体的运行性能. 2减少使用对象的数量来提高运行性能. 3.缩减网络传输数据来缩短等待时间. 其他: 1.采用对象池技术,提高对象的利用效率. ...
- 使用ssis完成excel的数据导入
SSIS(SQL Server Integration Service)是从MS SQL 2005开始引入的,是一种ETL(Extract Transform Load)工具,SSIS比普通的ETL更 ...
- python多态
多态是面向对象语言的一个基本特性,多态意味着变量并不知道引用的对象是什么,根据引用对象的不同表现不同的行为方式.在处理多态对象时,只需要关注它的接口即可,python中并不需要显示的编写(像Java一 ...
- BZOJ3720 Gty的妹子树
Description 我曾在弦歌之中听过你, 檀板声碎,半出折子戏. 舞榭歌台被风吹去, 岁月深处尚有余音一缕…… Gty神(xian)犇(chong)从来不缺妹子…… 他来到了一棵妹子树下,发现每 ...
- [NOIP2010] 普及组
三国游戏 题目内容不放了 由于电脑总是会拆掉最大的组合,所以玩家最多只能得到数值第二大的组合 那么找出第二大的组合就行了 #include<iostream> #include<cs ...
- ExtJS入门教程03,form中怎能没有validation
接上篇内容,我们在学会extjs form的基本用法之后,今天我们来看看extjs form的validation功能. 必填项,就是不能为空(allowBlank) 效果: 代码: { xtype: ...
- html表单验证程序
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- ios框架中UIResponder的职责链设计模式应用
今天有空,就把UIResponder的职责链图上传一下 如果不理解职责链设计模式的朋友,请参考:http://www.cnblogs.com/langtianya/p/4060941.html
- 安装 RPM 包或者安装源码包
安装 RPM 包或者安装源码包 在windows下安装一个软件很轻松,只要双击.exe的文件,安装提示连续“下一步”即可,然而linux系统下安装一个软件似乎并不那么轻松了,因为我们不是在图形界面下. ...
- HDOJ 2389 Rain on your Parade
HK.... Rain on your Parade Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 655350/165535 K ...