CentOS上安装Hadoop2.7,添加数据节点,运行wordcount
安装hadoop的步骤比较繁琐,但是并不难。
在CentOS上安装Hadoop2.7
1. 安装 CentOS,注:图形界面并无必要
2. 在CentOS里设置静态IP,手工编辑如下4个文件
- /etc/hosts
- /etc/sysconfig/netwok
- /etc/hostname
- /etc/sysconfig/network-scripts/ifcfg-eno1677773
3. 关闭防火墙
- Close firewalld
- systemctl stop firewalld.service #停止firewall
- systemctl disable firewalld.service #禁止firewall开机启动
4. 设置ssh无密登录
l 去掉/etc/ssh/sshd_config其中2行的注释
#RSAAuthentication yes
#PubkeyAuthentication yes
l
输入命令,ssh-keygen -t rsa,生成key,都不输入密码,一直回车,/root就会生成.ssh文件夹,每台服务器都要设置
l
合并公钥到authorized_keys文件,在Master服务器,进入/root/.ssh目录,通过SSH命令合并,
cat id_rsa.pub>> authorized_keys
l
把Master服务器的authorized_keys、known_hosts复制到Slave服务器的/root/.ssh目录
5. 为提高软件下载速度,可以把软件安装库转向阿里云
6. Install net-tools, yum, wget,
vim
7. Install Java
- Yum list java*
- [root@beta-new1 www]# yum -y install java-1.8.0-openjdk.x86_64
8. Configure Java
- [root@localhost ~]# which java
/usr/bin/java
[root@localhost ~]# ls -lrt /usr/bin/java
lrwxrwxrwx. 1 root root 22 Aug 17 15:12
/usr/bin/java -> /etc/alternatives/java
[root@localhost ~]# ls -lrt
/etc/alternatives/java
lrwxrwxrwx. 1 root root 46 Aug 17 15:12
/etc/alternatives/java -> /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
9. 从官网下载Hadoop “hadoop-2.7.0.tar.gz”放到/home/hadoop目录下
10. 输入命令解压
- tar -xzvf hadoop-2.7.0.tar.gz
11. 在/home/hadoop目录下创建数据存放的文件夹,tmp、hdfs、hdfs/data、hdfs/name
12. 修改Hadoop设置
- /Hadoop2.7.3/etc/Hadoop/hadoop-env.sh
export
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.e17_3.x86_64
- /Hadoop2.7.3/etc/Hadoop/slaves
- /Hadoop2.7.3/etc/Hadoop/mapred-site.xml
- /Hadoop2.7.3/etc/Hadoop/hdfs-site.xml
- /Hadoop2.7.3/etc/Hadoop/core-site.xml
13. 在Master服务器启动hadoop
- 初始化
bin/hdfs namenode –format
l 全部启动sbin/start-all.sh,也可以分开sbin/start-dfs.sh、sbin/start-yarn.sh
l 停止Hadoop服务
l sbin/stop-all.sh
l 输入命令jps,可以看到节点相关信息
14. 访问Hadoop
- 浏览器打开http://192.168.0.182:8088/
- 浏览器打开http://192.168.0.182:50070/
添加新数据节点步骤
- 安装CentOS,设置静态IP(4个配置文件)
- 加入SSH免密码登录
- SCP把Hadoop文件复制到新机器
- 修改/Hadoop2.7.3/etc/Hadoop/slaves
- 重新初始化
- 重新启动hadoop服务
运行WordCount程序
1、在HDFS中创建目录input
hadoop fs -mkdir
/input
2、将本地的 PESXXX.txt上传到input中
hadoop fs -put PESXXX.txt /input
查看input目录下的文件
hadoop fs -ls
/input
查看PESXXX.txt文件内容
hadoop fs -cat
/input/ PESXXX.txt
3、运行程序
hadoop jar
share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /input
/output/
4、查看结果
查看输出目录hadoop
fs -ls /output
查看输出结果hadoop
fs -cat /output/part-r-0000
5、可在浏览器查看任务
CentOS上安装Hadoop2.7,添加数据节点,运行wordcount的更多相关文章
- 在Centos上安装RabbitMQ流程(转)
在Centos上安装RabbitMQ流程------------------------ 1. 需求 由于项目中要用到消息队列,经过ActiveMQ与RabbitMQ的比较,最终选择了RabbbitM ...
- 在 CentOS 上安装和配置 OpenNebula
转自:http://www.aikaiyuan.com/4889.html 我们提到的云计算一般有三种类型:软件即服务(Software as a Service, SaaS),平台即服务(Platf ...
- 在Ubuntu|CentOS上安装Shutter截图工具及快捷键设置
简介 Shutter前身叫GScrot,它是一款相当棒的截图软件. 通过Shutter,你可以截取包括选定区域.全屏幕.窗口.窗口内的控件甚至网页的图像.通过内置的强大插件机制,你可以在截图后,对图像 ...
- 如何在centos上安装epel源
一.EPEL是什么? EPEL (Extra Packages for Enterprise Linux,企业版Linux的额外软件包) 是Fedora小组维护的一个软件仓库项目,为RHEL/Cent ...
- Linux系统入门学习:在CentOS上安装phpMyAdmin
问题:我正在CentOS上运行一个MySQL/MariaDB服务,并且我想要通过网络接口来用phpMyAdmin来管理数据库.在CentOS上安装phpMyAdmin的最佳方法是什么? phpMyAd ...
- CentOS下安装Nginx并添加nginx_upload_module
安装前,最好能保证依赖的系统软件已经升级. yum update CentOS上安装Nginx,如果只是简单安装,不附加其他第三方模块,一句话可以搞定: yum install nginx ...
- CentOS上安装GitBlit服务
简单介绍 在上一篇文章中,已经简单的介绍了如何在CentOS的服务器上搭建git服务器.但是这种方式实现的服务器功能比较弱,操作起来也比较繁琐.在网上搜索了一圈,感觉Gitblit比较符合我的需求.接 ...
- 简单介绍一下在CentOS上安装Docker。
简单介绍一下在CentOS上安装Docker. 前置条件: 64-bit 系统 kernel 3.10+ 1.检查内核版本,返回的值大于3.10即可. $ uname -r 2.使用 sudo 或 r ...
- 什么是EPEL 及 Centos上安装EPEL
RHEL以及他的衍生发行版如CentOS为了稳定,官方的rpm repository提供的rpm包为了服务器安全稳定更新往往是很滞后的,很多时候需要自己编译那太辛苦了,而EPEL恰恰可以解决这两方面的 ...
随机推荐
- POJ1182食物链(并查集)
Description 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并不知道它到 ...
- 作为.net程序员学jsp,伤不起
<%@page import="java.sql.*"%> <%@ page language="java" import="jav ...
- 字符串时间和NSDate相互转换的坑
项目中服务器传回来的时间是这种格式的 Sep 5, 2016 6:59:05 PM 现在要将这段字符串转换成 2016-09-05 06:59 被坑的地方有2个点 服务器传回来的英文的Sep,调试的时 ...
- Win10 + Python + GPU版MXNet + VS2015 + RTools + R配置
最近入手一台GTX 1070的笔记本,手痒想在win10上试下GPU跑模型,所以就有了接下来的安装GPU版mxnet的坎坷历程,经过多重试验终于搞定了python和R安装mxnet,现将主要点记录如下 ...
- 【Netty】ChannelHandler和codec
一.前言 前面学习了Netty的codec框架,下面接着学习ChannelHandler与codec之间的关联. 二.ChannelHandler和codec Netty为不同的协议提供了处理器和编解 ...
- jquery deferred done then区别
jquery deferred done then区别 deferred是jquery 对promise的实现. 以下内容基于jquery 1.8及以上版本 deferred具有then done等属 ...
- 提升单元测试体验的利器--Mockito使用总结
为神马要使用Mockito? 在编写单元测试的时候,为了尽可能的保证隔离性,我们时常需要对某些不容易构造或者不容易获取或者对外部环境有依赖的对象,用一个虚拟的对象来创建以便于测试.假设你正在开发的的代 ...
- 安迪的第一个字典(Andy's First Dictionary,UVa 10815)
Description Andy, , has a dream - he wants to produce his very own dictionary. This is not an easy t ...
- SVN·最新使用教程总结
SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本. Subversion是什么? ...
- Vue 爬坑之路(四)—— 与 Vuex 的第一次接触
在 Vue.js 的项目中,如果项目结构简单, 父子组件之间的数据传递可以使用 props 或者 $emit 等方式 http://www.cnblogs.com/wisewrong/p/62660 ...