Hadoop(一)入门介绍和安装

目录:

1、大数据技术介绍

2、HADOOP简介

2.1、hadoop基本概念

2.2、为什么需要hadoop

3、hadoop集群部署安装

3.1、准备linux服务器

3.2、准备java环境,安装jdk,配置环境变量等

3.3、安装hadoop----(解压,修改配置文件,分发到集群,初始化,启动)

3.4、修改配置文件(参考现成的配置文件xxx-site.xml)

3.5、启动hadoop

3.6、集群内部的SSH密钥认证登陆机制配置(免密登陆)

3.7、从一个节点的“伪分布式”hadoop集群扩展为多节点分布式集群


1、大数据技术介绍

大数据技术生态体系:

  • Hadoop  元老级分布式海量数据存储、处理技术系统,擅长离线数据分析

  • Hbase  基于hadoop的分布式海量数据库,离线分析和在线业务通吃

  • Hive sql 基于hadoop的数据仓库工具,使用方便,功能丰富,使用方法类似SQL

  • Zookeeper 集群协调服务

  • Sqoop数据导入导出工具

  • Flume数据采集框架

  • Storm 实时流式计算框架,流式处理领域头牌框架

  • Spark 基于内存的分布式运算框架,一站式处理 all in one新秀,发展势头迅猛

        1. sparkCore

        2. SparkSQL

        3. SparkStreaming

  • 机器学习:

        1. Mahout  基于mapreduce的机器学习算法库

        2. MLLIB  基于spark机器学习算法库

2、HADOOP简介

2.1、hadoop基本概念

(1)hadoop是用于处理(运算分析)海量数据的技术平台,且是采用分布式集群的方式;

(2)hadoop两个大的功能:

  • 提供海量数据的存储服务;
  • 提供分析海量数据的编程框架及运行平台;

(3)Hadoop有3大核心组件:

  • HDFS---- hadoop分布式文件系统海量数据的存储(集群服务),
  • MapReduce----分布式运算框架(编程框架)(导jar包写程序),海量数据运算分析(替代品:storm /spark等 )
  • Yarn ----资源调度管理集群(可以理解为一个分布式的操作系统,管理和分配集群硬件资源)

(4) 使用Hadoop:

  • 可以把hadoop理解为一个编程框架(类比:structs、spring、hibernate/mybatis),有着自己特定的API封装和用户编程规范,用户可借助这些API来实现数据处理逻辑;
  • 从另一个角度,hadoop又可以理解为一个提供服务的软件(类比:数据库服务oracle/mysql、索引服务solr,缓存服务redis等),用户程序通过客户端向hadoop集群请求服务来实现特定的功能;

(5)Hadoop产生的历史

最早来自于google的三大技术论文:GFS/MAPREDUCE/BIG TABLE

(为什么google会需要这么一种技术?)

后来经过doug cutting的“山寨”,出现了java版本的 hdfs   mapreduce 和 hbase,并成为apache的顶级项目  hadoop ,hbase。经过演化,hadoop的组件又多出一个yarn(mapreduce+ yarn + hdfs)。而且,hadoop外围产生了越来越多的工具组件,形成一个庞大的hadoop生态体系。

2.2、为什么需要hadoop

在数据量很大的情况下,单机的处理能力无法胜任,必须采用分布式集群的方式进行处理,而用分布式集群的方式处理数据,实现的复杂度呈级数增加,所以,在海量数据处理的需求下,一个通用的分布式数据处理技术框架能大大降低应用开发难度和减少工作量

3、hadoop集群部署安装

3.1、准备linux服务器

(centos 6.4 32位/64位;生产环境的服务器应该采用64位,可以支持更大的内存)

  1. 解压centos虚拟机镜像压缩包到某个目录,并用vmware打开
  2. 准备操作系统环境(主机名,ip地址配成static,域名和ip的本地映射hosts)
  3. 关闭图形界面的启动   修改/etc/inittab中的启动级别为3
  4. 配置防火墙(关闭) àà  service iptables stop
  5. 为hadoop安装使用准备一个专门的linux用户(建议直接用root用户)

