Hadoop的使用

①大数据的存储:  HDFS


         分类:  LocalFileSystem (本地文件系统)
                      DistributedFileSystem(分布式文件系统)

                                        
         参考配置: fs.defaultFS,默认到core-default.xml文件中找!
                                
          默认:  fs.defaultFS=file:///: 代表采用本地文件系统!使用LocalFileSystem 作为HDFS的实现!
                                             可以向操作本地文件系统一样来操作HDFS!
                                             在HDFS存储的文件,就存在本地文件系统,Linux存在/目录下!
                                                
                       fs.defaultFS=hdfs://namenode进程所在的主机名:端口号
                                            如果namenode进程在hadoop101这台机器,
                                            设置fs.defaultFS=hdfs://hadoop101:9000,使用DistributedFileSystem,
                                            在HDFS存储的文件,以块的形式,分散存储在各个DataNode节点上!
                                            只能访问NameNode才能对文件进行读写
                                
          通常: 使用HDFS,会使用分布式文件系统!

②大数据的计算:  运行MR程序


                                
  分类:  ①使用LocalJobRunner运行,在本地运行整个Job
               ②使用YarnJobRunner运行,将Job提交到YARN上运行,分布式计算!
            
   参考配置:  mapreduce.framework.name=local,默认是local,代表使用LocalJobRunner,在本地运行MR
                                       
    默认到mapred-default.xml中寻找!
                                       
    设置mapreduce.framework.name=yarn,使用YarnJobRunner运行,需要将程序提交到YARN,需要申请资源
    保证ResourceManager进程必须启动!

    通常: 在调试MR程序阶段,会使用本地模式!
    调试没用问题后,会将程序提交YARN上,使用YARN执行!

本地模式集群:


                            HDFS使用的是LocalFileSystem,MR默认使用LocalJobRunner运行!
                            
                            好处: 搭建方便!不需要任何设置! 直接使用即可! 方便调试!
                            
                            使用HDFS :  hadoop fs -ls  /  : 查看HDFS的根目录


            
 分布式集群:


                            HDFS使用的是DistributedFileSystem! 需要只要有两个核心进程!
                                NameNode,DataNode进程必须在启动后,才可以使用HDFS的服务!
                                
                            MR的计算: 可以选择在本地模式运行(不需要做任何修改)!
                                        指定在YARN上运行(设置mapreduce.framework.name=yarn,保证RM,NM进程已经启动)           


        伪分布式:  

                            NameNode,DataNode,RM, NM 进程都会启动,将这些进程全部分布在一台机器!
                        
                            HDFS搭建:
                                    ①配置NameNode进程所在的主机名和端口号,配置 fs.defaultFS
                                            修改core-site.xml
                                        设置Hadoop产生数据的保存路径;
                                    ②启动NameNode进程
                                            启动之前,先格式化NameNode,格式化其实就是为了生成NameNode工作的目录!
                                            以及记录元数据的Fsimage文件!
                                             hdfs namenode -format(只需要创建时,执行一次即可!)
                                             
                                             可以使用: hdfs namenode 直接启动,但是会阻塞当前窗口(不建议)
                                                        以守护进程启动:  hadoop-daemon.sh start namenode
                                                        
                                            
                                    ③启动DataNode进程
                                            hadoop-daemon.sh start datanode
                                            
                                    ④进程的查看: 使用jps(java process status): 查看所有java进程!
                                                        在当前用户使用jps只能查看当前用户启动的java进程!
                                                        
                                    ⑤如果进程启动失败,查看日志:
                                            如果datanode启动失败,查看: hadoop-atguigu-datanode-hadoop101.log
                                            如果namenode启动失败,查看:hadoop-atguigu-namenode-hadoop101.log
                            
                            
                            可以使用web-ui界面查看HDFS :  namenode所在的主机名:50070
                            
                        搭建YARN :
                                    ResourceManager进程:
                                            ①在yarn-site.xml中配置RM进程所在的主机名和端口号!yarn.resourcemanager.hostname=hadoop101
                                            ②配置MR在yarn上运行,reduceTask拷贝数据的进程服务名yarn.nodemanager.aux-services=mapreduce_shuffle
                                            
                                            以守护进程方式启动:  yarn-daemon.sh start resourcemanager
                                    NodeMaanger进程:
                                    
                                            以守护进程方式启动:  yarn-daemon.sh start nodemanager
                                            
                                    
                                    使用web-ui界面查看YARN :  RM所在的主机名:8088
                                    
                        指定MR在yarn上运行:   mapreduce.framework.name=yarn
            
            


            
            

猜你喜欢

转载自blog.csdn.net/qq_43193797/article/details/85341437