linux开机自动执行时间同步命令
最近几天复习拉链表,动了动我经年吃灰的集群,还行,能跑mapreducer程序,但是在跑了几次hive-sql之后一直给我报异常,裂开,直接访问8088端口看maprecer日志,查明了原因,大概率是因为集群的时间没有同步,所以导致出现异常。
时间同步我这个方法用在测试环境没啥问题,开发环境的话,你仔细斟酌,说不定也可以(●ˇ∀ˇ●)。
思路:指定一个地区的时间,让每个服务器启动的时候都要将时间同步为这个地方的时间。
实现:我们首先要确定你有我接下要用的工具,安装ntp指令:
1yum install -y ntp
修改目录 /etc/rc.local ,这个文件中会存在一些基本信息,在文件末尾添加代码:
12vim /etc/rc.localntpdate -u ntp.api.bz
解释:/etc/rc.local 目录会在你开机之后,按顺序执行目录下的指令,也就是我们添加的代码
我们添加的代码是用来修改时间的工具命令, -u 是越过防火墙,ntp.api.bz 是 NTP服务器(上海)
也就是说我们的服务器一开机时间就会被同步到上海服务器的时间。
missio ...
java多态如何实现
不会吧不会吧,还有人不懂java多态? 今天我温习面试题,多态是个什么只记得可以用父类接收充当返回值了,哎,这里回顾记录一下
多态的概念面向对象三大特性之一,用来解决程序的扩展性问题,可以简单理解为一种事物的多种表现形式,比如:
一个学生既是学生,同时也是个人类,那我们聊天的时候,会说他是个人类吗?不会我们通常说他是个学生。(说人类的不觉得很奇怪吗)
大家先搞懂几个名词,接下来才会明白我说的专业术语
比如我们创建一个实体类A 、一个实体类B,以B继承A,这个时候,你创建新对象的时候有两种方式定义返回值:
12A a = new A(); //基类就是A类 B b = new A(); //基类就是B类
我们定义的参数名(上面的小a 小b)就是引用变量,好了,现在我们知道了基类是什么,引用变量是什么。
先总结出个特点:
代码体现就是 父类引用变量可以指向子类
达成这个效果的前提条件是,子类继承了父类,或者实现了父类
调用父类的引用方法会调用子类改写后的方法(这也是我们继承了别的方法之后,重写了却调用我们写的方法而不是人家父类原本方法的原因)
多态例子A类12 ...
拉链表数据的导入步骤
数据导入mysql本地准备一张表
弄点数据
kettle通过kettle导入数据到集群,先转换导入mysql数据
双击这个表输入
出现了一个界面,点击新建创建mysql连接
点击下面的查询sql语句,然后如果你的mysql配置正确,就会出现数据库中表的选择
选择是的,就会写出你的mysql中的具体字段,否就默认是 *
不放心的可以点击下面的预览,直接查询出mysql的数据
然后去核心对象的输出中,找到表输出
把配置填好了,随便选一个你的hive数据库,然后准备在这里建表了,可以参考我的配置,下面依然有测试可以让你安心
目标表你自己直接写一个名字,然后选择下面的sql,可以让kettle帮我们创建表
我这里是添加了一个 名为dt的分区字段,注意分隔符的设置,要与你的数据库文件中的分割方式一致才行
执行完毕后,会有日志信息,提示你成功后者失败
之后,这个表输出就没有用了,我们可以选择删除它,然后选择直接输入到hdfs中
设置你的集群继承kettle,这里不介绍了,然后设置输入到hdfs的具体位置
分隔符,编码格式,注意,下面的那个头部钩子要去掉,我这里贴图错误 ...
kettle生成不该有的空格
下面如果放任长度列不管,就会自动生成字符串填充你的长度,生成的数据就会有脏数据
还要注意设置编码格式,分隔符,否则数据没法切+乱码,直接自闭
valine评论在butterfly主题下
在butterfly下添加一个评论系统,但是静态博客如何储存评论信息?可以结合Learn cloud这个平台的免费空间使用。
先创建账号
创建应用
直接去设置里找到应用keys,记录下 AppID 和 AppKey ,这两个需要在你博客的配置文件中填上。
再找到设置里的安全中心,安全域名下输入你的全域名,要带着http的那种
再去看储存中的结构化数据,创建两个class,权限什么的默认就好了: Comment、Counter。
常用端口查看
查看80端口被什么程序占用lsof -i :80
查看80端口正在被哪个服务使用着netstat -tunlp | grep :80
查看80端口的是否已在使用中,可验证使用该端口的服务是否已正常运行netstat -an | grep :80
所有端口占用情况netstat -tunlp | grep :
查看httpd服务是否已启动ps aux | grep httpd
如何使用阿里巴巴Java开发规约IDEA插件
开发中会遇到的一个大问题就是,如何让你的代码能被别人看懂,毕竟你不可能一辈子都为了某个东西一直做维护,为了让自己写的代码能被接替你的人更顺利地熟悉,国内知名企业阿里巴巴出了这么一个插件,相信你在用idea的同时也被它强大的提示器所牢牢地困住了吧,阿里的插件就是基于这个提示器,在你的代码缺少必要的备注,或者其他格式上的问题,都会给你报警,甚至会因为格式问题而给你报错
我只用idea,所以不做别的编辑器的解释
插件安装file > setting > plugins > marketplace
然后搜索alibaba 安装之后记得重启
插件使用前正常情况下你用的编辑器的提示都是英文的,阿里的提示全是中文,有可能乱码
file > setting > appearance 修改文件目录字体
然后这里可以编辑,你想要的阿里提示是中文还是英文,如果是英文则不需要上面的步骤了,因为不会涉及乱码问题
我这里就中文了,挺顺眼的
使用方法:比如这里的启动类上
出现了 ...
数据库构建规则
范式规则表的设计原则为五个范式:第一范式,第二范式,第三范式,第四范式,第五范式
表一般的设计原则要符合第三范式即可
高范式向下兼容,高范式的标准也必须符合低范式
第一范式(1NF)所谓第一范式(1NF)是指在关系模型中,对于添加的一个规范要求,所有的域都应该是原子性的,即数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。即实体中的某个属性有多个值时,必须拆分为不同的属性。在符合第一范式(1NF)表中的每个域值只能是实体的一个属性或一个属性的一部分。简而言之,第一范式就是无重复的域。
翻译为人话:
id
name
sex
1
王浩,25,14577989856
男
2
李浩,24,16935744850
男
上面的表中,一个字段出现了多个字段拼接在一起的情况,这不符合规则
第二范式(2NF)在1NF的基础上,非码属性必须完全依赖于候选码(在1NF基础上消除非主属性对主码的部分函数依赖)第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每 ...
spring各个阶段的驼峰映射方式
在application.properties中1mybatis.configuration.map-underscore-to-camel-case=true
在application.yml123mybatis: configuration: map-underscore-to-camel-case: true
配置类:12345678910111213141516@org.springframework.context.annotation.Configurationpublic class MybatisConfig { @Bean public ConfigurationCustomizer configurationCustomizer() { return new ConfigurationCustomizer() { @Override public void customize(Configuration configuration) { configuration.setMapUnder ...