可选:为hadoop用户设置sudo权限   /etc/sudoers

(在我们的linux系统镜像中,有用户hadoop,密码:hadoop)

3.2、准备java环境,安装jdk,配置环境变量等

  • 解压安装包
  • 修改环境变量: 

            JAVA_HOME  

            PATH

3.3、安装hadoop----(解压,修改配置文件,分发到集群,初始化,启动)

Hadoop的目录结构:

bin                   #可执行文件(hadoop的功能操作命令)

etc                        #配置文件

include   

lib                        #本地库文件(数据压缩编解码、本地文件系统操作)

libexec    

LICENSE.txt

NOTICE.txt

README.txt

sbin                      #可执行文件(hadoop集群进程管理的操作命令)

share                     #开发所需要的jar包及用户帮助文档

3.4、修改配置文件(参考现成的配置文件xxx-site.xml)

(1) hadoop-env.sh   JAVA_HOME = /home/hadoop/app/jdk_7u65

(2) core-site.xml       

           fs.defaultFS    指定hadoop所使用的文件系统

           hadoop.tmp.dir  指定各节点上的hadoop进程所在的本地工作目录(父目录)

(3) mapred-site.xml    mapreduce.framework.name :  yarn

(4) yarn-site.xml   

           yarn.resourcemanager.hostname: server01 (yarn中的master节点所在主机)

           yarn.nodemanager.aux-services :  mapreduce_shuffle

(5)可选:

如果要让namenode单独配置一个工作目录,在hdfs-site.xml :

 <name>dfs.namenode.name.dir</name>

 <value> /mnt/driver-meta/,nfs://</value>

如果要让datanode单独配置一个工作目录,在hdfs-site.xml :

 <name>dfs.datanode.data.dir</name>

 <value> /mnt/driver-data-a/,/mnt/driver-data-b/,/mnt/driver-data-c/</value>

如果要让secondary namenode 在指定的机器上启动,则配置:

<name>dfs.namenode.secondary.http-address</name>

<value>hadoop-server02:50090</value>

(6)真实生产中部署一个中、大型集群的方式:

有些公司会借助一些自动化的网络拷贝工具加快配置速度

有些公司会采用一些商业发行版(CDH--cloudera公司的产品;HORTONWORKS;MICROSOFT,IBM,EMC,INTEL)

3.5、启动hadoop

  • 首先,格式化namenode     bin/hadoop namenode -format
  • 手动启动各服务进程

在相应服务器上启动hdfs的相关进程 :

       启动namenode进程—— sbin/hadoop-daemon.sh start namenode

       启动datanode进程 ——sbin/hadoop-daemon.sh start datanode

然后,验证hdfs的服务是否能正常提供:

bin/hdfs dfsadmin -report  查看hdfs集群的统计信息

  • Shell脚本批量启动方式:

在任意一台服务器上执行命令:

       启动hdfs服务:sbin/start-dfs.sh

       启动yarn服务:sbin/start-yarn.sh

或者:直接启动hdfs+yarn服务: sbin/start-all.sh

3.6、集群内部的SSH密钥认证登陆机制配置(免密登陆)

配置的机制:在登陆方生成密钥对,然后将公钥复制给目标主机,在目标主机上将这个公钥加入授权文件 ~/.ssh/authorized_keys   (该文件的权限: 600)

真实大量配置的时候直接使用ssh工具箱的工具:

1. 在登陆方生成密钥对,执行命令: ssh-keygen

2. 执行这条指令:

ssh-copy-id   hadoop-server03

就可以免密登陆目标主机。

3.7、从一个节点的“伪分布式”hadoop集群扩展为多节点分布式集群

。。。。。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值