Hadoop自学系列集(四) ---- Hadoop集群
久等了,近期公司比较忙,学习的时间都没有啊,到今日才有时间呢!!!好了,下面就跟着笔者开始配置Hadoop集群吧。
hosts文件和SSH免密码登录配置好了之后,现在进入Hadoop安装目录,修改一些配置文件,修改配置还是相对简单的,一下是需要修改的文件内容(当然这里只是学习时的配置,更加深入的配置笔者也不会了,嘿嘿嘿),四台机相同配置,以下是一些修改的文件(红色为修改部分):
conf/hadoop-env.sh:
export JAVA_HOME=/usr/local/java/jdk1.6.0_45 ##原本是注释的,解开注释,修改一下路径即可
conf/core-site.xml:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<!-- 用户DFS命令模块中指定默认的文件系统协议 -->
<name>fs.default.name</name>
<value>hdfs://hadoop.master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/temp</value>
</property>
</configuration>
conf/hdfs-site.xml:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<!-- 默认Block副本数,设置为副节点个数,这里为3个 -->
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
conf/mapred-site.xml(配置JobTracker):
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop.master:9001</value>
</property>
</configuration>
conf/masters(填写主节点主机名即可):
hadoop.master
conf/slaves(填写从节点主机名,一行一个):
hadoop.slave1
hadoop.slave2
hadoop.slave3
至此,配置已经修改完了,接下来是启动。在首次启动之前,先格式化NameNode,之后启动就不需要格式化了,命令如下:
hadoop namenode -format
接下来,启动Hadoop集群:
start-all.sh
启动后截图如下:

在启动过程中由于配置了SSH免密码登录,是不会询问slaves机器上的密码的。
集群测试:
接下来我们运行一下hadoop-example.jar中自带的wordCount程序,用户统计单词出现次数,步骤如下:
1.新建一个test.txt,内容可自行填写:

2.在HDFS系统中创建一个文件夹input,命令如下:
hadoop fs -mkdir /user/hadoop/input1
3.上传刚刚创建的test.txt至HDFS系统中的input文件夹,命令如下:
hadoop fs -put /usr/local/hadoop/test.txt /user/hadoop/input1/
4.查看文件是否已经上传至HDFS中,命令如下:
hadoop fs -ls /user/hadoop/input1/
5.运行hadoop-example.jar,命令如下:
cd /usr/local/hadoop
hadoop -jar hadoop-example-1.2.1.jar wordcount /user/hadoop/input1/test.txt /user/hadoop/output1
6.过程截图:


7.运行完毕后,可以查看结果了,键入以下命令,结果截图也在下面:
hadoop fs -text /user/hadoop/output1/part-r-00000

