Hadoop基础(一) --- 大数据4V特征、Hadoop 简介、模块、安装、配置独立模式,伪分布模式和完全分布式


[大数据4V特征]
-----------------------------------------------------
    1.Volum : 体量大
    
    2.velocity: 速度快
    
    3.variaty: 样式多
    
    4.value: 价值密度低
    
    
[分布式]
-------------------------------------------------------
    1.由分布在多台主机上的进程,协同在一起,才能构成整个应用
    
    2.browser/web server : 瘦客户端程序
    
    
[Hadoop 简介]
------------------------------------------------------
    1.可靠,可伸缩,分布式计算的开源软件
    
    2.是一个框架,允许跨越计算机集群的大数据分布式化处理,使用简单的编程模型(MapReduce)
    
    3.可从单个服务器扩展到几千台主机。每台节点都提供了计算和存储
    
    4.不依赖硬件,在应用层面上实现

    
[Hadoop 模块]
--------------------------------------------------------
    1.hadoop common
    
    2.HDFS: hadoop distributed file system hadoop 分布式文件系统
    
    3.Hadoop YARN: 作业调度和资源管理的框架
    
    4.Hadoop MapReduce : 基于YARN系统的大数据集并行处理技术    
    

[Hadoop 安装]
----------------------------------------------------------    
    1.下载hadoop.2.7.2.tar.gz
        
    2.tar开,复制到/soft文件夹下
        
    3.创建符号链接 hadoop
        
    4.配置环境变量
        Ubuntu: /etc/environment
        Centos: /etc/profile
            
    5.测试运行
        $> source /etc/environment
        $> source hadoop version
        

[配置:独立模式standalone]
-------------------------------------------------------
    解压配置好环境变量即可,不需要额外做配置工作        
    没有守护进程,所有程序运行在同一个jvm中,利于test和debug


[配置:伪分布模式pseudo distributed Mode]
------------------------------------------------------------------------
    1.配置文件路径 ${HADOOP_HOME}/etc/hadoop/ *-site.xml
        
    2.配置core-site.xml            //配置核心文件:使用hdfs文件系统协议
            
            
                
                    fs.defaultFS
                    hdfs://localhost/
                

            

            
    3.配置hdfs-site.xml            //配置hdfs文件系统: 副本数 1
            
            
                
                    dfs.replication
                    1
                

            

            
    4.配置mapred-site.xml        //配置计算框架 : yarn
            
            
                
                    mapreduce.framework.name
                    yarn
                

            

            
    5.配置yarn-site.xml        //配置yarn框架: 资源管理器主机和辅助服务:localhost ,mapreduce_shuffle
            
                
                    yarn.resourcemanager.hostname
                    localhost
                

                
                    yarn.nodemanager.aux-services
                    mapreduce_shuffle
                

            

                    
    6.配置SSH:登陆远程主机,无口令提示
            $>sudo apt-get install ssh        //安装服务端sshd和客户端ssh
            //(安装之前要修改163或者阿里源,并且更新和升级)
            $>ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa        //生成秘钥对:公钥和私钥
            $>cat id_rsa.pub >> ~/.ssh/authorized_keys        //将公钥发给对方,并添加到对方的认证库中
            $>ssh localhost    //连接,yes
            $>exit
            
    7.格式化hdfs文件系统
            a.$> hdfs namenode -format
            b.报错:java.net.UnknownHostException: 主机名: 主机名
            修改/etc/hosts文件
            127.0.0.1 主机名 localhost.localdomain localhost
            或是再添加一条 
            127.0.0.1 主机名 
            主机名是新加的,原来没有,保存,问题解决。
            
    8.启动 hdfs 和 yarn守护进程
            $> start-dfs.sh            //启动hadoop分布式文件系统    
            $> start-yarn.sh        //启动yarn资源管理框架
            $> jps                     //查看进程
            
    9.停止 hdfs 和 yarn
            $> stop-dfs.sh            //停止hadoop分布式文件系统
            $> stop-yarn.sh            //停止yarn资源管理框架
            $> jps                     //查看进程
            
    10.创建hdfs目录
            a. $> hadoop fs -mkdir -p /user/ubuntu         //创建目录 -p 多级目录
            a. $> hadoop fs -ls /                          //显示根目录
            a. $> hadoop fs -ls -R /                     //递归显示根目录 hadoop fs -lsr /

11.查看帮助
    $> hadoop fs                //直接回车,查看fs:文件系统的帮助
    $> hadoop fs -help put        //查看文件系统下的具体命令的帮助(help)

12.查看namenode 和 datanode 在本地系统的表现方式
    $> cd /tmp/ubuntu-hadoop/dfs/name/...
    $> cd /tmp/ubuntu-hadoop/dfs/data/...

13.查看日志log
    a.$> ${HADOOP_HOME}/logs
    b.通过webui查看
    http://localhost:50070/        //查看namenode的信息
    http://localhost:8088/        //查看resourceManager集群信息,只有在本机访问才可以
    http://localhost:19888/        //查看历史服务器hsitory的日志

14.通过netstat 查看端口占用情况
    $> netstat -lupt


