您的位置:首页 > 运维架构

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

2017-12-05 13:19 281 查看
点开此文章,说明你对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学生所讲,讲解很详细,有视频、有文档、有软件,很不错的教程。



也可关注我的微信公众号『TyronToCoder』,一起交流学习。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息