基于大数据的电影网站项目开发之阶段性总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于大数据的电影网站项目开发之阶段性总结相关的知识,希望对你有一定的参考价值。

一、基础讲解

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命令
[[email protected] 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














































































































































































以上是关于基于大数据的电影网站项目开发之阶段性总结的主要内容,如果未能解决你的问题,请参考以下文章

Alpha阶段个人总结

大数据开发阶段一Javase 基础知识点总结持续更新

Flutter 研发阶段性总结 基本需求研发总结

Flutter 研发阶段性总结 基本需求研发总结

《构建之法》第一章学习总结

新生系统项目组长经验总结一之需求把握