centos中-hadoop单机安装及伪分布式运行实例
创建用户并加入授权
1,创建hadoop用户
sudo useradd -m hadoop -s /bin/bash
2,修改sudo的配置文件,位于/etc/sudoers,需要root权限才可以读写
找到root ALL=(ALL) ALL这一行,在后面再加上一行就可以了(不用引号):
“username ALL=(ALL) ALL”,将hadoop用户添加到sudo中
安装vim编辑器:
sudo yum install vim
安装SSH、配置SSH无密码登陆
集群、单节点模式都需要用到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上面运行命令)
1,sudo yum install openssh-server
2,安装后进行测试
ssh localhost
3,利用ssh-keygen 生成密钥,并将密钥加入到授权中:
- exit # 退出刚才的 ssh localhost
- cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
- ssh-keygen -t rsa # 会有提示,都按回车就可以
- cat ./id_rsa.pub >> ./authorized_keys # 加入授权
4,再测试就不要密码了
安装java环境
1,安装jdk jre
sudo yum install openjdk-7-jre openjdk-7-jdk
2,查看软件是否安装成功。首先我们需要查看软件是否已经安装,或者说查看安装的软件包名称
rpm -qa |grep openjdk-7-jdk
查看具体路径:
rpm -ql 上个命令查看到的 openjdk-7-jdk全名称
3,修改/etc/profile修改环境变量
添加JAVA_HOME环境变量:
export JAVA_HOME=JDK安装路径
配置完成时候执行:source /etc/profile使环境变量生效
检测java安装:
echo $JAVA_HOME # 检验变量值
java -version
下载安装配置hadoop
1,下载:一般选择下载最新的稳定版本,即下载 "stable" 下的 hadoop-2.x.y.tar.gz 这个格式的文件,这是编译好的
,另一个包含 src 的则是 Hadoop 源代码,需要进行编译才可使用
其中涉及到一些hadoop位数问题,我的是centos32位的,
一个32位hadoop2.6.0的下载地址
链接:http://pan.baidu.com/s/1mi7IPz6 密码:faa0
2,安装:将 Hadoop 安装至 /usr/local/ 中:
- sudo tar -zxf ~/下载/hadoop-2.6.0.tar.gz -C /usr/local # 解压到/usr/local中
- cd /usr/local/
- sudo mv ./hadoop-2.6.0/ ./hadoop # 将文件夹名改为hadoop
- sudo chown -R hadoop ./hadoop # 修改文件权限
3,查看hadoop是否安装成功:
- cd /usr/local/hadoop
- ./bin/hadoop version
单机测试:
将 input 文件夹中的所有文件作为输入,筛选当中符合正则表达式 dfs[a-z.]+ 的单词并统计出现的次数,最后输出结果到 output 文件夹中。
- cd /usr/local/hadoop
- mkdir ./input
- cp ./etc/hadoop/*.xml ./input # 将配置文件作为输入文件
- ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'
- cat ./output/* # 查看运行结果
如果结果是:
1 dfsadmin
则表示成功
注意:Hadoop 默认不会覆盖结果文件,因此再次运行上面实例会提示出错,需要先将 ./output 删除。
rm -r ./output
伪分布式配置
1,修改配置文件 core-site.xml (通过 gedit 编辑会比较方便: gedit ./etc/hadoop/core-site.xml)修改其中的<configuration></configuration>
修改为下面配置:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
2,同样的,修改配置文件 hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
3,配置完成后,执行 NameNode 的格式化:
./bin/hdfs namenode -format
执行过程最后如果含有:Exiting with statu 0则成功,如果是1则失败
4,开启 NameNode 和 DataNode 守护进程:
./sbin/start-dfs.sh #start-dfs.sh是个完整的可执行文件,中间没有空格
然后执行命令:
[hadoop@localhost /]$ jps
8067 DataNode
8349 Jps
7972 NameNode
8238 SecondaryNameNode
下面四个少一个都是失败!!
5,/etc/profile 中配置hadoop的环境变量
- export HADOOP_HOME=/usr/local/hadoop
- export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
注意:务必执行 :source /etc/profile
启动hadoop:./sbin/start-dfs.sh
jps查看
运行伪分布式实例
1,HDFS 中创建用户目录:
./bin/hdfs dfs -mkdir -p /user/hadoop
2,将 ./etc/hadoop 中的 xml 文件作为输入文件复制到分布式文件系统中,
即将 /usr/local/hadoop/etc/hadoop 复制到分布式文件系统中的 /user/hadoop/input 中
- ./bin/hdfs dfs -mkdir input
- ./bin/hdfs dfs -put ./etc/hadoop/*.xml input
3,复制完成后,可以通过如下命令查看文件列表:
./bin/hdfs dfs -ls input
4,伪分布式运行 MapReduce 作业的方式跟单机模式相同,区别在于伪分布式读取的是HDFS中的文件
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'
5,查看运行结果的命令(查看的是位于 HDFS 中的输出结果):
./bin/hdfs dfs -cat output/*
6,也可以将运行结果取回到本地:
- rm -r ./output # 先删除本地的 output 文件夹(如果存在)
- ./bin/hdfs dfs -get output ./output # 将 HDFS 上的 output 文件夹拷贝到本机
- cat ./output/*
最后记得删除output文件目录:
./bin/hdfs dfs -rm -r output
yarn的配置及使用
1, 首先修改配置文件 mapred-site.xml,这边需要先进行重命名
mv ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml2,修改<configuration>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
3,修改配置文件 yarn-site.xml:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
4,启动 YARN 了(需要先执行过 ./sbin/start-dfs.sh):
- ./sbin/start-yarn.sh # 启动YARN
- ./sbin/mr-jobhistory-daemon.sh start historyserver # 开启历史服务器,才能在Web中查看任务运行情况
启动后多了:NodeManger和ResourceManager
web访问地址:
http:localhost:8088/cluster
注意:不启动 YARN 需重命名 mapred-site.xml
关闭 YARN 的脚本如下:
- ./sbin/stop-yarn.sh
- ./sbin/mr-jobhistory-daemon.sh stop historyserver
加入如下环境变量就可以直接执行bin和sbin中的可执行文件了export PATH=$PATH:/usr/local/hadoop/sbin:/usr/local/hadoop/bin
centos中-hadoop单机安装及伪分布式运行实例的更多相关文章
- Hadoop单机模式和伪分布式搭建教程CentOS
1. 安装JAVA环境 2. Hadoop下载地址: http://archive.apache.org/dist/hadoop/core/ tar -zxvf hadoop-2.6.0.tar.gz ...
- Hadoop三种安装模式:单机模式,伪分布式,真正分布式
Hadoop三种安装模式:单机模式,伪分布式,真正分布式 一 单机模式standalone单 机模式是Hadoop的默认模式.当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守 ...
- centos 7下Hadoop 2.7.2 伪分布式安装
centos 7 下Hadoop 2.7.2 伪分布式安装,安装jdk,免密匙登录,配置mapreduce,配置YARN.详细步骤如下: 1.0 安装JDK 1.1 查看是否安装了openjdk [l ...
- 安装部署Apache Hadoop (本地模式和伪分布式)
本节内容: Hadoop版本 安装部署Hadoop 一.Hadoop版本 1. Hadoop版本种类 目前Hadoop发行版非常多,有华为发行版.Intel发行版.Cloudera发行版(CDH)等, ...
- HBase入门基础教程之单机模式与伪分布式模式安装(转)
原文链接:HBase入门基础教程 在本篇文章中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建HBase伪分布式环境的前提是我们已经搭建好了Had ...
- HBase入门基础教程 HBase之单机模式与伪分布式模式安装
在本篇文章中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建HBase伪分布式环境的前提是我们已经搭建好了Hadoop完全分布式环境,搭建Hado ...
- 【HBase基础教程】1、HBase之单机模式与伪分布式模式安装(转)
在这篇blog中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建hbase伪分布式环境的前提是我们已经搭建好了hadoop完全分布式环境,搭建ha ...
- 虚拟机Ubuntu(18.04.2)下安装配置Hadoop(2.9.2)(伪分布式+Java8)
[本文结构] [1]安装Hadoop前的准备工作 [1.1] 创建新用户 [1.2] 更新APT [1.3] 安装SSH [1.4] 安装Java环境 [2]安装和配置hadoop [2.1] Had ...
- Hadoop 在windows 上伪分布式的安装过程
第一部分:Hadoop 在windows 上伪分布式的安装过程 安装JDK 1.下载JDK http://www.oracle.com/technetwork/java/javaee/d ...
随机推荐
- IntelliJ IDEA 2017.1.4 x64配置说明
只是为了研究下idea这款编译器怎么使用.开门见山,说下如何配置这款编译器,不配置也能用,但是强迫症表示不服.下面直入正题: 下载与安装就不说了,除了更改安装目录外,没啥注意的地方,建议下载idea去 ...
- Leetcode 494 Target Sum 动态规划 背包+滚动数据
这是一道水题,作为没有货的水货楼主如是说. 题意:已知一个数组nums {a1,a2,a3,.....,an}(其中0<ai <=1000(1<=k<=n, n<=20) ...
- eclipse tomcat add时提示The Tomcat server configuration at \Servers\Tomcat v6.0 Server at localhost-
原因为左侧项目中把对于网络应用的servers项目给关闭或删除了,导致相应的localhost-config无法定位,所以才发生的错误. 解决办法:删除servers下的tomcat 重新添加serv ...
- CoreLocation 框架
获取设备的地理位置和方向 一.概述 CoreLocation框架,它提供了如下几种服务 确定设备的地理位置 高度 方向 或到附近 iBeacon 的相对位置. 这个框架使用所有可用的车载硬件.如 Wi ...
- CSS3学习系列之盒样式(一)
盒的基本类型 在css中,使用display属性来定义盒的类型,总体上来说,css中的盒分为block类型与inline类型 inline-block类型 inline-block类型是在css2.1 ...
- ThreadLocal经典分页
package com.netease.live.admin.util; import com.netease.live.common.util.Constant; /** * * @author b ...
- Web直接导入导出SHP/CAD实现探讨。
1.导入SHP/CAD文件 WEB具有直接美观展现功能,功能实现到可视化最好不要超过3S,那么就要限制导入文件的大小和优化算法了. 1.1.SHP导入实现思路 SHP格式开源,Git上随便可以找到读取 ...
- Kafka 源代码分析之log框架介绍
这里主要介绍log管理,读写相关的类的调用关系的介绍. 在围绕log的实际处理上.有很多层的封装和调用.这里主要介绍一下调用结构和顺序. 首先从LogManager开始. 调用关系简单如下:LogMa ...
- ajax来判断用户是否登录与添加
首先在用ajax之前,先说一下JSON: JSON:javascript object notation js对象标记 对于json,我们只需要知道如何定义json?如何输出?怎么遍历? 1.定义 ...
- dubbo结构及通信简介
一.导论 dubbo作为阿里开发优秀的rpc服务框架,现已广泛用于各大rpc项目之间的远程通信,虽然阿里现在已经没有维护dubbo的开发,但是其结构设计也是值得学习. 二.结构简介 这部分只是简单介绍 ...