本次安装 hadoop版本为2.7.4,单节点安装。注意,在安装hadoop前要先安装jdk并配置好环境变量。

1. 上传hadoop压缩包文件到服务器上去(主机名centos1,ip 192.168.100.100),或者直接从官网wget方式下载

2. 将压缩文件解压缩到/home/koushengrui/app目录中,重命名为hadoop目录,修改配置文件(配置文件在etc/hadoop目录中)。

第一个:hadoop-env.sh

vi hadoop-env.sh

  修改

  export JAVA_HOME=${JAVA_HOME}

  为  

export JAVA_HOME=/home/koushengrui/app/jdk1.8.0_144

这一步是必须的,实测 如果不在hadoop-env.sh文件中显式指定JAVA_HOME的话,启动hdfs时会报找不到JAVA_HOME错误。

第二个:core-site.xml

<!-- 指定hadoop所使用的文件系统(URI格式,hdfs的主节点namenode的地址) -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://centos1:9000</value>
</property>

<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/home/koushengrui/app/hadoop/data</value>
</property>

第三个:hdfs-site.xml

<!-- 指定hdfs副本的数量 -->
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>

第四个:mapred-site.xml

mv mapred-site.xml.template mapred-site.xml

vi mapred-site.xml

<!-- 指定mapreduce运行在yarn上 -->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

第五个:yarn-site.xml

<!-- 指定yarn主节点resourcemanager的地址-->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>centos1</value>
</property>

<!-- reducer获取数据的方式 -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

第六个:salves

当前salves文件内容为localhost,表示会去localhost启动datanode,因为是单节点安装,所以localhost是可以的,也可以改为127.0.0.1或者192.168.100.100或者centos1.

如果为集群部署,则内容应为所有datanode所在的主机ip或者主机名。

3. 将hadoop添加到环境变量

vi /etc/proflie

export HADOOP_HOME=/home/koushengrui/app/hadoop

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile

4. 格式化namenode

用root身份, hdfs namenode -format

格式化之后,上面core-site.xml配置的hadoop.tmp.dir对应的/home/koushengrui/app/hadoop/data目录中会生成生成一些文件夹及文件,其中

/home/koushengrui/app/hadoop/data/dfs/name/current/fsimage.ckpt_0000000000000000000为维护元数据的文件。

注意,如果hadoop.tmp.dir值有二次更改的话,在启动hdfs之前要先格式化namenode,否则namenode起不来。当然,格式化之后之前存的元数据都会消失,所以hadoop.tmp.dir值配置好之后就别再改了。

5. 启动hdfs   start-dfs.sh

使用jps命令验证是否启动成功,如果有NameNode、SecondaryNameNode、datanode进程,则hdfs启动成功。

http://192.168.100.100:50070 (HDFS管理界面)

6.启动yarn  start-yarn.sh

使用jps命令验证是否启动成功,如果有ResourceManager、NodeManager进程,则yarn启动成功。

http://192.168.100.100:8088 (yarn管理界面)

跑一个自带的求圆周率的mapreduce小程序:

hadoop jar hadoop-mapreduce-examples-2.7.4.jar pi 3 3

7. 启动hdfs和yarn的时候要输入主机密码,集群多的话可能会超时,所以需要配置ssh免密登陆

hdfs的实现思想:

hdfs是通过分布式集群来存储文件,并对外提供一个虚拟的目录结构以供客户端访问

文件存储到hdfs集群中去的时候是被切分成block的(默认128M),文件的block存放在若干台datanode节点上

hdfs文件系统中的文件与真实的block之间有映射关系,由namenode管理

每一个block在集群中会存储多个副本(dfs.replication配置项),好处是可以提高数据的可靠性,还可以提高访问的并发能力