OK!至此Hadoop集群就安装结束了,而且也测试过了,就先写到这里了。
Hadoop自学系列集(四) ---- Hadoop集群的更多相关文章
- golang 自学系列(四)——debug for vscode
golang 自学系列(四)--(调试)VSCode For Debug 这里如何装 vscode 我就不说了 这里如何在 vscode 正常写代码我也不说了 在能正常用 vscode 写 go 语言 ...
- Hadoop自学系列集(三) ---- Hadoop安装
这节就开始讲述Hadoop的安装吧.在这之前先配置下SSH免密码登录,为什么需要配置这个呢?大家都知道Hadoop集群中可能有几十台机器甚至是上千台机器,而每次启动Hadoop都需要输入密码才能够登录 ...
- Hadoop概念学习系列之谈hadoop/spark里为什么都有,YARN呢?(四十一)
在Hadoop集群里,有三种模式: 1.本地模式 2.伪分布模式 3.全分布模式 在Spark集群里,有四种模式: 1.local单机模式 结果xshell可见: ./bin/spark-submit ...
- Hadoop自学系列集(二) ---- CentOS下安装JDK
上篇我们讲述了如何使用VMware安装CentOS系统,接下来就看如何安装我们最为熟悉的jdk吧!安装前先看看系统上有没有安装过jdk,输入java -version,如果查询出了其他版本的jdk版本 ...
- Hadoop自学系列集(一) ---- 使用VMware安装CentOS
1.概述 笔者的学习环境--在VMware虚拟机下安装四个CentOS系统(搭建Hadoop集群用),其中一个为Master,三个为Slave,Master作为Hadoop集群中的NameNode, ...
- Hadoop概念学习系列之谈hadoop/spark里分别是如何实现容错性?(四十二)
Hadoop使用数据复制来实现容错性(I/O高) Spark使用RDD数据存储模型来实现容错性. RDD是只读的.分区记录的集合.如果一个RDD的一个分区丢失,RDD含有如何重建这个分区的相关信息. ...
- Hadoop概念学习系列之谈hadoop/spark里为什么都有,键值对呢?(四十)
很少有人会这样来自问自己?只知道,以键值对的形式处理数据并输出结果,而没有解释为什么要以键值对的形式进行. 包括hadoop的mapreduce里的键值对,spark里的rdd里的map等. 这是为什 ...
- Hadoop笔记系列 一 用Hadoop进行分布式数据处理(1)
学习资料参考地址: 1.http://blog.csdn.net/zhoudaxia/article/details/8801769 1.先说说什么是Hadoop? 个人理解:一个分布式文件存储系统+ ...
- Hadoop概念学习系列之为什么hadoop/spark执行作业时,输出路径必须要不存在?(三十九)
很多人只会,但没深入体会和想为什么要这样? 拿Hadoop来说,当然,spark也一样的道理. 输出路径由Hadoop自己创建,实际的结果文件遵守part-nnnn的约定. 如何指定一个已有目录作为H ...
随机推荐
- hgoi#20190519
更好的阅读体验 来我的博客观看 T1-求余问题 Abu Tahun很喜欢回文. 一个数组若是回文的,那么它从前往后读和从后往前读都是一样的,比如数组{1},{1,1,1},{1,2,1},{1,3,2 ...
- mysql-8.0-winx64安装以及修改密码
一.下载安装包(https://dev.mysql.com/downloads/mysql/) 二.添加my.ini配置文件 打开刚刚解压的文件夹 C:\mysql-8.0.16-winx64,在该文 ...
- CentOS7 搭建gitlab服务器
本文介绍如何在CentOS7.2上搭建Gitlab服务器,并简单介绍如何使用. Preface 使用的是CentOS7.2的操作系统,安装当前最新版Gitlab服务器,下载地址:清华大学开源软件镜像站 ...
- 曹工说Tomcat4:利用 Digester 手撸一个轻量的 Spring IOC容器
一.前言 一共8个类,撸一个IOC容器.当然,我们是很轻量级的,但能够满足基本需求.想想典型的 Spring 项目,是不是就是各种Service/DAO/Controller,大家互相注入,就组装成了 ...
- 《深入浅出RxJS》读书笔记
rxjs的引入 // 如果以这种方式导入rxjs,那么整个库都会导入,我们一般不可能在项目中运用到rxjs的所有功能 const Rx = require('rxjs'); 解决这个问题,可以使用深链 ...
- Python基础-使用range创建数字列表以及简单的统计计算和列表解析
1.使用函数 range() numbers = list(range[1,6]) print (numbers) 结果: [1,2,3,4,5] 使用range函数,还可以指定步长,例如,打印1~1 ...
- HDU 3065:病毒侵袭持续中(AC自动机)
http://acm.hdu.edu.cn/showproblem.php?pid=3065 题意:中文题意. 思路:直接插入然后用一个数组记录id和cnt,因为n只有1000,可以开一个数组判断第几 ...
- MySql中的SHOW INDEX 查出的结果列代表的意义
MySQL SHOW INDEX语法的实际操作用法以及其实际查看索引状态(语法)的具体内容的描述,如果你对这一技术,心存好奇的话,以下的文章将会揭开它的神秘面纱. INDEX FROM tbl_nam ...
- Spring boot ,dubbo整合异常
Caused by: java.lang.IllegalArgumentException: java.lang.ClassCastException: com.guooo.boot.acc.serv ...
- 《Predict Anchor Links across Social Networks via an Embedding Approach》阅读笔记
基本信息 文献:Predict Anchor Links across Social Networks via an Embedding Approach 时间:2016 期刊:IJCAI 引言 预测 ...