环境:Hadoop-2.8.5 、centos7、jdk1.8

一、步骤

1).4台centos虚拟机

2). 将hadoop配置修改为完全分布式

3). 启动完全分布式集群

4). 在完全分布式集群上测试wordcount程序

二、4台centos虚拟机配置

4台虚拟机:node-001、node-002、node-003、node-004

克隆4台虚拟机——》生成新的mac地址——》修改主机名——》修改node-001的IP地址——》删除70-persistent-net.rules文件——》重启虚拟机生效

三、修改Hadoop配置为完全分布式

需要修改 $HADOOP_HOME/etc/hadoop目录下配置文件 hadoop-env.sh、 core-site.xml、hdfs-site.xml、 yarn-site.xml、mapred-site.xml、salves

配置Hadoop 环境变量

export HADOOP_PREFIX=/home/lims/bd/hadoop-2.8.
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin

1.进入$HADOOP_HOME/etc/hadoop目录

vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0

2.修改core-site.xml

vi core-site.xml
<configuration>
<!--配置hdfs文件系统的命名空间-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node-001:9000</value>
</property> <!-- 配置操作hdfs的存冲大小 -->
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
<!-- 配置临时数据存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/lims/bd/tmp</value>
</property> </configuration>

3.修改hdfs-site.xml

[lims@node-001 hadoop]# vi hdfs-site.xml
<configuration>
<!-- 将备份数修改为3,小于等于当前datanode数目即可-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 将secondary namenode改为hadoop2-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node-002:50090</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
  <value>file://${hadoop.tmp.dir}/dfs/name</value>
</property>
<property>
<name>dfs.namenode.data.dir</name>
<value>file://${hadoop.tmp.dir}/dfs/data</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
</configuration>

4.修改yarn-site.xml


[lims@node-001 hadoop]# vi yarn-site.xml
<configuration>

<!-- Site specific YARN configuration properties -->
<!-- 添加了yarn.resourcemanager.hostname 属性-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node-001</value>
</property> <property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 添加了yarn.nodemanager.auxservices.mapreduce.shuffle.class属性-->
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>

5.配置mapred-site.xml文件

<configuration>

<!-- MR YARN Application properties -->

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<description>The runtime framework for executing MapReduce jobs.
Can be one of local, classic or yarn.
</description>
</property> <!-- jobhistory properties -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>node-002:10020</value>
<description>MapReduce JobHistory Server IPC host:port</description>
</property> <property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node-003:19888</value>
<description>MapReduce JobHistory Server Web UI host:port</description>
</property> </configuration>

6.配置salves文件

node-
node-
node-

7.将hadoop/下配置分发到各个节点,hosts配置分发到各个节点

