大数据学习历程
最近在参加大数据的比赛,所以准备了一些,预赛已经通过了,开始准备初赛,就不能只停留在知识的理解上,需要实战部分,所以开始认真对待,还是从基础开始学吧。今天先认识一下Hadoop生态圈。
HADOOP生态圈简介
Hadoop
Hadoop由Apache基金会开发的分布式系统基础架构,是利用集群对大量数据进行分布式处理和存储的软件框架。用户可以轻松地在Hadoop集群上开发和运行处理海量数据的应用程序。
Hadoop有高可靠,高扩展,高效性,高容错等优点。
Hadoop 框架最核心的设计就是HDFS和MapReduce。
HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算。
此外,Hadoop还包括了Hive,Hbase,ZooKeeper,Pig,Avro,Sqoop,Flume,Mahout等项目。
HDFS分布式存储系统
MapReduce分布式计算
YARN分布式资源管理
Spark 基于内存计算
streaming
秒级
storm
毫秒级
Hive/pig 基于mapreduce(离线计算)
大数据分析师经常用的工具,写SQL语句
Oozie 作业流调度系统
zookeeper分布式协调服务
Hbase 分布式数据库
面向列的数据存储,
sqoop 数据库
将数据在关系型数据库和非关系型数据库之间进行导入导出
Mahout
数据挖掘算法分析
hadoop实验
hadoop伪分布式安装
Hadoop的运行模式分为3种:本地运行模式,伪分布运行模式,完全分布运行模式。
(1)本地模式(local mode)
这种运行模式在一台单机上运行,没有HDFS分布式文件系统,而是直接读写本地操作系统中的文件系统。在本地运行模式(local mode)中不存在守护进程,所有进程都运行在一个JVM上。单机模式适用于开发阶段运行MapReduce程序,这也是最少使用的一个模式。
(2)伪分布模式
这种运行模式是在单台服务器上模拟Hadoop的完全分布模式,单机上的分布式并不是真正的分布式,而是使用线程模拟的分布式。在这个模式中,所有守护进程(NameNode,DataNode,ResourceManager,NodeManager,SecondaryNameNode)都在同一台机器上运行。因为伪分布运行模式的Hadoop集群只有一个节点,所以HDFS中的块复制将限制为单个副本,其secondary-master和slave也都将运行于本地主机。此种模式除了并非真正意义的分布式之外,其程序执行逻辑完全类似于完全分布式,因此,常用于开发人员测试程序的执行。本次实验就是在一台服务器上进行伪分布运行模式的搭建。
(3)完全分布模式
这种模式通常被用于生产环境,使用N台主机组成一个Hadoop集群,Hadoop守护进程运行在每台主机之上。这里会存在Namenode运行的主机,Datanode运行的主机,以及SecondaryNameNode运行的主机。在完全分布式环境下,主节点和从节点会分开。
首先我们开看hadoop安装和使用
1.创建hadoop用户
2. SSH 登录权限设置
配置完SSH,再次登录localhost时应该出现如下图所示:
然后就可以退出ssh,直接在本机操作一下几个步骤:
3. 安装java环境
安装jdk,并将它重命名为java
切换到apps目录下,
然后修改系统环境变量文件
sudo vim ~/.bashrc
验证java环境,出现下面的情况表示正常
- 伪分布式安装配置
安装java后,此时开始hadoop的配置
首先切换到/data/hadoop1目录下,将hadoop-2.6.0-cdh5.4.5.tar.gz解压缩
vim ~/.bashrc
在文件中加入以下两行
此时表示hadoop安装正常
下面为hadoop伪分布式安装的简单原理以及需要配置的文件讲解
首先将JAVA_HOME追加到hadoop-env.sh
1.
2.
另外/data/tmp/hadoop/hdfs路径,需要提前创建,所以我们需要执行:
经过以上操作,HDFS 便安装好了
接下来,我们还需要配置MapReduce,再次切换到hadoop配置文件目录,配置过程如下,
其中,mapred-site.xml中加入的内容为
yarn-site.xml中加入以下内容
以上配置完之后,我们的hadoop伪分布式部署就完成了,下面我们来跑一个测试
至此,表示hadoop伪分布式模式已经成功安装了!
今天我们就先到这儿,下次我们将尝试完全分布式的安装方法。
- 完全分布式安装
hadoop开发插件安装
Hadoop的开发者为了降低Hadoop的难度,开发出了Hadoop Eclipse插件,它可以直接嵌入到Hadoop开发环境中,从而实现了开发环境的图形界面化,降低了编程的难度
Hadoop Eclipse是Hadoop开发环境的插件,在安装该插件之前需要首先配置Hadoop的相关信息。用户在创建Hadoop程序时,Eclipse插件会自动导入Hadoop编程接口的jar文件,这样用户就可以在Eclipse插件的图形界面中进行编码、调试和运行Hadop程序,也能通过Eclipse插件查看程序的实时状态、错误信息以及运行结果。除此之外,用户还可以通过Eclipse插件对HDFS进行管理和查看。总而言之,Hadoop Eclipse插件不仅安装简单,使用起来也很方便。它的功能强大,特别在Hadoop编程方面为开发者降低了很大的难度,是Hadoop入门和开发的好帮手!
Eclipse插件的安装方法大体有以下四种:第一种:直接复制法,第二种:使用link文件法,第三种:使用eclipse自带图形界面安装,第四种:使用dropins安装插件,本实验Hadoop开发插件安装使用了eclipse自带图形界面安装。
1.下载所需插件
hadoop-eclipse-plugin-2.6.0.jar
2.将插件拷贝到eclipse/plugins目录下
3.打开eclipse窗口,依次点击Window => Open Perspective => Other。
选择Map/Reduce
Location name,是为此配置起的一个名字。
DFS Master,是连接HDFS的主机名和端口号。
点击Finish保存配置。
7.另外还需保证Hadoop中的HDFS相关进程已经启动。在终端命令行输入jps查看进程状态。
jps
若不存在hdfs相关的进程,如Namenode、Datanode、secondarynamenode,则需要先切换到HADOOP_HOME下的sbin目录,启动hadoop。
cd /apps/hadoop/sbin
./start-all.sh
8.展开左侧项目浏览视图,可以看到HDFS目录结构。
9.上图发现HDFS上,没有存放任何目录。那下面来创建一个目录,检测插件是否可用。
右键myhadoop下的文件夹,在弹出的菜单中,点击Create new directory。
输入目录名称,点击OK则创建目录成功。
右键文件夹,点击Refresh,可用刷新HDFS目录。

到此Hadoop开发插件已经安装完毕!