Hadoop之hive的drop table恢复
一、引言:快下班的时候我开发同事问能不能将hive中drop掉的数据恢复过来,我记得是有开回收站的,当时我回答说可以恢复的。二、恢复过程:在之前我有对hadoop的回收站有过了解,就是将hdfsdfs-rm删除掉的文件进行恢复,只需要hdfsdfs-mv将文件从回收站中搬过来就行,我就先使用这个方法
abrt-hook-ccpp: Saved core dump of pid 12224导致dn挂掉
一、引言:最近发现datanode老是无缘无故的进程挂掉,从程序的日志没有stop迹象,只能从/var/log/messages入手,发现如下信息:从namenode的页面也可以看到进程消息的时间点:由此可以看出进程是跟abrt有一定的关系的。二、解决问题:这是因为无法创建ccpp文件导致的,因为需
误删文件的经验之谈
一、引言曾经在运维hadoop集群的时候,出过这么一回事:当时集群因为需要维修机器所以进行停机维护,但是当启动集群的时候发现集群怎么也起不了,在没有问别的同事的情况下,自己百度了一下问题,发现format操作能解决问题,当时的我对于format是一知半解,后来执行format以后集群是起来了,但是数
12321312312
213213213121231312312
keepalived-测试
VIP为192.168.88.100,客户端IP为192.168.88.2。启动Vagrant服务器需要进入服务器所在目录,执行vagrantup命令,登录到服务器需要执行vagrantssh命令。如果你还没有接触过Vagrant,那么可以看看这篇文章Vagrant入门。由于本文中很多命令都需要使用
keepalived总结-vrrp
keepalived通过提供一个浮动的VIP(vrrp虚拟路由协议),防止单点故障导致业务无法访问,这样可以实现一个简单的双热备高可用功能keepalived有三种监听模式layer3、4、5,分别工作在TCP/IP、TCP及应用层下layer3工作时,会定期向服务器群集中发送一个ICMP的数据包(
keepalived- 虚拟IP所在网
global_defs{router_idLVS_Master}vrrp_instanceVI_1{stateMASTER#指定instance初始状态,实际根据优先级决定.backup节点不一样interfaceeth0#虚拟IP所在网virtual_router_id51#VRID,相同VRID
keepalived总结-健康检查
下面是常用的健康检查方式,健康检查方式一共有HTTP_GET|SSL_GET|TCP_CHECK|SMTP_CHECK|MISC_CHECK这些#TCP方式TCP_CHECK{connect_port80bindto192.168.1.1connect_timeout4}#TCP_CHECK#SMT
keepalived总结-VRRP脚本范例
--VRRP脚本范例vrrp_scriptcheck_running{script“/usr/local/bin/check_running”interval10weight10}vrrp_instancehttp{stateBACKUPsmtp_alertinterfaceeth0virtual_
keepalived总结-VRRP实例
otify_master/path/to/to_master.sh:表示当切换到master状态时,要执行的脚��notify_backup/path_to/to_backup.sh:表示当切换到backup状态时,要执行的脚本notify_fault“/path/fault.shVG_1”noti
keepalived总结-全局定义
1--全局定义(globaldefinition)配置范例:global_defs{notification_email{admin@example.com}notification_email_fromadmin@example.comsmtp_server127.0.0.1stmp_connec
keepalived总结-模块化设计
keepalived也是模块化设计,不同模块复杂不同的功能,它主要有三个模块,分别是core、check和VRRP,其中:core模块:为keepalived的核心组件,负责主进程的启动、维护以及全局配置文件的加载和解析;check:负责健康检查,包括常见的各种检查方式;VRRP模块:是来实现VRR
Keepalived基础总结-keepalived介绍
keepalived介绍keepalived观察其名可知,保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,它集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发生。说到keepaliv
http log module
首先是检查客户端的http请求类型(r->method),如果请求类型为NGX_HTTP_GET|NGX_HTTP_HEAD|NGX_HTTP_POST,则继续进行处理,否则一律返回NGX_HTTP_NOT_ALLOWED从而拒绝客户端的发起的请求。其次是检查请求的url的结尾字符是不是斜杠‘
挂载这个handler
staticngx_int_tngx_http_static_init(ngx_conf_t*cf){ngx_http_handler_pt*h;ngx_http_core_main_conf_t*cmcf;cmcf=ngx_http_conf_get_module_main_conf(cf,ngx
handler模块的编译和使用
handler模块的编译和使用模块的功能开发完了之后,模块的使用还需要编译才能够执行,下面我们来看下模块的编译和使用。config文件的编写对于开发一个模块,我们是需要把这个模块的C代码组织到一个目录里,同时需要编写一个config文件。这个config文件的内容就是告诉nginx的编译脚本,该如何
typedef struct
#include<ngx_config.h>#include<ngx_core.h>#include<ngx_http.h>typedefstruct{ngx_str_thello_string;ngx_int_thello_counter;}ngx_http_h
content handler
一般情况下,我们自定义的模块,大多数是挂载在NGX_HTTP_CONTENT_PHASE阶段的。挂载的动作一般是在模块上下文调用的postconfiguration函数中。注意:有几个阶段是特例,它不调用挂载地任何的handler,也就是你就不用挂载到这几个阶段了:NGX_HTTP_FIND_CON
handler- 模块的定义
模块的定义对于开发一个模块来说,我们都需要定义一个ngx_module_t类型的变量来说明这个模块本身的信息,从某种意义上来说,这是这个模块最重要的一个信息,它告诉了nginx这个模块的一些信息,上面定义的配置信息,还有模块上下文信息,都是通过这个结构来告诉nginx系统的,也就是加载模块的上层代码
调用该函数-create_loc_conf
create_loc_conf:调用该函数创建本模块位于locationblock的配置信息存储结构。每个在配置中指明的location创建一个。该函数执行成功,返回创建的配置对象。失败的话,返回NULL。merge_loc_conf:与merge_srv_conf类似,这个也是进行配置值合并的地方