文档章节

Hadoop架构以及伪分布式安装

Zhang_H
 Zhang_H
发布于 2014/03/16 12:58
字数 1081
阅读 1.2K
收藏 10

一、Hadoop简介

  1. Hadoop:一个分布式系统基础架构,适合大数据的分布式存储与计算平台。两个核心项目:HDFS、MapReduce

  2. HDFS:分布式文件系统,主要解决分布式的存储问题。

  3. MapReduce:并行计算框架,主要解决分布式的计算问题。

  4. Hadoop的特点:高可靠、高扩展、高性能、高容错、低成本

  5. Hadoop架构:

    MapReduce中一个准备提交的应用程序成为作业(job),从一个作业划分出的、运行于各计算节点的工作单位成为任务(task);

    Hadoop提供的分布式文件系统(HDFS)主要负责各个节点上的数据存储,实现高吞吐率的数据读写。

    Hadoop使用Master/Slave架构。

    1. 以HDFS角度看(一个文件会被分割成若干个默认64M的block):

       主节点(只有一个): namenode。接受用户数据、维护文件系统的目录结构、管理文件与block和block与                                                        datanode之间的关系。

       从节点(若干个): datanode。存储block,为保证数据安全会有备份。

    2. 以MapReduce角度看:

      主节点(只有一个): JobTracker。接受客户提交的服务任务、将任务分配给TaskTracker执行、监控                                                                TaskTracker执行情况。

      从节点(有很多个); TaskTracker。执行JobTracker分配的计算任务。 

二、伪分布式部署Hadoop   

  1. 安装虚拟机(网络设置为host-only)

  2. 设置静态IP(使宿主机与虚拟机位于同一网段)

  3. 修改主机名、绑定主机名与IP

    1. 修改主机名:配置文件位于/etc/sysconfig/network

    2. 绑定主机与IP:配置文件位于/etc/hosts

    3. 重启

  4. 关闭防火墙及自动启动

    1. 查看防火墙状态:service iptables status

    2. 关闭防火墙:service iptables stop

    3. 查看防火墙运行级别:chkconfig | grep iptables

    4. 关闭防火墙自动启动:chkconfig iptables off

  5. 配置SSH免密码登陆

    1. 以rsa加密算法产生密钥:ssh-keygen -t rsa(产生的密码位于~/.shh)

    2. 拷贝id_rsa.pub:cp id_rsa.pub authorized_keys

    3. 验证(免密码登陆本机):ssh locahost

  6. 安装JDK

    1. 复制JDK到安装目录(我选择安装到/usr/local/jdk。注意与JDK环境变量,Hadoop配置中的设置保持一致)

    2. 对JDK安装文件添加执行权限:chmod u+x jdk.....bin

    3. 解压缩:./jdk.....bin

    4. 重命名安装目录:mv jdk...... jdk

    5. 添加环境变量:配置文件位于/etc/profile

            1. export JAVA_HOME=/usr/local/jdk

            2. export PATH=.:$JAVA_HOME/bin:$PATH

    6. 更改立即生效:source /etc/profile

    7. 验证:java -version

  7. 安装Hadoop

    1. 复制hadoop安装包到安装目录

    2. 解压hadoop安装包:tar -zxvf hadoop.....tar.gz

    3. 重命名安装目录:mv hadoop..... hadoop

    4. 添加环境变量:配置文件位于/etc/profile

            1. export HADOOP_HOME=/usr/local/hadoop

            2. export PATH=.:$HADOOP_HOME/bin:$........(JDK环境变量)

  8. 修改Hadoop配置文件

    1. 配置文件位于:$HADOOP_HOME/config目录下

    2. hadoop-env.sh(第九行去掉注释,改为):export JAVA_HOME=/usr/local/jdk/

    3. core-site.xml(配置内容见文末)

    4. hdfs-site.xml(配置内容见文末)

    5. mapred-site.xml(配置内容见文末)

  9. 格式化namenode、启动Hadoop

    1. 格式化:hadoop namenode -format

    2. 启动hadoop:start-all.sh

    3. 验证查看JAVA进程:jps(应显示6个进程)

    4. 访问:http://hadoop:50070

    5. 访问:http://hadoop:50030

