CentOS7.0下Hadoop2.7.3的集群搭建

 

集群服务器规划

使用3台CentOS-6.8虚拟机进行集群搭建

服务ip主机名称用户HDFSYARN
hadoop1192.168.1.40hadoop1root NameNode,Datenode,SecondaryNameNodeResourceManager,NodeManager,
hadoop2192.168.1.39hadoop2rootDatenodeNodeManager
hadoop3192.168.1.38hadoop3rootDatenodeNodeManager

 

软件安装步骤概述

1、获取安装包

2、解压缩和安装

3、修改配置文件

4、初始化,配置环境变量,启动,验证

 

Hadoop安装

1、规划

规划安装用户:root

规划安装目录:/home/hadoop/apps

规划数据目录:/home/hadoop/data

注:apps和data文件夹需要自己单独创建

2、上传解压缩

#wget http://archive.apache.org/dist/hadoop/core/hadoop-2.6.5/hadoop-2.6.5-src.tar.gz

   #tar -zxf hadoop-2.6.5-src.tar.gz -C /usr/local/src/

 

3、修改配置文件

配置文件目录:/use/local/src/hadoop-2.6.5/etc/hadoop

A. hadoop-env.sh

[hadoop@hadoop1 hadoop]$ vi hadoop-env.sh

修改JAVA_HOME

export JAVA_HOME=/usr/local/jdk1.8.0_73

B. core-site.xml

[hadoop@hadoop1 hadoop]$ vi core-site.xml

