博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hadoop架构以及伪分布式安装
阅读量:5774 次
发布时间:2019-06-18

本文共 2864 字,大约阅读时间需要 9 分钟。

hot3.png

一、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分配的计算任务。 

115854_UuCx_1470003.jpg

二、伪分布式部署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(注意与自己的主机名保持一致)

    
        
fs.default.name
        
hdfs://hadoop:9000
        
change your own hostname
    
    
        
hadoop.tmp.dir
        
/usr/local/hadoop/tmp
    
 

hdfs-site.xml

    
        
dfs.replication
        
1
    
    
        
dfs.permissions
        
false
    

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

    
        
mapred.job.tracker
        
hadoop:9001
        
change your own hostname
    

参考文献:

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

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

转载于:https://my.oschina.net/u/1470003/blog/208651

你可能感兴趣的文章
16. Ext.ux.TabCloseMenu插件的使用(TabPanel右键关闭菜单) 示例
查看>>
在centos7中用mariadb代替了mysql数据库吗
查看>>
【POI】导出excel文件,不生成中间文件,直接将内存中的数据创建对象下载到浏览器...
查看>>
卡尔曼滤波3
查看>>
hibernate、mybatis、beetsql的学习
查看>>
【Docker】Docker概述
查看>>
win10 如何让其他机器访问自己机器上的mysql
查看>>
layer.js:2 Uncaught TypeError: Cannot read property 'extend' of undefined
查看>>
uvm设计分析——callback
查看>>
Android 分包 MultiDex 策略总结
查看>>
Zookeeper安装和配置详解
查看>>
curl发送xml , xml和数组互转
查看>>
jquery插件-table转Json数据插件
查看>>
ASP.NET Core学习之二 菜鸟踩坑
查看>>
Centos7.x:开机启动服务的配置和管理
查看>>
HTML5 浏览器返回按钮/手机返回按钮事件监听
查看>>
使用 HPC Pack 为 Azure 中的 Windows HPC 工作负荷创建和管理群集的选项
查看>>
xss
查看>>
iOS:百度长语音识别具体的封装:识别、播放、进度刷新
查看>>
JS获取服务器时间并且计算距离当前指定时间差的函数
查看>>