07_尚硅谷_Hadoop_入门_课程介绍


08_尚硅谷_Hadoop_入门_Hadoop是什么

分布式系统:数据由多台服务器帮他来存储,那就是分布式系统 ,每台服务器负责存储一部分,多台服务器共同完成某一项任务。

Hadoop是一个框架
大数据解决的是海量数据的采集、存储和计算三件事。一个hadoop框架就解决了两件事(解决海量数据的存储和计算)

09_尚硅谷_Hadoop_入门_Hadoop发展历史

Hadoop创始人叫Doug Cutting
全文搜索框架现在是Elasticsearch

10_尚硅谷_Hadoop_入门_Hadoop三大发行版本



11_尚硅谷_Hadoop_入门_Hadoop优势

高可靠性:存在备份
高扩展性:其它3台服务器在正常运行集群的情况下,我动态的增加2台服务器,也可动态删除服务器
并行计算:多人干活比一个人干活快,并行计算
高容错性:将失败的任务迁移到其它正常的服务器上

双十一一来,动态的增加服务器,双十一一过动态撤掉服务器,中间不用停掉服务器来增加或撤掉,动态化

12_尚硅谷_Hadoop_入门_Hadoop1.x2.x3.x区别

Hadoop负责海量数据的存储(HDFS)和计算(MapReduce)(大数据负责数据的采集、存储和计算),

Hadoop1.x:Mapreduce既负责计算又负责资源调度

Hadoop2…x:Mapreduce负责计算,Yarn负责资源调度(管理CPU和内存)

13_尚硅谷_Hadoop_入门_HDFS概述

HDFS主要解决海量数据存储问题

NameNode:记录每一个组件存储数据的位置(相当于书本的目录)
DataNode:具体来存储数据的位置,数据到底存在哪(相当于书本具体的内容页)
2NN(Secondary NameNode):对数据进行备份的。万一NameNode挂了,2NN还有一部分原始数据(相当于秘书,但并不是保存全部数据,只是一部分数据)

14_尚硅谷_Hadoop_入门_YARN概述



YARN主要管理CPU和内存,也就是资源管理器

客户端可以有多个
集群上可以运行多个ApplicationMaster
每个NodeManager上可以有多个Container

15_尚硅谷_Hadoop_入门_MapReduce概述

MapReduce:主要负责海量数据的计算(包含处理和汇总)
Hadoop主要解决:海量数据的存储(HDFS)、海量数据的计算(MapReduce)


这么多的数据,需要找到2015年5月份的数据:采用MapReduce。Reduce是最后还需要对结果进行汇总

16_尚硅谷_Hadoop_入门_HDFS&YARN&MR关系

HDFS包含:
DataNode:负责数据实实在在的存储
NameNode:告诉别人我这个数据存储在哪个节点上,存储的什么信息。相当于一个账本
SecondaryNameNode:秘书。如果NameNode挂了,2NN会备份一部分数据,可以恢复NameNode一部分工作。

YARN:负责整个集群资源的管理。包含:
ResourceManager
NodeManager
ApplicationMaster
Container

MapReduce包含:
Map:并行处理输入数据
Reduce:对Map结果进行汇总

17_尚硅谷_Hadoop_入门_大数据技术生态体系




18_尚硅谷_Hadoop_入门_VMware安装




19_尚硅谷_Hadoop_入门_Centos7.5软硬件安装


点击新建虚拟机



本电脑8核CPU



Ctrl+Alt:进行虚拟机鼠标内外切换







20_尚硅谷_Hadoop_入门_IP和主机名称配置






21_尚硅谷_Hadoop_入门_Xshell远程访问工具

Xshell远程访问工具安装包
链接:https://pan.baidu.com/s/1XFqMgXfsi4BXTC3GMyVh5w?pwd=efgg
提取码:efgg


使用Xshell软件进行文件传输





22_尚硅谷_Hadoop_入门_模板虚拟机准备完成