安装几点说明:

  1. 关闭windows下防火墙,避免网络访问的错误

  2. 登陆linux时以root身份登陆,避免权限问题

  3. 每一步设置完成后应及时验证,避免问题

  4. JDK,HADOOP环境变量的配置中与自己安装路径保持一致

  5. 配置文件内的主机名与自己的主机名保持一致

  6. 禁止多次格式化namenode。若已经重复格式化,清空$HADOOP_HOME/tmp文件夹

HADOOP的配置文件内容如下:

core-site.xml(注意与自己的主机名保持一致)

<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://hadoop:9000</value>
        <description>change your own hostname</description>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop/tmp</value>
    </property> 
</configuration>

hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
</configuration>

mapred-site.xml(注意与自己的主机名保持一致)

<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>hadoop:9001</value>
        <description>change your own hostname</description>
    </property>
</configuration>

参考文献:

  1. 实战Hadoop:开启云计算的捷径(刘鹏)

  2. 百度百科(hadoop)以及其它来自互联网的资料



© 著作权归作者所有

Zhang_H
粉丝 6
博文 39
码字总数 21186
作品 0
西安
私信 提问
Thrift代理Hbase

使用HBase的2种方式: 1.直接使用HBase客户端API,这样就限制了只能使用java语言 2.使用一些能够将请求转换成API的代理,这些代理将原始Java API包装成其他协议,这样客户端可以使用API提供的...

ksfzhaohui
2016/09/22
988
0
hadoop本地(独立)模式-安装

本人博客开始迁移,博客整个架构自己搭建及编码http://www.cookqq.com/listBlog.action 本地(独立)模式 Hadoop的默认配置即为本地模式,此时Hadoop使用本地文件系统而非分布式文件系统,而且...

cookqq
2013/04/11
3K
0
Hadoop相关文章索引(3)

环境部署 hadoop-2.7.0.tar.gz hadoop 2.6.0单节点-伪分布式模式安装 hadoop2.x配置jobHistory server(转) Hadoop2.7.2集群搭建详解(三台) 基本常识 Hadoop1.x和2.X的HDFS fsimage和edi...

司小幽
2018/08/22
0
0
超人学院大数据高薪就业班第七期精彩课程抢先看

超人学院大数据高薪就业班第七期火爆招生中,新的一期,内容部不断增加,还有更多优惠呦,精彩内容抢先看: 1、Linux课程:如果你没有使用过Linux,别担心,本内容让你轻松入门,讲解Linux基...

超人学院
2015/04/30
149
0
Hadoop集群安装部署详解

本文主要介绍Hadoop的一些基本信息及完全分布式安装,每一步都是笔者亲自操作所记录下来的,现分享出来希望能帮助到正准备研究Hadoop的朋友 Hadoop介绍 Hadoop由HDFS、MapReduce、Hbase、Hiv...

阿郎_
2017/04/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

spring-boot-maven-plugin not found的解决方案。

通过IDE创建一个springboot项目, <plugin> <groupId>org.springframework.boot</groupId>//这行红色 <artifactId>spring-boot-maven-plugin</artifactId>//这行红色</plugin> 提示sprin......

一片云里的天空
今天
52
0
OSChina 周三乱弹 —— 我可能是个憨憨

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @宇辰OSC :分享Hare Je的单曲《Alan Walker-Faded(Hare Je remix)》: #今日歌曲推荐# 可以放松大脑的一首纯音乐 《Alan Walker-Faded(Har...

小小编辑
今天
99
0
搞定SpringBoot多数据源(3):参数化变更源

春节将至,今天放假了,在此祝小伙伴们新春大吉,身体健康,思路清晰,永远无BUG! 一句话概括:参数化变更源意思是根据参数动态添加数据源以及切换数据源,解决不确定数据源的问题。 1. 引言...

mason技术记录
昨天
99
0
sql 基础知识

sql 基础知识 不要极至最求一条sql语句搞定一切,可合理拆分为多条语句 1. sql 变量定义与赋值 Sql 语句中,直接在SELECT使用@定义一个变量,如:[@a](https://my.oschina.net/a8856225a)。 ...

DrChenXX
昨天
57
0
MacOSX 安装 TensorFlow

TensorFlow是一个端到端开源机器学习平台。它拥有一个包含各种工具、库和社区资源的全面灵活生态系统,可以让研究人员推动机器学习领域的先进技术的。 准备 安装 Anaconda TensorFlow 安装的...

叉叉敌
昨天
79
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部