hadoop第一阶段大总结

来源:互联网 发布:用邮箱注册淘宝小号 编辑:程序博客网 时间:2024/05/18 05:22
大数据(big data),是指无法在可承受的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。
       在维克托·迈尔-舍恩伯格及肯尼斯·库克耶编写的《大数据时代》中大数据指不用随机分析法(抽样调查)这样的捷径,而采用所有数据进行分析处理。

大数据的4V特点:Volume(大量)、Velocity(高速)、                     Variety(多样)、Value(价值)。

 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
       用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
       Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。
       Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

目录:

一、Hadoop环境安装流程
  Hadoop用户创建
  JDK安装
  SSH免密码登录
  集群配置
二、Hadoop组件
  HDFS
  MapReduce原理


一、Hadoop环境安装流程
linux下面要操作文件,必须得有权限,jdk配置需要一下命令
sudo password root
su 密码

创建hadoop组,并在组内创建hadoop用户
sudo addgroup hadoop
sudo adduser -ingroup hadoop hadoop

解压jdk,配置环境变量
    第一种:sudo gedit  /src/profile
    第二种:sudo gedit  /etc/enviroment
打开之后,复制下列代码
    export JAVA_HOME=/usr/lib/jvm/       (jdk路径名)
    export JRE_HOME=${JAVA_HOME}/jre  
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
    export PATH=${JAVA_HOME}/bin:$PATH
测试JDK
输入java -version测试环境

SSH 为建立在应用层和传输层基础上的安全协议
安装SSH服务
因为hdfs通过ssh控制节点之间的通讯,所以ssh一定要设置。
sudo apt-get install ssh openssh-server
成功流程:
hadoop@master 用户下 sudo gedit /home/sudoers    
            为用户添加权限
hadoop@master 用户下 sudo gedit /etc/hosts   
            添加客户机/服务器
ssh-keygen        获取密钥
cd  .ssh/      进入.ssh目录下
cat id_rsa.pub >> authorized_keys    将密钥写入公钥
cat authorized_keys             查看公钥
sudo scp authorized_keys hadoop@slave03:/home/hadoop/.ssh            
             将公钥发给客户机/3号服务器
ssh slave03  链接客户机/服务器

解压hadoop安装包
将hadoop文件的权限添加给hadoop组的hadoop用户
sudo chown -R hadoop:hadoop hadoop
设置linux系统的hadoop环境变量(同上JDK环境配置)
export   JAVA_HOME=/opt/jdk1.7.0_79
export   JRE_HOME=$JAVA_HOME/jre  
export   HADOOP_HOME=/usr/local/hadoop
export   CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export   PATH=$JAVA_HOME/bin:$JRE_HOME/bin:
            $HADOOP_HOME/bin:$PATH

 集群/分布式模式需要修改 etc/hadoop 中的5个配置文件,后四个文件可点击查看官方默认设置值,这里仅设置了正常启动所必须的设置项: slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml 。
1、文件 slave
    cd /usr/local/hadoop/etc/hadoop
    sudo  gedit  slaves
       将原来 localhost 删除,把所有Slave的主机名和maste主机名写上,每行一个。

2、文件 core-site.xml ,加入如下内容:
<property>    
    <name>fs.defaultFS</name>        <value>hdfs://Master:9000</value></property><property>        <name>hadoop.tmp.dir</name>        <value>file:/usr/local/hadoop/tmp</value>    
    <description>Abase for other temporarydirectories.</description>
</property>

3、文件hdfs-site.xml,因为只有一个slave01,所以dfs.replication的值设为2(包括本机)。
<property>    
    <name>dfs.namenode.secondary.http-address</name>        <value>Master:50090</value>
</property><property>        
    <name>dfs.namenode.name.dir</name>        <value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property><property>    
    <name>dfs.datanode.data.dir</name>        <value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property><property>    
    <name>dfs.replication</name>    
    <value>2</value>
</property>

4、文件mapred-site.xml,这个文件不存在,首先需要从模板中复制一份:
cp mapred-site.xml.template mapred-site.xml
然后配置修改如下:
<property>    
    <name>mapreduce.framework.name</name>        <value>yarn</value>
</property>
5、文件yarn-site.xml:
<property>    
    <name>yarn.resourcemanager.hostname</name>        <value>Master</value>
</property><property>    
    <name>yarn.nodemanager.aux-services</name>        <value>mapreduce_shuffle</value>
</property>

配置好后,将 master 上的 Hadoop 文件复制到各个节点上。
为了确保配置的执行,建议在切换到集群模式前先删除之前的临时文件。
执行代码如下:
cd /usr/local
rm -r ./hadoop/tmp  # 删除 Hadoop 临时文件
scp  -r  ./hadoop  hadoop@slave01:/etc/local/

在slave01上执行:
sudo chown -R hadoop:hadoop /usr/local/hadoop
然后再master中启动hadoop
cd  /usr/local/hadoop/
    # 首次运行需要执行初始化,后面不再需要
bin/hdfs  namenode  -format       
sbin/start-dfs.sh
sbin/start-yarn.sh

通过命令jps可以查看各个节点所启动的进程。


即:配置成功!


二、Hadoop组件

HDFS涉及的基本概念
-块(Block)
-NameNode
-DataNode   

HDFS的特点:
1、数据冗余,硬件容错;
2、流式的数据访问:一次写入,多次读取;
        一旦写入就不会被修改,只能删除;
3、存储大文件;
适用性和局限性:
1、适合数据批量读写,吞吐量高;不适合交互式应用,
        低延迟很难满足;
2、适合一次写入多次读取,顺序读写;
        不支持多用户并发写相同文件。



MapReduce主要核心思想: 分而治之



0 0
原创粉丝点击