23_尚硅谷_Hadoop_入门_克隆三台虚拟机



shutdown now :关机



修改网络
注意这里使用的是root账号,在root账号下更改网络配置

1.修改克隆虚拟机的静态 IP:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
2.修改主机名称:
vim /etc/hostname
3.重启:
reboot
4.显示网络:
ifconfig
5.查看连接网络的状态
ping www.baidu.com


连接不上就改为IP地址

24_尚硅谷_Hadoop_入门_JDK安装


sudo rm -rf rh/






将jdk-8u212-linux-x64.tar.gz压缩包解压缩(注意:后面的那个C是大写的)
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module


25_尚硅谷_Hadoop_入门_Hadoop安装


修改hadoop环境
sudo vim /etc/profile.d/my_env.sh


这3个命令要有印象,后面要用到,重点学习

26_尚硅谷_Hadoop_入门_本地运行模式





hadoop运行模式包括:本地模式、伪分布式模式、完全分布式模式
本地模式:单机运行,只是用来演示一下官方案例
伪分布式模式:也是单机运行,但是具备Hadoop集群的所有功能,一台服务器模拟一个分布式的环境。个别缺钱的公司来测试,生产环境不用。
完全分布式模式:多台服务器组成分布式环境。生产环境使用。




后续我们所有写的这个MapReduce程序,它必须指定对应的输入路径和输出路径,而且输出路径还不能存在。如果存在直接抛异常。


在执行命令时,这个输出路径不能存在的

27_尚硅谷_Hadoop_入门_scp&rsync命令讲解


scp实现服务器与服务器之间文件的拷贝,scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录



host没改名,默认是IP地址,@后面输入103的IP地址就可以了

