zoukankan      html  css  js  c++  java
  • 基于大数据的电影网站项目开发之阶段性总结(三)

    一、基础讲解

    1. 主机ping不同虚拟机

      虚拟机要设置IP地址,ip段是vmware
           编辑菜单-->虚拟网络编辑器  网段,
           网关:192.168.XXX.2
           IP地址,不要是.1/.2
           把vmware装好以后,在"网络适配器"里,应该多出两个虚拟网卡

    2. linux
        使用linux里的一些命令
            cd:切换目录
            tar -zxvf ....tar.gz,对tar文件进行解压
            su [用户名]  不写用户名,默认是切换到root用户
            vi 文件名称。刚进入的时候,是命令模式
                输入i,进入insert模式
                编辑完成后,按esc退出inseret模式
                    :wq  保存退出
                    :q   只退出
                    :q!   强制退出
        用户机制:
            root用户,超级用户,对整个linux系统有完全的权限
                一般不使用这个用户,这个用户的权限太大了
            普通用户,有一定的权限
                一般可以操作自己家目录和/tmp目录
                用户家目录/home/用户名
            
            linux权限
                ll命令查看文件的时候,
                    drwxr-xr-x. 2 hadoop hadoop 4096 Jun 26 23:11 Desktop
                    drwxr-xr-x:10个字符,
                                第一个字符表示文件的类型,-代表是文件,d是目录,l"快捷方式"
                                后面9个字符,分为了3组,每组是3个字符
                                第一组(文件所有者的权限信息):rwx,r可读,w可写,x可执行
                                第二组(文件所有者的同一组其他用户的权限信息)
                                第三组:其他用户的权限信息
            
            linux里的文件系统
                和windows不一样,没有盘符的概念
                只有一个根目录 /
                    /root  root用户的家目录
      

    3.ssh免密登录:rsa加密方式,会生出一个公钥和私钥
                配置的时候,需要把公钥发送给受信任主机
                A主机      B主机
                A把自己的公钥发送给B,A就可以免密登录B

    二、之前的配置操作可能出现的问题
    格式化出错
        配置文件有问题
    进程少一个
        大部分是namennode,一般来说,是hosts文件没有配置
            ping 主机名
    重启后进程少了
        /tmp里和hadoop相关的文件被删除了
       
    格式化操作:
        bin/hdfs namenode -format操作生成了一些格式化信息
        默认在/tmp/hadoop-用户名/dfs/name/current/VERSION
        如果需要再次格式化,需要把上面的信息删除
        
        因为格式化信息默认是在/tmp,该目录里的文件可能被linux系统删除
        
        把HDFS的存储信息,放到一个安全的地方
        
        在hdfs-site.xml文件中设置
            <property>
                <name>dfs.name.dir</name>
                <value>/home/hadoop/appData/hadoop/name</value>
            </property>
            <property>
                <name>dfs.data.dir</name>
                <value>/home/hadoop/appData/hadoop/data</value>
            </property>
        重新格式化

    三、关键节点解释
    NameNode在内存中存储集群的元数据
        元数据:
            文件的类型,权限
            文件块的信息
            数据节点的信息等

    fsimage:集群的镜像文件,存储了集群的元数据
    edits文件:保持对文件系统的修改(元数据)
    fsimage和edits文件都是存储元数据,有什么区别。
        随着集群的使用,元数据会越来越多,1M--100M--1G--10G
        当元数据是1M的时候,写数据很快
        当元数据到达10G的时候,想写数据没那么容易
    edits每次对集群修改的时候,先把元数据写到edtis文件中,
        等到达一定条件的时候(时间,文件大小),再把edits文件和fsimage进行合并
            
    HDFS文件系统和linux文件系统比较类似
        HDFS文件系统是建立在linux文件系统之上的

    SecondaryNameNode是Namenode的一个备用,但是在NN失效后,SecondaryNameNode不能及时切换为NN
        SecondaryNameNode主要作用是把fsimage和edits文件进行合并
            
    NN要恢复,需要fsimage和edits文件,如果NN的磁盘坏了,NN会丢失数据
        因为只能使用SecondaryNameNode里存储的fsimage文件。

    退出安全模式
        bin/hdfs dfsadmin -safemode leave

    DN:执行NN的指令(读文件,删除文件,添加文件)
        每隔3秒向NN发送一个心跳。告诉NN我还活着
        每隔6小时向NN报告块信息

    四、hadoop命令
    [hadoop@hadoop hadoop-2.6.0]$ bin/hadoop fs
    Usage: hadoop fs [generic options]
        [-appendToFile <localsrc> ... <dst>]
        [-cat [-ignoreCrc] <src> ...]
        [-checksum <src> ...]
        [-chgrp [-R] GROUP PATH...]
        [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
        [-chown [-R] [OWNER][:[GROUP]] PATH...]
        [-copyFromLocal [-f] [-p] [-l] <localsrc> ... <dst>]
        [-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
        [-count [-q] [-h] <path> ...]
        [-cp [-f] [-p | -p[topax]] <src> ... <dst>]
        [-createSnapshot <snapshotDir> [<snapshotName>]]
        [-deleteSnapshot <snapshotDir> <snapshotName>]
        [-df [-h] [<path> ...]]
        [-du [-s] [-h] <path> ...]
        [-expunge]
        [-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
        [-getfacl [-R] <path>]
        [-getfattr [-R] {-n name | -d} [-e en] <path>]
        [-getmerge [-nl] <src> <localdst>]
        [-help [cmd ...]]
        [-ls [-d] [-h] [-R] [<path> ...]]
        [-mkdir [-p] <path> ...]
        [-moveFromLocal <localsrc> ... <dst>]
        [-moveToLocal <src> <localdst>]
        [-mv <src> ... <dst>]
        [-put [-f] [-p] [-l] <localsrc> ... <dst>]
        [-renameSnapshot <snapshotDir> <oldName> <newName>]
        [-rm [-f] [-r|-R] [-skipTrash] <src> ...]
        [-rmdir [--ignore-fail-on-non-empty] <dir> ...]
        [-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]]
        [-setfattr {-n name [-v value] | -x name} <path>]
        [-setrep [-R] [-w] <rep> <path> ...]
        [-stat [format] <path> ...]
        [-tail [-f] <file>]
        [-test -[defsz] <path>]
        [-text [-ignoreCrc] <src> ...]
        [-touchz <path> ...]
        [-usage [cmd ...]]

    在这里的local指的是linux的文件系统
        没有加local则是HDFS
        
    上传文件
        bin/hadoop fs -copyFromLocal/-put  localsrc  dst
    查看文件
        bin/hadoop fs -ls path
        -rw-r--r--   1 hadoop supergroup        101 2017-06-27 23:26 /NOTICE.txt
        查看的命令和显示的结果都和linux相似,这样可以降低学习hadoop的成本
    查看文件内容
        bin/hadoop fs -cat path
        
        chmod u+[rwx] 文件
        chmod 777 文件
            777 rwxrwxrwx
            744 rwxr--r--
    下载文件
        bin/hadoop fs -copyToLocal/-get src  localdst

    创建目录
        bin/hadoop fs -mkdir /aa   --创建一级目录
        bin/hadoop fs -mkdir -p /aa  --一次创建多级目录,增加参数-p
        
    删除目录
        bin/hadoop fs -rmdir /aa  --只能删除空目录
    删除文件
        bin/hadoop fs -rm /NOTICE.txt

        bin/hadoop fs -rm -r /NOTICE.txt   -r进行递归删除
        
    单独启动NN进程
        nohup bin/hdfs namenode &

    Hadoop web接口。http://192.168.85.99:50070/
        关闭防火墙
        root用于:service iptables stop

  • 相关阅读:
    微信验证代码
    微信内置浏览器的JS API
    伪类和伪元素
    asp.net core mvc 脚手架搭建过程介绍
    C#无锁内存队列
    关于微软OWIN的一篇好文章
    安装了Win10预览版10074,不能设置开发模式的bug解决
    关于Quartz的一些经历
    MEF接口应用初探
    简单的接口框架
  • 原文地址:https://www.cnblogs.com/java-meng/p/7513583.html
Copyright © 2011-2022 走看看