- 博客(26)
- 收藏
- 关注
原创 Hadoop——使用IDEA开发WordCount on Yarn
首先将之前配置好的mapred-site.xml和yarn-site.xml拷贝进resources文件夹,并在pom.xml中加入 <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-client --> <dependency> <...
2020-02-29 02:21:06 441 1
原创 Hadoop——Yarn的HA模式搭建以及WordCount实验
Yarn和HDFS是两个概念,所以你完全可以在启动着Hadoop集群的时候,搭建Yarn并启动之前在没有Yarn时我们的角色分布是这样的搭建Yarn之后会新增RM和NM角色,我们将RM分配在node03和04上做主备RM,与node01和02的NN错开。NM必须与DN一一对应,所以在node02~04上搭建NM搭建之后的角色应该如下NN实现主备切换时需要一个ZKFC辅助,在Yarn中却...
2020-02-28 22:29:28 454
原创 Hadoop——JobTracker和TaskTracker,以及如何演变成Yarn架构
MapReduce计算框架是如何实现计算向数据移动的呢?计算向数据移动面临着诸多问题,如:怎么让机器自动移动,面对block的许多副本,怎么判别移动到的是最合适的Datanode这个问题牵扯到两个概念:资源管理,任务调度资源管理:掌握各机器当前可用内存,可用CPU等情况任务调度:根据可用资源,进行计算任务的分配(也就是向哪个Datanode移动)MapReduce想要完成资源管理和任务调...
2020-02-28 17:59:38 2062
原创 Hadoop——MapReduce计算框架详细讲解
MapReduce(MapReduce是批量计算模型,只有一批数据全部Map完,才会开启Reduce阶段)简单理解Map(映射):以一条记录为单位做映射,在处理当前记录时不关心其他记录的状态Reduce:以一组记录为单位做计算,所以计算前要分组,分组的数据是key-value的形式,分组由map完成Map:负责数据的映射,过滤,变换,1条记录进,n条记录出Reduce:负责数据的分解,...
2020-02-28 16:52:11 576
原创 Hadoop——使用idea+maven开发Hadoop项目入门
我们这里使用windows系统作为开发系统首先保证已在Linux中正确开启Hadoop集群,然后要在windows的环境变量里新加一个变量HADOOP_USER_NAME,值为集群里开启Hadoop服务的账户,笔者在服务器中用root用户使用的start-dfs.sh,所以这里的值为root。然后我们将Hadoop的两个配置文件core-site.xml和hdfs-site.xml传输到win...
2020-02-26 03:35:22 3744 8
原创 Hadoop——高可用(High Available,HA)模式与联邦机制(Federation)启蒙
虽说主从结构相对简单,但是公司中不会采用这种简单的主从结构,因为这会带来两个严重问题若主节点发生故障,即单点故障,会造成整个集群不可用主节点内存受限,压力过大这是两个独立的问题,业内对于这两个问题给出了不同的解决方案,下面具体说明Hadoop—高可用解决方案(HA)所谓Hadoop高可用(HA)实际上就是配置多个Namenode,一个作为主机(Active),其他作为备机(Stand...
2020-02-24 18:45:33 1122
原创 Servlet——Servlet过滤器和监听器
过滤器(Filter)是能够为请求和响应的header和内容进行操作的一种特殊的web组件。特殊之处在于其本身并不直接生成web响应,而是拦截过滤web请求和响应。下面直接用代码说明Servlet过滤器** * 完成请求的拦截,以及资源的统一管理功能 * 定义 * * @author Song X. * @date 2020/02/16 */public class MyFilt...
2020-02-16 23:30:45 444
原创 Servlet——ServletContext和ServletConfig
Session解决的相同用户在不同请求间的数据共享问题,那么不同用户的数据共享问题该如何解决?这时候就要使用ServletContext。帖子的浏览次数就是个经典的不同用户需要共享的数据。从Session的机制可以联想,如果服务器端有一个可以被所有用户访问的对象,并将这类数据存入该对象,就可以实现不同用户的数据共享了Servlet:每个JVM上的Web程序都有一个与之对应的ServletCont...
2020-02-14 20:18:40 252
原创 Servlet——Cookie和Session
首先介绍以下Servlet的请求转发和重定向。请求转发和重定向都是Servlet的跳转技术请求转发:request.getRequestDispatcher("dispatcher.jsp").forward(request,response)请求转发:request.getRequestDispatcher("dispatcher.jsp").include(request,respons...
2020-02-13 21:26:46 282
原创 Servlet——Servlet中文乱码问题
这是一个很烦人的小点,所以单独拿出来说一下,主要有以下解决方式get请求中出现乱码。解决方式有三种:1.获取字符串String name = request.getParameter("name")之后使用new String(name.getBytes("iso-8859-1"),"utf-8");重新构造字符串;2.设置request编码格式request.setCharacterEnco...
2020-02-12 20:38:43 237
原创 Servlet——Request和Response
Request和Response分别用来处理客户端发送的数据和服务器应该作出的响应,使用较为简单,主要都是api。读者可使用以下代码自行练习/** * HttpServletRequest用来存放客户端请求的参数 * 请求行 * 请求头 * 请求数据 * * @author Song X. * @date 2020/02/11 */public class RequestSer...
2020-02-11 23:24:14 316
原创 Servlet——Servlet的简单使用
Servlet的生命周期Servlet的生命周期就是指一个Servlet对象从被创建到销毁。一般来说,Servlet类从第一次接收到请求的时候被创建,且只创建一次(这说明Servlet是单例的),对应到下面的代码,init只会在第一次请求这个Servlet的时候在控制台输出一次,之后再请求就不会输出了,注意我们可以在web.xml的对应servlet配置里使用<load-on-srartu...
2020-02-10 23:37:07 386
原创 idea的Edit Configurations里没有tomcat选项
看到有人说他们idea的Run -> Edit Configurations里没有tomcat选项,现将解决方法列一下Settings(mac是Preferences) -> Plugins,搜索Tomcat and TomEE Integration有没有勾选上,没有的话勾选并重启ideaSettings(mac是Preferences) -> Build, Execut...
2020-02-10 00:09:42 6646 2
原创 Servlet——初识Servlet
Java的各种框架虽然好,但是这些框架底层的实现技术,才是真正核心的东西。框架会随着时间更迭,底层核心却永远不变。学习各种框架的时候,不能忘记实现它们的核心技术。最近我会花时间重温Serlvet的知识,这对理解SpringMVC和SpringBoot等框架的底层原理有很大的帮助。学习Servlet不免涉及到前后端交互的一些功能,所以在前端部分我也会简要回顾一下“曾经”的JSP,尽管现在用Sprin...
2020-02-09 23:17:47 1508
原创 Hadoop——基于CentOS 6.5的分布式搭建
以下使用4台机器搭集群,可以在VMware里启动4个虚拟机完成所有4台机子,都要设置以下所有步骤基础配置设置网络vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #HWADDR=00:0C:29:42:15:C2 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROT...
2020-02-09 02:04:51 149
转载 VMware安装CentOS 6.5 mininal版教程
刚才用VMware安装CentOS 6.5 mininal的时候碰到了一个大坑,下面放上正确的方式,最后安装完一定要右击虚拟机重启,不要直接关了重开。正确安装CentOS 6.5 minimal的方法在用ifconfig查ip地址的时候,只能查到127.0.0.1。这时候要vi /etc/sysconfig/network-scripts/ifcfg-eth0 (CentOS 7.0的时候文件...
2020-02-08 01:22:43 227
原创 Hadoop——HDFS读写流程
HDFS写流程(也就是client上传文件到HDFS的流程):Client和NN连接创建文件元数据NN判定元数据是否有效,比如判定client有没有权限创建文件,当前HDFS里有没有相同的同级同名文件NN触发副本放置策略,返回一个有序的DN列表Client和DN建立Pipeline连接(为降低带宽消耗和上传延时,client会根据距离,挑选一个与自己最近的DN建立连接)Client将b...
2020-02-07 20:20:24 282
原创 Hadoop——HDFS角色功能
不论集群有多少台机器,Namenode只有一台,由于要记录所有datanode上的文件元数据、目录结构等信息,且当client并发很高时,Namenode压力其实很大,所以Namenode必须响应很快,所有Namenode完全基于内存存储metadata、目录结构、block映射等信息但是也正是因为其完全基于内存,所以受内存大小,机器断电丢失数据等客观因素限制,Namenode需要持久化方案保...
2020-02-07 00:48:01 635
原创 Hadoop——HDFS架构设计
HDFS是主从架构(Master/Slave)由一个Namenode(主)和一些Datanode(从)组成每个文件都包括:文件数据本身(data)和文件的元数据(metadata)Namenode存储和管理metadata,也就是与文件数据无关的元数据,并维护了一个层次型的文件目录树Datanode负责存储data,也就是文件数据本身,并提供block块的读写客户端(client)与N...
2020-02-06 22:48:06 115
原创 Hadoop——HDFS存储模型
HDFS存储模型是从逻辑层面上谈HDFS,具体物理架构见本博客《Hadoop——HDFS架构设计》HDFS系统中,文件线性按字节切割成块(Block),且每个块都有偏移量(offset)和id各文件block大小可以不一样,比如A的块大小为4KB,B的块大小为8KB,但是每个文件中,除了最后一个块大小可以与其余块不同,其余块大小必须相同block块应根据硬件的I/O特性调整,在Hadoo...
2020-02-06 22:43:35 536
原创 Spring Boot——Druid数据源配置,内置监控
SpringBoot默认使用Hikari数据源,如果要切换成Druid数据源,需要首先在pom文件中引入Druid依赖,然后在application配置文件中配置type即可 <dependency> <groupId>com.alibaba</groupId> <artifactId>...
2020-02-05 21:04:57 284
原创 Spring Boot——通过JDBCTemplate使用JDBC
首先我们需要配置数据源,在application.yaml(或application.properties)写如下配置,读者根据自己使用的数据库、用户名、密码、数据库名自行配置,这里以mysql举例。配置完成之后,可以在SpringbootDatabaseApplicationTests中写如下代码进行测试。运行之后如有如下显示则说明获取数据源成功。有了数据源,就可以使用连接和原生的 J...
2020-02-05 17:39:46 1891
原创 Spring Boot——配置前端国际化i18n
首先在idea中统一编码格式:file->settings(mac用户是preferences)->Editors->File Encoding,选择编码格式为utf-8。然后在resources文件夹下创建一个文件夹(可以是任意名字,这里是language),然后在里面创建一些properties文件,里面写上需要被国际化的属性。注意文件命名格式,这些propert...
2020-02-03 23:32:53 616
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人