1.在hadoop102上,将hadoop102中 /opt/module/jdk1.8.0_212 目录拷贝到hadoop103上(推)
scp -r     /opt/module/jdk1.8.0_212 atguigu@hadoop103:/opt/module2.在hadoop103上,将hadoop102中 /opt/module/hadoop-3.1.3 目录拷贝到hadoop103上(拉)
scp -r    atguigu@hadoop102:/opt/module/hadoop-3.1.3 /opt/module3.在hadoop上操作,将hadoop102中 /opt/module目录下所有目录拷贝到hadoop104上
scp -r    atguigu@hadoop102:/opt/module/*   atguigu@hadoop104:/opt/module

推: (将hadoop102上的数据拷贝到hadoop103上)

scp -r jdk1.8.0_212 atguigu@hadoop103 /opt/module

拉: 从hadoop103上拉取hadoop102的数据

从hadoop102中拉取目标路径/opt/module.hadoop-3.1.3下的hadoop-3.1.3到当前目录
scp -r atguigu@hadoop102:/opt/module.hadoop-3.1.3 ./


思考:站到hadoop103上,如何将hadoop102的数据拷贝到hadoop104上?

scp -r atguigu@hadoop102:/opt/module/* atguigu@hadoop104:/opt/module




rsync是直接只更改你变化的数据,其他的内容不变,rsync的性能比scp的性能更好一些rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具
第一次同步等同于拷贝

如何将hadoop102上的hadoop同步到hadoop103上?

rsync -av /opt/module/hadoop-3.1.3/ atguigu@hadoop103:/opt/module/hadoop-3.1.3

28_尚硅谷_Hadoop_入门_xsync分发脚本


创建文件
touch a.txt







执行之后,hadoop103和hadoop104都可以同步bin文件夹

如果希望分发一下环境变量(/etc/profile.d/my_env.sh)可以使用xsync /etc/profile.d/my_env.sh吗?


分发环境变量
sudo  ./bin/xsync  /etc/profile.d/my_env.sh



29_尚硅谷_Hadoop_入门_ssh免密登录




你把公钥发给谁,相当于对方默认接收了你的请求,允许它无密访问你

查看到所有的隐藏文件
ls -al




hadoop102的公钥拷贝到目标主机上

将公钥拷贝到hadoop104上
ssh-copy-id hadoop104






30_尚硅谷_Hadoop_入门_集群配置


hadoop包括HDFS(NameNode、2NN[相当于NameNode的秘书])、YARN(包括NodeManager、ResourceManager)、MapReduce、common


(1)核心配置文件----配置core-site.xml


<!-- 指定NameNode的地址 --><property><name>fs.defaultFS</name><value>hdfs://hadoop102:8020</value></property><!-- 指定hadoop数据的存储目录 --><property><name>hadoop.tmp.dir</name><value>/opt/module/hadoop-3.1.3/data</value></property>

(2)HDFS配置文件—配置hdfs-site.xml


<!-- nn web端访问地址--><property><name>dfs.namenode.http-address</name><value>hadoop102:9870</value></property><!-- 2nn web端访问地址--><property><name>dfs.namenode.secondary.http-address</name><value>hadoop104:9868</value></property>

(3)YARN配置文件—yarn-site.xml


 <!-- 指定MR走shuffle --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 指定ResourceManager的地址--><property><name>yarn.resourcemanager.hostname</name><value>hadoop103</value></property><!-- 环境变量的继承 --><property><name>yarn.nodemanager.env-whitelist</name><value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value></property>

(4) MapReduce配置文件—mapred-site.xm


    <!-- 指定MapReduce程序运行在Yarn上 --><property><name>mapreduce.framework.name</name><value>yarn</value></property>



将hadoop102中 的hadoop文件夹下配置的上述内容同步到hadoop103和hadoop104中。使用xsync快捷配置方法

31_尚硅谷_Hadoop_入门_群起集群并测试









这里不能是root用户,应该是atguigu用户

启动HDFS




注意:

我这里出现了问题:bash: jps: 未找到命令… 最后解决的是java的全局环境变量没有分发到hadoop102和hadoop103(具体解决方案可查看《sync分发脚本》这节后半段,笔记这节也记的有),但是我是一个一个复制进去的。





web端查看HDFS的NameNode
http://192.168.10.102:9870/web端查看YARM的ResourceManager
http://192.168.10.103:8088/



启动YARN






如果出现不能预览和下载,需要在主机下的hosts文件下配置映射,而且在core-site.xml中增加配置信息,具体操作内容链接

启动HDFS
start-dfs.sh在根目录下创建wcinput文件夹
hadoop fs -mkdir /wcinput将本地文件wcinput中的word.txt上传到HDFS网页的根目录下的wcinput文件夹中
hadoop fs -put wcinput/word.txt /wcinput将本地的jdk上传到HDFS的根目录下
hadoop fs -put /opt/software/jdk-8u212-linux-x64.tar.gz /


那么HDFS网页版上的本地文件在哪里存的呢?


这里要弄两次,因为这里jdk是分开存储的(单个是128g)

HDFS网页版内容的存储路径
/opt/module/hadoop-3.1.3/data/dfs/data/current/BP-860317985-192.168.10.102-1660488334357/current/finalized/subdir0/subdir0

hadoop具有高可用,任何一个数据的服务器挂了之后,它还有两份的副本帮我们存储。这三台数据存储的一模一样


如果再来第四台机器它会怎么存储呢?
答:那它也是选择任意三台服务器进行存储,有一台是没有留存数据的。它说三份就是3份

hadoop集群实现wordcount计算hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /wcinput /wcoutput3

这里的wordcount是指jar包里面examples其中的一个,专门用来计数的。因为上传数据不涉及到yarn,而yarn是资源的调度,只有你有mapreduce这种计算任务的时候我才会执行


在运行结果中出现了Container killed on request. Exit code is 143

最后在配置中添加了代码就出现内容了,具体详见参考解决方案链接

需要提前执行stop-dfs.sh和stop-yarn.sh。将集群关闭(配置文件在hadoop目录下)1、首先在yarn-site.xml中添加下面内容<property><name>yarn.nodemanager.resource.memory-mb</name><value>22528</value><discription>每个节点可用内存,单位MB</discription></property><property><name>yarn.scheduler.minimum-allocation-mb</name><value>1500</value><discription>单个任务可申请最少内存,默认1024MB</discription></property><property><name>yarn.scheduler.maximum-allocation-mb</name><value>16384</value><discription>单个任务可申请最大内存,默认8192MB</discription></property>2、再在mapred-site.xml中添加下面内容:
<property><name>yarn.app.mapreduce.am.env</name><value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value>
</property>
<property><name>mapreduce.map.env</name><value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value>
</property>
<property><name>mapreduce.reduce.env</name><value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value>
</property>
------------------------------------------------------------------------<property><name>mapreduce.map.memory.mb</name><value>1500</value><description>每个Map任务的物理内存限制</description></property><property><name>mapreduce.reduce.memory.mb</name><value>3000</value><description>每个Reduce任务的物理内存限制</description></property><property><name>mapreduce.map.java.opts</name><value>-Xmx1200m</value></property><property><name>mapreduce.reduce.java.opts</name><value>-Xmx2600m</value></property><property><name>mapreduce.framework.name</name><value>yarn</value></property>
3、覆盖集群中的这两个文件,重启yarn再启动mapreduce任务,成功运行。



32_尚硅谷_Hadoop_入门_集群崩溃处理办法





像上面这样,遇到困难该如何处理?

(1)先杀死进程


(2)删除每个集群上的data和logs

(3)格式化

(4)初始化完毕之后启动集群

打扫干净屋子再请客,先停掉进程,删除历史数据,之后再启动(停集群、删数据、格式化、重start)

33_尚硅谷_Hadoop_入门_历史服务器配置

当前mapred-site.xml中的内容
<configuration>
<!-- 指定MapReduce程序运行在Yarn上 --><property><name>mapreduce.framework.name</name><value>yarn</value></property><!-- 针对p31按步骤操作却得不到wordcount的输出结果的问题,在评论区找的 --><property><name>yarn.app.mapreduce.am.env</name><value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value></property><property><name>mapreduce.map.env</name><value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value></property><property><name>mapreduce.reduce.env</name><value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value></property><!--mapreduce运行中发现有任务被kill掉,多半是因为内存分配不足造成,所有需要修改内存配置。 --><property><name>mapreduce.map.memory.mb</name><value>1500</value><description>每个Map任务的物理内存限制</description></property><property><name>mapreduce.reduce.memory.mb</name><value>3000</value><description>每个Reduce任务的物理内存限制</description></property><property><name>mapreduce.map.java.opts</name><value>-Xmx1200m</value></property><property><name>mapreduce.reduce.java.opts</name><value>-Xmx2600m</value></property><property><name>mapreduce.framework.name</name><value>yarn</value></property><!--配置历史服务器。为了查看程序的历史运行情况,需要配置一下历史服务器 --><!-- 历史服务器端地址 --><property><name>mapreduce.jobhistory.address</name><value>hadoop102:10020</value></property><!-- 历史服务器web端地址 --><property><name>mapreduce.jobhistory.webapp.address</name><value>hadoop102:19888</value></property></configuration>

重新启动一下yarn才能加载新配置的配置文件





34_尚硅谷_Hadoop_入门_日志聚集功能配置


yarn-site.xml目前的所有内容:
<configuration><!-- 指定MR走shuffle --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 指定ResourceManager的地址--><property><name>yarn.resourcemanager.hostname</name><value>hadoop103</value></property><!-- 环境变量的继承 --><property><name>yarn.nodemanager.env-whitelist</name>             <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value></property><!--mapreduce运行中发现有任务被kill掉,多半是因为内存分配不足造成,所有需要修改内存配置。来自CSDN --><property><name>yarn.nodemanager.resource.memory-mb</name><value>22528</value><discription>每个节点可用内存,单位MB</discription></property><property><name>yarn.scheduler.minimum-allocation-mb</name><value>1500</value><discription>单个任务可申请最少内存,默认1024MB</discription></property><property><name>yarn.scheduler.maximum-allocation-mb</name><value>16384</value><discription>单个任务可申请最大内存,默认8192MB</discription></property><!-- 开启日志聚集功能,可以方便的查看到程序的运行详情,方便开发调试 --><!-- 开启日志聚集功能 --><property><name>yarn.log-aggregation-enable</name><value>true</value></property><!-- 设置日志聚集服务器地址 --><property>  <name>yarn.log.server.url</name>  <value>http://hadoop102:19888/jobhistory/logs</value></property><!-- 设置日志保留时间为7天 --><property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value></property>    </configuration>

启动历史服务器
mapred --daemon start historyserver
停止历史服务器mapred --daemon stop historyserver



没有日志内容没关系,再后面执行的任务它就有了。

再执行这个
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output2


如果这里面抛出异常的话,更方便我们去定位异常信息

35_尚硅谷_Hadoop_入门_两个常用脚本


启动历史服务器
mapred --daemon start historyserver
停止历史服务器mapred --daemon stop historyserver


目前来说需要启动HDFS、YARN,还需要启动历史服务器,需要启动好几下,而且尤其这个YARN还需要在hadoop103上去启动,如果不在hadoop103上启动,很容易导致错误。可以编写hadoop集群启停脚本。

#!/bin/bashif [ $# -lt 1 ]
thenecho "No Args Input..."exit ;
ficase $1 in
"start")echo " =================== 启动 hadoop集群 ==================="echo " --------------- 启动 hdfs ---------------"ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"echo " --------------- 启动 yarn ---------------"ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"echo " --------------- 启动 historyserver ---------------"ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"
;;
"stop")echo " =================== 关闭 hadoop集群 ==================="echo " --------------- 关闭 historyserver ---------------"ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"echo " --------------- 关闭 yarn ---------------"ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"echo " --------------- 关闭 hdfs ---------------"ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
*)echo "Input Args Error..."
;;
esac


大家有没有发现,我每次打jps的时候,都的去每台服务器上去查看一下,那如果有100台服务器呢?我是不是要查看100次呢?是不是非常效率低下啊,那能不能写个脚本,我一下查看所有服务器的运行情况呢?

#!/bin/bashfor host in hadoop102 hadoop103 hadoop104
doecho =============== $host ===============ssh $host jps
done


36_尚硅谷_Hadoop_入门_两道面试题

37_尚硅谷_Hadoop_入门_集群时间同步

影响机器性能,直接跳过

38_尚硅谷_Hadoop_入门_常见问题总结


在core-site.xml中增加下面这一段代码,使具有操作HDFS网页权限的功能

 <!-- 配置HDFS网页登录使用的静态用户为atguigu --><property><name>hadoop.http.staticuser.user</name><value>atguigu</value></property>

配置完成后,分发给hadoop103和hadoop104。然后重启集群。

【02】Hadoop入门相关推荐

  1. [学习笔记]黑马程序员-Hadoop入门视频教程

    文章目录 参考资料 第一章:大数据导论与Linux基础(p1-p17) 1.1 大数据导论 1.1.1 企业数据分析方向 1.1.2 数据分析基本流程步骤 明确分析的目的和思路 数据收集 数据处理 数 ...

  2. Hadoop新手篇:hadoop入门基础教程

    Hadoop新手篇:hadoop入门基础教程 关于hadoop的分享此前一直都是零零散散的想到什么就写什么,整体写的比较乱吧.最近可能还算好的吧,毕竟花了两周的时间详细的写完的了hadoop从规划到环 ...

  3. MyBatis-学习笔记02【02.Mybatis入门案例】

    Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...

  4. Hadoop入门基础教程 Hadoop之单词计数

    单词计数是最简单也是最能体现MapReduce思想的程序之一,可以称为MapReduce版"Hello World",该程序的完整代码可以在Hadoop安装包的src/exampl ...

  5. Hadoop入门基础教程 Hadoop之完全分布式环境搭建

    上一篇我们完成了Hadoop伪分布式环境的搭建,伪分布式模式也叫单节点集群模式, NameNode.SecondaryNameNode.DataNode.JobTracker.TaskTracker所 ...

  6. 一.hadoop入门须知

    目录: 1.hadoop入门须知 2.hadoop环境搭建 3.hadoop mapreduce之WordCount例子 4.idea本地调试hadoop程序 5.hadoop 从mysql中读取数据 ...

  7. 大数据与Hadoop有什么关系?大数据Hadoop入门简介

    学习着数据科学与大数据技术专业(简称大数据)的我们,对于"大数据"这个词是再熟悉不过了,而每当我们越去了解大数据就越发现有个词也会一直被提及那就是--Hadoop 那Hadoop与 ...

  8. Hadoop 入门学习思维导图

    Hadoop 入门学习思维导图:

  9. Hadoop新手篇:hadoop入门基础教程 1

    Hadoop新手篇:hadoop入门基础教程 关于hadoop的分享此前一直都是零零散散的想到什么就写什么,整体写的比较乱吧.最近可能还算好的吧,毕竟花了两周的时间详细的写完的了hadoop从规划到环 ...

  10. 大数据框架Hadoop篇之Hadoop入门

    1. 写在前面 今天开始,想开启大数据框架学习的一个新系列,之前在学校的时候就会大数据相关技术很是好奇,但苦于没有实践场景,对这些东西并没有什么体会,到公司之后,我越发觉得大数据的相关知识很重要,不管 ...

最新文章

  1. SIGSEGV 和 SIGBUS gdb看汇编
  2. 使用python用什么软件-python开发工具有哪些(初学python用什么软件)
  3. 【计算机网络】传输层 : TCP 可靠传输 ( 可靠传输机制 | 快速重传机制 )
  4. for循环中执行setTimeout问题(任务队列的问题)
  5. 微信小程序 地图组件使用
  6. Intel® Nehalem/Westmere架构/微架构/流水线 (2) - 流水线概述
  7. 万字长文+思维导图帮你梳理 Java IO 流,还学不会你来打我(值得收藏)
  8. Android Uri to Path
  9. Oracle 11g 新特性 – HM(Hang Manager)简介
  10. Altium Designer(七):3D模型
  11. Mysql更换版本的操作,非常详细(包括数据备份,卸载,安装,还原)
  12. 路畅安卓最新固件升级_路畅导航系统固件升级下载|路畅导航系统固件升级大全1.51 官方版_ - 极光下载站...
  13. oracle存储过程插表,oracle 一张表插入另外一张表 存储过程
  14. 日亚海淘DHL自助清关流程攻略
  15. python+selenium自动截取政府官网及失信公示平台搜索结果图
  16. RabbitMQ 使用规范
  17. 自己写jquery表单验证
  18. 30款常用的大数据分析工具推荐(最新)
  19. DELL 笔记本 - Windows 10 恢复 / 重置此电脑
  20. ai绘画到底有大强?我开发了一款ai绘画(来看看)

热门文章

  1. web前端如何做注册页面
  2. angularjs与jquery特效slidetoggle结合
  3. 23个开源App的App Store地址和源代码
  4. 【大数据入门核心技术-Tez】(二)Tez安装
  5. HTTPS证书认证过程(CA)
  6. linux添加删除虚拟ip,Linux增加/删除虚拟ip
  7. spark技术学习与思考(sparkcoresparksql)
  8. 小学四年级计算机考试题,小学四年级信息技术试卷题库.doc
  9. 【git系列005】git分支学习
  10. redis集群报错:(error) MOVED 11469 192.168.163.249:7002