centos7安装hadoop的更多相关文章

  1. CentOS7 安装Hadoop集群环境

    先按照上一篇安装与配置好CentOS以及zookeeper http://www.cnblogs.com/dopeter/p/4609276.html 本章介绍在CentOS搭建Hadoop集群环境 ...

  2. Centos7安装 Hadoop(单节点)

    1.Hadoop简介 Hadoop是一个由Apache基金会所开发的开源分布式系统基础框架,使用Java开发,是处理大规模数据的软件平台. Hadoop可以从单一节点扩展到上千节点.用户可以在不了解分 ...

  3. centos7 安装hadoop 集群遇到的问题

    集群安装之后,hdfs 不能上传文件,也提示rute等错误,其实是防火墙问题,关闭防火墙即可. CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙.firewa ...

  4. centos7安装hadoop完全分布式集群

    groupadd test             //新建test工作组 useradd -g test phpq        //新建phpq用户并增加到test工作组 userdel 选项 用 ...

  5. CentOS7 搭建Ambari-Server,安装Hadoop集群(一)

    2017-07-05:修正几处拼写错误,之前没发现,抱歉! 第一次在cnblogs上发表文章,效果肯定不会好,希望各位多包涵. 编写这个文档的背景是月中的时候,部门老大希望我们能够抽时间学习一下Had ...

  6. CentOS7 分布式安装 Hadoop 2.8

    1. 基本环境 1.1 操作系统 操作系统:CentOS7.3 1.2 三台虚拟机 172.20.20.100 master 172.20.20.101 slave1 172.20.20.102 sl ...

  7. 基本环境安装: Centos7+Java+Hadoop+Spark+HBase+ES+Azkaban

    1.  安装VM14的方法在 人工智能标签中的<跨平台踩的大坑有提到> 2. CentOS分区设置: /boot:1024M,标准分区格式创建. swap:4096M,标准分区格式创建. ...

  8. Linux上安装Hadoop集群(CentOS7+hadoop-2.8.0)

    1下载hadoop 2安装3个虚拟机并实现ssh免密码登录 2.1安装3个机器 2.2检查机器名称 2.3修改/etc/hosts文件 2.4 给3个机器生成秘钥文件 2.5 在hserver1上创建 ...

  9. Linux上安装Hadoop集群(CentOS7+hadoop-2.8.3)

    https://blog.csdn.net/pucao_cug/article/details/71698903 1下载hadoop 2安装3个虚拟机并实现ssh免密码登录 2.1安装3个机器 2.2 ...

随机推荐

  1. 一个ButtonDemo的实现过程。

    来自JDK API 1.6.0: Try this: Click the Launch button to run the Button Demo using Java™ Web Start (dow ...

  2. 100851K King’s Inspection

    传送门 题目大意 给你一张图,求这张图的汉密尔顿回路. 分析 因为m≤n+20,所以如果存在回路一定是在一个环中加入了至多20条边.我们先考虑dfs,但我们发现如果出现图1这种情况就会是复杂度爆炸 图 ...

  3. Luogu 2114 [NOI2014]起床困难综合症

    还挺简单的. 发现这几个二进制运算并不会进位,所以我们从高到低按位贪心,一位一位计算贡献. 发现$2^{30}$刚好大于$1e9$,所以最多只要算29位. 首先算出一个全都是$0$的二进制数和一个全都 ...

  4. Luogu 3626 [APIO2009]会议中心

    很优美的解法. 推荐大佬博客 如果没有保证字典序最小这一个要求,这题就是一个水题了,但是要保证字典序最小,然后我就不会了…… 如果一条线段能放入一个区间$[l', r']$并且不影响最优答案,那么对于 ...

  5. 前端基础 之 jQuery

    浏览目录 jQuery介绍 jQuery的优势 jQuery对象 jQuery内容 一.jQuery介绍 1.jQuery是一个轻量级的.兼容多浏览器的JavaScript库. 2.jQuery使用户 ...

  6. HUST高级软件工程--测试管理工具实践--Day3

    测试管理工具实践--Day3 今天完成任务情况: 小靳 今天,大家参加考试,时间比较紧促.庆幸,自己的队伍比较给力,大家都没有拖后腿,深夜还在为自己的任务拼搏,很是激励人心 我今天的工作就是 学会了注 ...

  7. java打成jar包后,class,getResource()出现null指针异常

    1.SqlHelper.java有包路径没?如果有,是不是类似于com.db.jdbc? 不管怎么办,你SqlHelper.class.getResourceAsStream("/mysql ...

  8. Java50道经典习题-程序38 求字符串长度

    题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度. import java.util.Scanner; public class Prog38 { public stat ...

  9. Metasploit 读书笔记-持久控制

    Meterpreter的persisitence脚本允许主任meterpreter代理,以确保系统重启之后Meterpreter还能运行。如果是反弹连接方式,可以设置连接攻击机的时间间隔。如果是绑定方 ...

  10. tensorboard的安装及遇到的问题

    1 安装tensorboard 打开anaconda prompt,键入下边的命令: activate tensorflow pip install tensorboard 当执行“activate ...