设为首页收藏本站

小牛社区-大数据学习交流社区|大数据免费学习资源

 找回密码
 立即注册!

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 78|回复: 0

【Hadoop学习笔记】1、环境搭建

[复制链接]

59

主题

0

帖子

30

积分

吃土小白

Rank: 1

积分
30
发表于 2017-12-5 20:21:12 | 显示全部楼层 |阅读模式
        点开此文章,说明你对Hadoop至少有一点点的兴趣,那么就让我们一起来学习Hadoop的相关知识吧。我也会在接下来的文章推送中分享我学习Hadoop的相关笔记,愿与大家一起进步!

1、Hadoop是什么?

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。

用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。

Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

-------摘自【百度百科】

2、Hadoop能做什么?

        Hadoop适合应用于大数据存储和大数据分析的应用,适合于服务器几千台到几万台的集群运行,支持PB级的存储容量。

        Hadoop典型应用有:搜索、日志处理、推荐系统、数据分析、视频图像分析、数据保存等。

3、Hadoop的特点

a、高可靠性。Hadoop 按位存储和处理数据的能力值得人们信赖。

b、高扩展性。Hadoop 是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。

c、高效性。Hadoop 能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。

d、高容错性。Hadoop 能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。

e、低成本。Hadoop 是开源的,项目的软件成本因此会大大降低。

4、Hadoop环境搭建之伪分布式安装

这是最后的实验成果:

开发版本:Hadoop Apache 2.4.1

开发环境:CentOS 6.4

1)准备Linux环境

    1.1、网络配置----> 主机名,ip地址,域名映射

     a、先用ifconfig查看目前的活跃网卡,然后修改网卡的ip地址配置setup配置ip地址(简易图形界面)或者vi /etc/sysconfig/networking/devices/ifcfg-eth0 配置文件来修改ip地址;

    b、vi /etc/sysconfig/network  本机的主机名

    c、vi /etc/hosts  集群中的主机域名映射表

    1.2、系统配置 ----> sudoers加入普通用户,以便于利用sudo指令、时间配置,启动级别配置,防火墙配置

    a、service iptables stop 关闭防火墙服务

    b、chkconfig iptables off关闭防火墙自启动

    c、service iptables status检查防火墙关闭情况

    d、chkconfig iptables --list 查看防火墙自启动情况

2)安装JDK

    2.1上传alt+p 后出现sftp窗口,然后put d:\xxx\yy\ll\jdk-7u_65-i585.tar.gz

    2.2解压jdk

                        #创建文件夹  mkdir /home/hadoop/app

                        #解压 tar -zxvf jdk-7u55-linux-i586.tar.gz -C /home/hadoop/app

    2.3 将java添加到环境变量中

                vim /etc/profile

        #在文件最后添加

        export JAVA_HOME=/home/hadoop/app/jdk-7u_65-i585

        export PATH=$PATH:$JAVA_HOME/bin

        #刷新配置 

        source /etc/profile

3)安装hadoop2.4.1

        先上传hadoop的安装包到服务器上去/home/hadoop/

        注意:hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop

        伪分布式需要修改5个配置文件:

        第一个:hadoop-env.sh

        第二个:core-site.xml

        第三个:hdfs-site.xml   hdfs-default.xml

        第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)

        第五个:yarn-site.xml

  3.2 将hadoop添加到环境变量

        vim /etc/proflie

        export JAVA_HOME=/home/hadoop/app/jdk1.7.0_65

        export HADOOP_HOME=/home/hadoop/app/hadoop-2.4.1

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

$HADOOP_HOME/sbin

        source /etc/profile

   3.3 格式化namenode(是对namenode进行初始化)

        hdfs namenode -format (hadoop namenode -format)

   3.4 启动hadoop

                        先启动HDFS    sbin/start-dfs.sh

                        再启动YARN   sbin/start-yarn.sh

           3.5 验证是否启动成功

                        使用jps命令验证 如上图所示。



5、安装过程中遇到的问题

1)按照教程步骤完成后,到最后启动阶段,无法启动服务,如下图:


进一步尝试:在core-site.xml文件中使用主机名时无法启动nameNode服务,但使用127.0.0.1时可以。

解决方案:自定义的主机名中不能有下划线。(查了好多资料才找到,也没有说明原因)

2)主机名修改好后,终于可以启动了,但是问题又来了,当启动了NameNode服务时,DataNode服务没有启动。

        进一步尝试:重启,又一次格式化,DataNode服务启动了,但是NameNode服务没有启动(内心奔溃了)

        出错原因:由于两次或两次以上的格式化,导致NameNode和DataNode的clusterID不同

解决方案:修改clusterID,要查看clusterID,需要找到core-site.xml的hadoop.tem.dir节点下对应文件

强烈建议:当有问题时,记得去查看日志文件在/app/hadoop-2.4.1/logs 文件夹下查看。

6、说明

1)由于本人Linux的知识掌握不是很扎实,学习起来稍微有点费劲,但是搭好Hadoop的这个环境以后,感觉基本的Linux操作已经稍有熟悉;

2)最最最关键的一点:免费分享我学习的教程,在公众号后台回复“Hadoop学习”即可获取Hadoop学习的全套教程。此套教程,是由传智讲师为周末班的Hadoop学生所讲,讲解很详细,有视频、有文档、有软件,很不错的教程。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册!

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册!

本版积分规则

快速回复 返回顶部 返回列表