fs.defaultFS : 这个属性用来指定namenode的hdfs协议的文件系统通信地址,可以指定一个主机+端口,也可以指定为一个namenode服务(这个服务内部可以有多台namenode实现ha的namenode服务

hadoop.tmp.dir : hadoop集群在工作的时候存储的一些临时文件的目录

<configuration><property><name>fs.defaultFS</name><value>hdfs://hadoop1:9000</value></property><property><name>hadoop.tmp.dir</name><value>/home/hadoop/data/hadoopdata</value></property>
</configuration>

 

 

C. hdfs-site.xml

[hadoop@hadoop1 hadoop]$ vi hdfs-site.xml

 dfs.namenode.name.dir:namenode数据的存放地点。也就是namenode元数据存放的地方,记录了hdfs系统中文件的元数据。

 dfs.datanode.data.dir: datanode数据的存放地点。也就是block块存放的目录了。

dfs.replication:hdfs的副本数设置。也就是上传一个文件,其分割为block块后,每个block的冗余副本个数,默认配置是3。

dfs.secondary.http.address:secondarynamenode 运行节点的信息,和 namenode 不同节点

<configuration><property><name>dfs.namenode.name.dir</name><value>/home/hadoop/data/hadoopdata/name</value><description>为了保证元数据的安全一般配置多个不同目录</description></property><property><name>dfs.datanode.data.dir</name><value>/home/hadoop/data/hadoopdata/data</value><description>datanode 的数据存储目录</description></property><property><name>dfs.replication</name><value>2</value><description>HDFS 的数据块的副本存储个数, 默认是3</description></property><property><name>dfs.secondary.http.address</name><value>hadoop3:50090</value><description>secondarynamenode 运行节点的信息,和 namenode 不同节点</description></property>
</configuration>

D. mapred-site.xml

[hadoop@hadoop1 hadoop]$ cp mapred-site.xml.template mapred-site.xml
[hadoop@hadoop1 hadoop]$ vi mapred-site.xml

 mapreduce.framework.name:指定mr框架为yarn方式,Hadoop二代MP也基于资源管理系统Yarn来运行 。

<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>

E. yarn-site.xml

[hadoop@hadoop1 hadoop]$ vi yarn-site.xml

 yarn.resourcemanager.hostname:yarn总管理器的IPC通讯地址

 yarn.nodemanager.aux-services:

<configuration><!-- Site specific YARN configuration properties --><property><name>yarn.resourcemanager.hostname</name><value>hadoop4</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value><description>YARN 集群为 MapReduce 程序提供的 shuffle 服务</description></property></configuration>

 

F. slaves

[hadoop@hadoop1 hadoop]$ vi slaves
hadoop1
hadoop2
hadoop3

4、把安装包分别分发给其他的节点

重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致

[hadoop@hadoop1 hadoop]$ scp -r /usr/local/src/hadoop-2.6.5/ hadoop2:~/usr/local/src/
[hadoop@hadoop1 hadoop]$ scp -r /usr/local/src/hadoop-2.6.5/ hadoop3:~/usr/local/src/

5、配置Hadoop环境变量

千万注意:

1、如果你使用root用户进行安装。 vi /etc/profile 即可 系统变量

2、如果你使用普通用户进行安装。 vi ~/.bashrc 用户变量

[hadoop@hadoop1 ~]$ vi /etc/profile
export HADOOP_HOME=/usr/local/src/hadoop-2.6.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:

使环境变量生效

[hadoop@hadoop1 bin]$ source /etc/profile

6、查看hadoop版本

[hadoop@hadoop1 bin]$ hadoop version
Hadoop 2.7.5
Subversion Unknown -r Unknown
Compiled by root on 2017-12-24T05:30Z
Compiled with protoc 2.5.0
From source with checksum 9f118f95f47043332d51891e37f736e9
This command was run using /home/hadoop/apps/hadoop-2.7.5/share/hadoop/common/hadoop-common-2.7.5.jar
[hadoop@hadoop1 bin]$

7、Hadoop初始化

注意:HDFS初始化只能在主节点上进行

[hadoop@hadoop1 ~]$ hadoop namenode -format

 View Code

8、启动

A. 启动HDFS

注意:不管在集群中的那个节点都可以

[root@WEB40 hadoop]# start-dfs.sh 
19/04/15 10:42:02 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [WEB40]
WEB40: starting namenode, logging to /usr/local/src/hadoop-2.6.5/logs/hadoop-root-namenode-WEB40.out
WEB40: starting datanode, logging to /usr/local/src/hadoop-2.6.5/logs/hadoop-root-datanode-WEB40.out
WEB39: starting datanode, logging to /usr/local/src/hadoop-2.6.5/logs/hadoop-root-datanode-WEB39.out
service: starting datanode, logging to /usr/local/src/hadoop-2.6.5/logs/hadoop-root-datanode-service.out
Starting secondary namenodes [WEB40]
WEB40: starting secondarynamenode, logging to /usr/local/src/hadoop-2.6.5/logs/hadoop-root-secondarynamenode-WEB40.out

B. 启动YARN

注意:只能在主节点中进行启动

[root@WEB40 hadoop]# start-yarn.sh 
starting yarn daemons
starting resourcemanager, logging to /usr/local/src/hadoop-2.6.5/logs/yarn-root-resourcemanager-WEB40.out
WEB40: starting nodemanager, logging to /usr/local/src/hadoop-2.6.5/logs/yarn-root-nodemanager-WEB40.out
WEB39: starting nodemanager, logging to /usr/local/src/hadoop-2.6.5/logs/yarn-root-nodemanager-WEB39.out
service: starting nodemanager, logging to /usr/local/src/hadoop-2.6.5/logs/yarn-root-nodemanager-service.out

9、查看4台服务器的进程

hadoop1

hadoop2

hadoop3

10、启动HDFS和YARN的web管理界面

HDFS : http://192.168.1.40:50070
YARN : http://192.168.1.40:8088

疑惑: fs.defaultFS = hdfs://hadoop1:9000

解答:客户单访问HDFS集群所使用的URL地址

同时,HDFS提供了一个web管理界面 端口:50070

HDFS界面

点击Datanodes可以查看四个节点

YARN界面

点击Nodes可以查看节点

回到顶部

Hadoop的简单使用

创建文件夹

在HDFS上创建一个文件夹/test/input

[hadoop@hadoop1 ~]$ hadoop fs -mkdir -p /test/input

查看创建的文件夹

[hadoop@hadoop1 ~]$ hadoop fs -ls /
Found 1 items
drwxr-xr-x   - hadoop supergroup          0 2018-03-03 11:33 /test
[hadoop@hadoop1 ~]$ hadoop fs -ls /test
Found 1 items
drwxr-xr-x   - hadoop supergroup          0 2018-03-03 11:33 /test/input
[hadoop@hadoop1 ~]$

上传文件

创建一个文件words.txt

[hadoop@hadoop1 ~]$ vi words.txt
hello zhangsan
hello lisi
hello wangwu

上传到HDFS的/test/input文件夹中

[hadoop@hadoop1 ~]$ hadoop fs -put ~/words.txt /test/input

 查看是否上传成功

[hadoop@hadoop1 ~]$ hadoop fs -ls /test/input
Found 1 items
-rw-r--r--   2 hadoop supergroup         39 2018-03-03 11:37 /test/input/words.txt
[hadoop@hadoop1 ~]$

下载文件

将刚刚上传的文件下载到~/data文件夹中

[hadoop@hadoop1 ~]$ hadoop fs -get /test/input/words.txt ~/data

查看是否下载成功

[hadoop@hadoop1 ~]$ ls data
hadoopdata  words.txt
[hadoop@hadoop1 ~]$

运行一个mapreduce的例子程序: wordcount

[hadoop@hadoop1 ~]$ hadoop jar ~/apps/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /test/input /test/output

在YARN Web界面查看

 

查看结果

[hadoop@hadoop1 ~]$ hadoop fs -ls /test/output
Found 2 items
-rw-r--r--   2 hadoop supergroup          0 2018-03-03 11:42 /test/output/_SUCCESS
-rw-r--r--   2 hadoop supergroup         35 2018-03-03 11:42 /test/output/part-r-00000
[hadoop@hadoop1 ~]$ hadoop fs -cat /test/output/part-r-00000
hello    3
lisi    1
wangwu    1
zhangsan    1
[hadoop@hadoop1 ~]$

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547899.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第五章(1)Libgdx应用框架之生命周期

生命周期 一个libgdx应用有一个良好定义的生命周期&#xff0c;管理应用的状态&#xff0c;比如创建&#xff0c;暂停和恢复&#xff0c;渲染和处理应用。 ApplicationListener 应用开发者通过实现ApplicationListener接口来调整生命周期&#xff1a; publicclassMyGameimpleme…

OnKeyPress事件和Javascript检测键盘输入

对于有些时候&#xff0c;我们需要检测用户键盘输入的键盘信息&#xff0c;来处理一些相应的事件。 这里田子建议使用OnKeyPress“”事件来处理。相类似的还有OnKeyUp和OnKeyDown事件&#xff0c;这些田子个人认为都不是特别的理想化。 假如&#xff0c;我们预定义一个方法fu…

ssh-copy-id 命令快速实现ssh远程免密登录

用ssh-copy-id将公钥复制到远程机器中 将本地公钥拷贝至 用户名为root的远程主机上 ssh-copy-id -i ~/.ssh/id_rsa.pub root192.168.150.128/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/var/jenkins_home/.ssh/id_rsa.pub" /usr/bin/ssh-copy…

智慧职教云答案在哪里找_职教云网课答案在线查询,职教云答案查询,智慧职教云答案在哪里找到...

[问答题] 简述“二重证据法”及其影响。[问答题] 西方古典史学有哪些传统&#xff1f;[问答题] 古典史学的一般特征&#xff1f;[问答题] 兰克被称为西方史学的泰斗&#xff0c;他对西方史学的贡献主要表现在&#xff1a;[问答题] 中世纪史学的贡献&#xff1f;[问答题] 人类学…

Win10配置VSCode+Opencv3(C++) GCC环境

环境清单&#xff1a; win10 _64位系统 VSCode&#xff1a;官网地址 Opencv&#xff1a;3.4.5 Cmake&#xff1a;3.9.0 MinGw&#xff1a;MinGW-W64 GCC-8.1.0&#xff08;x86_64-posix-seh&#xff09; MinGW配置&#xff1a; MinGW可以在线安装&#xff0c;也可以直接…

100C之13:他该如何存款?

Table of Contents 1 问题2 分析3 解决方案4 题后语问题 假设银行一年整存零取的月息为0.63%。现在某人手中有一笔钱&#xff0c;他打算在今后的五年中每年的年底取出1000元&#xff0c;到第五年刚好取完&#xff0c;请算出他存钱时应存多少钱&#xff1f; 分析 也比较简单&am…

c#生成一组不同的随机数的方法

代码 #region生成不同随机数的方法///<summary>///生成不同随机数的方法///</summary>///<param name"min">最小值</param>///<param name"max">最大值</param>///<param name"count">取xx个</par…

python实验二报告_20172304 2019-2020-2 《Python程序设计》实验二报告

20172304 2019-2020-2 《Python程序设计》实验二报告课程&#xff1a;《Python程序设计》班级&#xff1a; 1723姓名&#xff1a; 段志轩学号&#xff1a;20172304实验教师&#xff1a;王志强实验日期&#xff1a;2020年4月15日必修/选修&#xff1a; 公选课1.实验内容设计并完…

安装minikube

下载安装 kubectl sudo curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && sudo chmod x kubectl && sudo mv kubectl /us…

网管必须了解的理光复印机相关故障现相之一

相信很多人都知道&#xff0c;网络管理员主要负责的是维护管理好局域网的正常运行。很有公司、企事业单位&#xff0c;IT部门负责的工作常常会包含各种周边设备的日常维护。这其中又以打印机、复印机为主。当然&#xff0c;很多时候不要求我们一定要懂得维修打印机、复印机&…

windows10 vscode 构建最强大的 Mingw C++ gcc 编译环境

工具准备 首先应该准备如下工具&#xff1a; 安装对应版本的Visual Studio Code。安装VS Code上的C扩展&#xff1a;C extension for VS Code。下载MinGW-w64&#xff0c;考虑到是外网资源&#xff0c;建议选择离线版本&#xff0c;在线安装比较慢&#xff0c;不太稳定。MinG…

mysql数据库关联练习_mysql数据库建立数据表的练习(附代码)

数据库操作和学习并不难&#xff0c;难的是如何在各种实际运用情况下编写SQL语句的实现。这个过程&#xff0c;需要大量的练习&#xff0c;那么从这里开始&#xff0c;我们来讲解实现。任务概述具体关系数据库如下&#xff1a;数据库名&#xff1a;教师数据库教师表(编号 char(…

Xml中SelectSingleNode方法中的xpath用法

最常见的XML数据类型有&#xff1a;Element, Attribute&#xff0c;Comment, Text.Element, 指形如<Name>Tom<Name>的节点。它可以包括&#xff1a;Element, Text, Comment, ProcessingInstruction, CDATA, and EntityReference.Attribute, 指在<Employee >中…

win10安装vmware tools + 无法拖拽文件解决

1、加载VMware Tools安装光盘 打开虚拟机VMware Workstation&#xff0c;启动 Ubuntu 系统 菜单栏 - 虚拟机 - 安装VMware Tools。 2、将安装文件提取到本地磁盘 打开加载的VMwareTools光盘&#xff0c;鼠标右键 VMwareTools-*.tar.gz 文件&#xff0c;提取到系统盘下的文件…

火狐最实用的几款插件介绍[含附件]

今天早上发现了FF插件的一遍文章&#xff0c;感觉非常实用&#xff0c;尤其是批量下载图片&#xff0c;以前这个是最头疼的&#xff0c;现在变得很简单了&#xff0c;开心&#xff0c;下来给大家也分享一下吧。 我总结最实用的如下&#xff1a; Firebug 前端开发利器DownThemA…

mysql 需要什么硬件配置_如何来给指定的硬件环境配置一份比较合理的MySQL配置文件-爱可生...

简介通过sysbench的oltp_read_write测试来模拟业务压力、以此来给指定的硬件环境配置一份比较合理的MySQL配置文件。环境介绍硬件配置软件环境优化层级与指导思想优化层级MySQL数据库优化可以在多个不同的层级进行&#xff0c;常见的有&#xff1a;SQL优化参数优化架构优化本文…

perl插入文本

有2个文件。a.txt和b.txt,文件内容如下cat a.txt111 222 333cat b.txtabc def要求把b文件的内容插入a文件含有222的上面。perl -e open $FH,"b.txt";while (1) {$bytesread($FH,$lines,3,length($lines));last if $bytes0};open $FH_A,"a.txt";while (<…

图片打标

在物体检测问题中&#xff0c;第一个需要解决的就是给训练集中的图片打标&#xff0c;所谓打标&#xff0c;就是用一个文件来描述图中物体的位置框坐标&#xff08;xmin&#xff0c;ymin&#xff0c;xmax&#xff0c;ymax&#xff09;&#xff0c;以定位物体的位置。 一个比较…

js时间格式化通用方法

/*** 时间工具类*//*** 获取现在的时间戳&#xff08;精确到s&#xff09;* 使用&#xff1a;new Date().nowTimestamp* type {number}*/Date.prototype.nowTimestamp Date.parse(new Date()) / 1000;/*** 时间戳转换成Date* 使用&#xff1a;new Date().timestampToDate(1493…

动态定时任务与动态生成class代码

动态定时任务 原理 采用定时任务线程池ThreadPoolTaskScheduler来实现定时任务。动态定时任务就是可以配置的&#xff0c;而不是写死在代码中。所以我们要将其写入到数据库中&#xff0c;然后暴露接口就可以进行配置比如创建、启动、结束任务。 数据库脚本 DROP TABLE IF EXIS…