【配置:完全分布模式】
------------------------------------------------------------------------------------------
    1.主机安装java

    2主机安装hadoop

    3.克隆主机

    4.配置每台机器的ssh,方便scp
        首先要重新生成克隆机的keygen,因为现在是克隆主机的秘钥
        $>ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa        //生成秘钥对:公钥和私钥

        将主机的keygen 发送到每个克隆机
                $>cat id_rsa.pub >> ~/.ssh/authorized_keys        //将公钥发给对方,并添加到对方的认证库中
        因为是克隆的,所以,每个机器的authorized_keys,都已经有了id_rsa.pub ,故可省略

    5.更改每台主机的用户
        更改用户名   --/etc/hostname   
        -- s100 s200 s300 s400 s500
        更改ip映射    --/etc/hosts
        -- 更改ip 和主机名对应,并且远程拷贝(scp)到各个主机
        -- $> scp hosts root@s200:/etc/

    6.配置slaves(一行一个ip 或者主机名,对应DataNode)[ /soft/hadoop/etc/hadoop/slaves ]
        //注意没有s100和s500,这个是配置三个数据节点的DataNode的
        //s100 是名称节点 NameNode
        //s500 是第二名称节点 Sec Name Node
        s200
        s300
        s400

    7.修改配置文件,并远程拷贝到每个节点(我用的s100作为名称节点)
        进入/soft/hadoop/etc 下,拷贝文件夹 
        cp  -r hadoop_pesudo  hadoop_cluster

    修改文件夹hadoop_cluster下的配置文件
        a.-- 配置core-site.xml            //配置核心文件:使用hdfs文件系统协议        
                    
                    
                        
                            fs.defaultFS
                            hdfs://s100/        //名称节点的主机名或者ip
                        

                    

                    
        b.-- 配置hdfs-site.xml            //配置hdfs文件系统: 副本数3
                    
                    
                        
                            dfs.replication
                            3        //最小副本数
                        

                    

                    
        c.-- 配置mapred-site.xml        //配置计算框架 : yarn
                    
                    
                        
                            mapreduce.framework.name
                            yarn
                        

                    

                    
        d.-- 配置yarn-site.xml        //配置yarn框架: 资源管理器主机和辅助服务:localhost ,mapreduce_shuffle
                    
                        
                            yarn.resourcemanager.hostname
                            s100    //名称节点的主机名或者ip
                        

                        
                            yarn.nodemanager.aux-services
                            mapreduce_shuffle
                        

                    

        e.-- 远程拷贝到每个节点
            $> scp hadoop_cluster ubuntu@s200:/soft/hadoop/etc/
            $> scp hadoop_cluster ubuntu@s300:/soft/hadoop/etc/
            $> scp hadoop_cluster ubuntu@s400:/soft/hadoop/etc/
            $> scp hadoop_cluster ubuntu@s500:/soft/hadoop/etc/

    6.格式化s100名称节点的磁盘
        //1.使用 --config dir 指定命令运行目录
        $> hdfs --config /soft/hadoop/etc/hadoop_cluster/ namenode -format

        //2.进入目录检查一下
        $> cat /tmp/hadoop-ubuntu/dfs/name/current/VERSION

        7.在s100上启动集群
        //1.$> start-dfs.sh

        //2.s100,jps显示应该开启两个进程 NameNode  和  Sec NameNode
            s200 s300 s400 上jps只有DataNode

        //3.start-dfs.sh:通过配置文件,启动Hadoop集群

    8.在s100上启动yarn框架
        //1.$> start-yarn.sh
        //此命令会启动s100的ResoucesManager
        s200 s300 s400 的NodeManager

 

9.在s500上配置Sec NameNode

-- 配置hdfs-site.xml //配置hdfs文件系统: 副本数3

dfs.replication

3 //最小副本数

dfs.namenode.secondary.http-address

//最小副本数

 

10.修改Ubuntu缓存文件夹(默认是 /tmp/hadoop-ubuntu下)

-- 【core-site.xml】

-- 修改: hadoop.tmp.dir=/home/ubuntu/hadoop

 

11.修改hdfs默认块大小(默认是128M)

-- 【hdfs-site.xml 】

-- 添加一组属性

dfs.blocksize=8m //64k , 64m, 1g

-- 测试

put 文件 > 8m ,通过webui 查看块大小

 


【Hadoop 端口】
---------------------------------------------------------------------------------------
    1.http://localhost:50070/            //查看namenode的信息
    2.http://localhost:8088/            //查看resourceManager集群信息,只有在本机访问才可以
    3.http://localhost:19888/            //查看历史服务器hsitory的日志
    4.hdfs://namenode:8020/        //name rpc(remote procedure call 远程调用端口)

    
  

【配置Ubuntu文本模式启动】

-----------------------------------------------------------------------------

1.$> sudo nano /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="text" //改成文本模式

GRUB_TERMINAL=console //原来是注释掉的,要打开注释

 

2.$> sudo update-grub

 

3.$> sudo reboot

 

4.$> sudo startx //在文本模式下启用图形界面

 

【客户机关机命令】

-----------------------------------------------------------------

1.$> sudo pwoeroff

2.$> sudo shut down -h 0

1.$> sudo halt

 

    
    

    
    
    

    
    
    
    
    
    
    

你可能感兴趣的:(Hadoop,大数据)