创建用户并加入授权

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 生成密钥,并将密钥加入到授权中:

  1. exit # 退出刚才的 ssh localhost
  2. cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
  3. ssh-keygen -t rsa # 会有提示,都按回车就可以
  4. 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/ 中:

  1. sudo tar -zxf ~/下载/hadoop-2.6.0.tar.gz -C /usr/local # 解压到/usr/local中
  2. cd /usr/local/
  3. sudo mv ./hadoop-2.6.0/ ./hadoop # 将文件夹名改为hadoop
  4. sudo chown -R hadoop ./hadoop # 修改文件权限

3,查看hadoop是否安装成功:

  1. cd /usr/local/hadoop
  2. ./bin/hadoop version

单机测试:

将 input 文件夹中的所有文件作为输入,筛选当中符合正则表达式 dfs[a-z.]+ 的单词并统计出现的次数,最后输出结果到 output 文件夹中。

  1. cd /usr/local/hadoop
  2. mkdir ./input
  3. cp ./etc/hadoop/*.xml ./input # 将配置文件作为输入文件
  4. ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'
  5. 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的环境变量

  1. export HADOOP_HOME=/usr/local/hadoop
  2. 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 中

  1. ./bin/hdfs dfs -mkdir input
  2. ./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,也可以将运行结果取回到本地:

  1. rm -r ./output # 先删除本地的 output 文件夹(如果存在)
  2. ./bin/hdfs dfs -get output ./output # 将 HDFS 上的 output 文件夹拷贝到本机
  3. 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):

  1. ./sbin/start-yarn.sh # 启动YARN
  2. ./sbin/mr-jobhistory-daemon.sh start historyserver # 开启历史服务器,才能在Web中查看任务运行情况

启动后多了:NodeManger和ResourceManager

web访问地址:

http:localhost:8088/cluster

注意:不启动 YARN 需重命名 mapred-site.xml

关闭 YARN 的脚本如下:

  1. ./sbin/stop-yarn.sh
  2. ./sbin/mr-jobhistory-daemon.sh stop historyserver
加入如下环境变量就可以直接执行bin和sbin中的可执行文件了
export PATH=$PATH:/usr/local/hadoop/sbin:/usr/local/hadoop/bin

centos中-hadoop单机安装及伪分布式运行实例的更多相关文章

  1. Hadoop单机模式和伪分布式搭建教程CentOS

    1. 安装JAVA环境 2. Hadoop下载地址: http://archive.apache.org/dist/hadoop/core/ tar -zxvf hadoop-2.6.0.tar.gz ...

  2. Hadoop三种安装模式:单机模式,伪分布式,真正分布式

    Hadoop三种安装模式:单机模式,伪分布式,真正分布式 一 单机模式standalone单 机模式是Hadoop的默认模式.当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守 ...

  3. centos 7下Hadoop 2.7.2 伪分布式安装

    centos 7 下Hadoop 2.7.2 伪分布式安装,安装jdk,免密匙登录,配置mapreduce,配置YARN.详细步骤如下: 1.0 安装JDK 1.1 查看是否安装了openjdk [l ...

  4. 安装部署Apache Hadoop (本地模式和伪分布式)

    本节内容: Hadoop版本 安装部署Hadoop 一.Hadoop版本 1. Hadoop版本种类 目前Hadoop发行版非常多,有华为发行版.Intel发行版.Cloudera发行版(CDH)等, ...

  5. HBase入门基础教程之单机模式与伪分布式模式安装(转)

    原文链接:HBase入门基础教程 在本篇文章中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建HBase伪分布式环境的前提是我们已经搭建好了Had ...

  6. HBase入门基础教程 HBase之单机模式与伪分布式模式安装

    在本篇文章中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建HBase伪分布式环境的前提是我们已经搭建好了Hadoop完全分布式环境,搭建Hado ...

  7. 【HBase基础教程】1、HBase之单机模式与伪分布式模式安装(转)

    在这篇blog中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建hbase伪分布式环境的前提是我们已经搭建好了hadoop完全分布式环境,搭建ha ...

  8. 虚拟机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 ...

  9. Hadoop 在windows 上伪分布式的安装过程

    第一部分:Hadoop 在windows 上伪分布式的安装过程 安装JDK 1.下载JDK        http://www.oracle.com/technetwork/java/javaee/d ...

随机推荐

  1. Work Time Manager【开源项目】- 创建自己日志组件 2.0重构

    Hello all , 我又回来了 这次我们真是开始来聊聊开源项目里,小而有用的模块或者组件的开发思想. 同时,软件已经更新到1.60的版本了,支持新用户注册,可以不再使用统一的test账户了. 您可 ...

  2. [转] .NET领域驱动设计—实践(穿过迷雾走向光明)

    阅读目录 开篇介绍 1.1示例介绍 (OnlineExamination在线考试系统介绍) 1.2分析.建模 (对真实业务进行分析.模型化) 1.2.1 用例分析 (提取系统的所有功能需求) 1.3系 ...

  3. [0] AssemblyInfo.cs文件介绍

    AssemblyInfo.cs文件:包含程序版本.信息.版权的属性文件 先介绍AssemblyInfo.cs文件中的程序集属性 内容: using System.Reflection;using Sy ...

  4. 【DG】[三思笔记]一步一步学DataGuard

    [DG][三思笔记]一步一步学DataGuard 它有无数个名字,有人叫它dg,有人叫它数据卫士,有人叫它data guard,在oracle的各项特性中它有着举足轻理的地位,它就是(掌声)..... ...

  5. 《JavaScript高级程序设计》笔记一

    第一章 JavaScript简介 一.JavaScript的起源 JavaScript诞生于1995年.当时,它的主要作用是处理一些输入验证操作.之前的话,都是把表单数据发送到服务器端,然后再去判断有 ...

  6. yii 输出当前的sql语句

    <?php namespace app\controllers; use yii\web\Controller; use yii\data\Pagination; use app\models\ ...

  7. spring aop + xmemcached 配置service层缓存策略

    Memcached 作用与使用 基本介绍 1,对于缓存的存取方式,简言之,就是以键值对的形式将数据保存在内存中.在日常业务中涉及的操作无非就是增删改查.加入缓存机制后,查询的时候,对数据进行缓存,增删 ...

  8. php打包文件为ZIP包后下载到本地

    这是一个工作中需要打包下载当前产品的所有图片到本地,文件格式为ZIP压缩包,打包下载文件跟图片一样,本程序细节为实际情况,使用需按照自己实际情况书写:<?php/**************** ...

  9. 【LeetCode】118. Pascal's Triangle

    题目: Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5,R ...

  10. JQuery实现点击关注和取消功能

    点赞,网络用语,表示“赞同”.“喜爱”. 该网络语来源于网络社区的“赞”功能.送出和收获的赞的多少.赞的给予偏好等,在某种程度能反映出你是怎样的人以及处于何种状态.点赞的背后,反映出你自己.与之对应的 ...