scp hadoop/* lims@node-002:/home/lims/bd/hadoop-2.8.5/etc/hadoop
scp hadoop/* lims@node-003:/home/lims/bd/hadoop-2.8.5/etc/hadoop
scp hadoop/* lims@node-004:/home/lims/bd/hadoop-2.8.5/etc/hadoop

四、启动完全分布式集群

1)node-001上格式化namenode

hdfs namenode -format

2)node-001上启动Hadoop集群

start-dfs.sh

3)node-001上启动yarn

start-yarn.sh

4)各个节点上查看进程

[lims@node- hadoop]$ jps
ResourceManager
Jps
NameNode
[lims@node- ~]$ jps
NodeManager
SecondaryNameNode
DataNode
Jps
[lims@node- ~]$ jps
Jps
NodeManager
DataNode
[lims@node- ~]$ jps
NodeManager
DataNode
Jps

五、完全分布式集群上运行wordcount

1)从node-001进入$HADOOP_HOME/share/hadoop/mapreduce/目录

2)上传test.txt文件到指定目录

hadoop fs -put test.txt /user/lims/

3)运行wordcount测试程序,输出到/output

hadoop jar hadoop-mapreduce-examples-2.8..jar wordcount /user/lims/test.txt /output

4)查看mapreduce运行结果

hadoop dfs -text /output/part-*
hadoop dfs -cat /output/part-*
[lims@node- hadoop]$ hadoop fs -cat /output/part-*
a
aa
bb
cc
dd
file
is
test
this
tmp

Hadoop集群搭建-full完全分布式(三)的更多相关文章

  1. Hadoop集群搭建(完全分布式版本) VMWARE虚拟机

    Hadoop集群搭建(完全分布式版本) VMWARE虚拟机 一.准备工作 三台虚拟机:master.node1.node2 时间同步 ntpdate ntp.aliyun.com 调整时区 cp /u ...

  2. Hadoop集群搭建安装过程(三)(图文详解---尽情点击!!!)

    Hadoop集群搭建安装过程(三)(图文详解---尽情点击!!!) 一.JDK的安装 安装位置都在同一位置(/usr/tools/jdk1.8.0_73) jdk的安装在克隆三台机器的时候可以提前安装 ...

  3. 三节点Hadoop集群搭建

    1. 基础环境搭建 新建3个CentOS6.5操作系统的虚拟机,命名(可自定)为masternode.slavenode1和slavenode2.该过程参考上一篇博文CentOS6.5安装配置详解 2 ...

  4. Hadoop 集群搭建和维护文档

    一.前言 -- 基础环境准备 节点名称 IP NN DN JNN ZKFC ZK RM NM Master Worker master1 192.168.8.106 * * * * * * maste ...

  5. Hadoop集群搭建安装过程(一)(图文详解---尽情点击!!!)

    Hadoop集群搭建(一)(上篇中讲到了Linux虚拟机的安装) 一.安装所需插件(以hadoop2.6.4为例,如果需要可以到官方网站进行下载:http://hadoop.apache.org) h ...

  6. Linux环境下Hadoop集群搭建

    Linux环境下Hadoop集群搭建 前言: 最近来到了武汉大学,在这里开始了我的研究生生涯.昨天通过学长们的耐心培训,了解了Hadoop,Hdfs,Hive,Hbase,MangoDB等等相关的知识 ...

  7. 大数据初级笔记二:Hadoop入门之Hadoop集群搭建

    Hadoop集群搭建 把环境全部准备好,包括编程环境. JDK安装 版本要求: 强烈建议使用64位的JDK版本,这样的优势在于JVM的能够访问到的最大内存就不受限制,基于后期可能会学习到Spark技术 ...

  8. 大数据学习——HADOOP集群搭建

    4.1 HADOOP集群搭建 4.1.1集群简介 HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起 HDFS集群: 负责海量数据的存储,集群中的角色主 ...

  9. 环境搭建-Hadoop集群搭建

    环境搭建-Hadoop集群搭建 写在前面,前面我们快速搭建好了centos的集群环境,接下来,我们就来开始hadoop的集群的搭建工作 实验环境 Hadoop版本:CDH 5.7.0 这里,我想说一下 ...

随机推荐

  1. tftp--实现服务器与客户端的下载与上传【转】

    转自:https://blog.csdn.net/xiaopangzi313/article/details/9122975 版权声明:本文为博主原创文章,未经博主允许不得转载. https://bl ...

  2. ansible-plabybook 常用的有用的命令

    ansible-plabybook 常用的有用的命令 ansible-playbook常用的非常有用的参数有: -C ,大写c ,这个命令的意思就是模拟执行,会告诉你跑完这个playbook会发生什么 ...

  3. [JavaScript]ECMA-6 箭头函数

    概述 箭头函数的作用是为Js提供一种函数的简写方法,箭头函数作用域内不包含this, arguments, super, or new.target,并且不能用于对象的构造函数: 基本语法 [(][p ...

  4. 03-案例——多任务版TCP服务端程序开发

    案例——多任务版TCP服务端程序开发   1. 需求     目前我们开发的TCP服务端程序只能服务于一个客户端,如何开发一个多任务版的TCP服务端程序能够服务于多个客户端呢?完成多任务,可以使用线程 ...

  5. 关于kafka生产者相关监控指标的理解(未解决)

    关于生产者相关的监控指标含义的理解,希望大神帮忙进行确定下.     这边找了官网,看了网上各样的资料,但都无法帮我理解监控项目相关含义.     相关的监控项目是从jconsole获取的,并接入到了 ...

  6. loadrunner使用过程遇到的问题(一)

    1.如果log日志出现乱码,如何设置?(对于乱码设置只是对单一脚本有效,并不是全部脚本有效,所以多个脚本出现乱码,需要逐个设置) loadrunner12版本设置方法,在preference里面,设置 ...

  7. c编译步骤

    这几天查编译问题时,在头文件中加入某些错误信息,却发现没有编译报错.想了一下可能是,还未进行到语法分析阶段. 这里再了解一下编译过程. 一般而言代码编译包含了四个阶段的处理,即预处理(也称预编译,Pr ...

  8. adjustsFontSizeToFitWidth 与 NSLineBreakByCharWrapping 无法共用

    newLabel.lineBreakMode = NSLineBreakByCharWrapping; newLabel.text = content; newLabel.adjustsFontSiz ...

  9. Docker使用Mysql镜像命令

    本次使用的环境是win10下的hyper-v安装的CentOS7系统 控制台输入命令: docker run -p 3307:3306 --name mysql01 -v $PWD/conf:/etc ...

  10. 不可不知的表达式树(3)定制IQueryProvider

    前面我们说到利用表达式树技术实现LINQ-to-SQL,实际上可以针对任何数据源,实现LINQ-to-Everything.这里还涉及到两个重要的接口即IQueryable和IQueryProvide ...