官方源码地址https://github.com/elastic/elasticsearch-hadoop 相关文档 https://www.elastic.co/guide/en/elasticsearch/hadoop/current/configuration.html spark to es 4种操作方式index update upsert create 只支持四种操作,看文档描述,目前的需求只能用 upsert 实现,但官方的包对 upsert 支持不完整 upsert 现支持 /*…
部署yum仓库.定制rpm包 目录 第1章 扩展 - yum缓存 1.1 yum缓存使用步骤... 1 1.1.1 导言... 1 1.1.2 修改配置文件... 1 1.1.3 使用缓存... 1 第2章 自动化部署必备技能-搭建YUM仓库... 2 2.1 仓库简介... 2 2.1.1 导言... 2 2.1.2 使用说明:... 2 2.2 搭建YUM仓库过程... 3 2.2.1 创建yum仓库目录... 3 2.2.2 安装createrepo软件... 3 2.2.3 初始化rep…
Hadoop Commands Guide Overview Shell Options Generic Options User Commands archive checknative classpath credential distch distcp dtutil fs gridmix jar jnipath kerbname key kms trace version CLASSNAME envvars Administration Commands daemonlog Files e…
1.1 快速部署方案 ✔ 问题:当领导给你 100 台已经安装好系统的服务器,然后让优化,让你提出一个快速部署方案. 解答: 1.tar 打包 先编译安装 打包-->分发-->解包(比如 mysql 打包后直接就可以使用 2.SaltStack,puppet,ansible 3.定制 rpm yum 仓库 yum 安装 4.openstack 虚拟机镜像和 docker 容器分发 1.2 回顾下安装软件的三种方式: 1.编译安装软件,优点是可以定制化安装目录.按需开启功能等,缺点是需要查找并实…
Go官方包函数中文翻译 *** import "strings" func Join(a []string, sep string) string Join concatenates the elements of a to create a single string. The separator string sep is placed between elements in the resulting string. 翻译: 根据切片a中的元素生成一个字符串, sep分割字符串被…
FPM主要特点: 把一种包打包成另一种包的格式 支持的源类型包 DIR 将目录打包成所需要的类型,可以用于源码编译的安装包. RPM    对rpm进行转换 gem    对rubygem包进行转换. python    将python模块打包成相应的类型 支持的目标类型包格式: RPM    转换为RPM包 deb     转换为deb包 solaris    转换为solaris包 puppet   转换为puppet包 安装FPM工具:     fpm是使用ruby语言编写的,因此系统环境…
微信SDK集成示例,现已完成微信授权登录,之后将陆续包装分享等其他功能. ReactNative高级交流群 127482131 或访问  http://blog.1ygowu.com ReactNative技术专题 如何安装 1. 下载包文件 $ npm i react-native-wechat-ios 2. 链接库文件到你的项目中 参考 https://facebook.github.io/react-native/docs/linking-libraries-ios.html#conten…
//-----------------------------------------------------------------/**************************************************************@调用方法:{onClickCell:MCBaseDBGrid.DefaultCell}*@功能: Datagrid扩展方法onClickCell{easyui-datagrid-扩充-支持单元格编辑}*@date: 2016-10-25*…
笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 当我们自动化部署集群的时候,想要快速的安装所有服务,搭建yum仓库与定制rpm包是我们首先要做的 原创作品,转载请注明出处.http://www.cnblogs.com/Csir/  本人导师---悠久之翼 #服务端1.#先保留平常下载下来的rpm包 sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf 这样当我们yum安装软件的时候,文件就是被保存下来: /va…
Key排序 1. 继承WritableComparator 在hadoop之Shuffle和Sort中,可以看到mapper的输出文件spill文件需要在内存中排序,并且在输入reducer之前,不同的mapper的数据也会排序,排序是根据数据的key进行的. 如果key是用户自定义的类型,并没有默认的比较函数时,就需要自己定义key的比较函数,也就是继承WritableComparator.事例代码如下: public static class KeyComparator extends Wr…
安装FPM FPM是ruby写的打包工具,ruby版本要大于1.8.5 #安装ruby环境和gem包管理器 [root@test88 ~]# yum install -y ruby rubygems ruby-devel #查看并替换rubygem仓库 [root@test88 ~]# gem sources list [root@test88 ~]# gem source --add http://gems.ruby-china.org/ --remove http://rubygems.or…
文件上传报错(commons-fileupload包和commons-io包不支持JDK版本) 这个bug可把我弄惨了!!!我代码是想通过写个文件上传,我写的文件上传需要用到commons-fileupload包和commons-io包.结果给我报这一错,特无语,弄了好久. 首先看到报错中的序号1和序号3的位置,我就去仔细检查了一遍又一遍的代码,确认是我代码真的没有问题.此处报错说我代码365行有问题,我365行是 ,说白了就是请求转换的问题呗,但我表示无能为力. 然后我又去看到报错中的序号3,…
CodeGen融合核心扩展定制文件 融合核心定制文件 Harmony核心环境的各个方面都可以通过创建一个定制文件来定制,该文件是一个名为Harm的JSON文件onyCoreCustomization.json.必须将此文件与正在使用的CodeGen模板放在同一位置. 自定义文件必须至少包含一个空JSON对象: { } 然后,可以通过向对象添加特定的命名属性来自定义Harmony核心环境的各个方面.可以在下面找到这样做的示例. 自定义关系 要自定义由扩展标记 <HARMONYCORE_relati…
如何让sparkSQL在对接mysql的时候,除了支持:Append.Overwrite.ErrorIfExists.Ignore:还要在支持update操作 1.首先了解背景 spark提供了一个枚举类,用来支撑对接数据源的操作模式 通过源码查看,很明显,spark是不支持update操作的 2.如何让sparkSQL支持update 关键的知识点就是: 我们正常在sparkSQL写数据到mysql的时候: 大概的api是: dataframe.write         .format("s…
近期项目须要用到hadoop.边学习边应用,第一步无疑是安装hadoop.我安装的是hadoop-2.4.1.以下是具体步骤,做备忘以后查看 一.下载依赖软件 1.java hadoop官网说明仅仅支持java 6和7 ,下载最新的java7 http://download.oracle.com/otn-pub/java/jdk/7u65-b17/jdk-7u65-linux-x64.tar.gz 2.maven 从maven官网下载http://maven.apache.org/downloa…
JDK版本的要求 Hadoop 2.7 以及之后的版本,需要JDK 7: Hadoop 2.6 以及之前的版本,支持JDK 6: 对于Hadoop1.x.x版本,只需要引入1个jar: hadoop-core 对于Hadoop2.x.x版本,需要引入4个jar: hadoop-common hadoop-hdfs hadoop-mapreduce-client-core hadoop-client jdk.tools(一般需要引入,否则报错) 需要的Jar包 (对应版本:2.x.x) Maven…
FPM打包工具 FPM的作者是jordansissel FPM的github:https://github.com/jordansissel/fpm FPM功能简单说就是将一种类型的包转换成另一种类型. 1. 支持的源类型包 dir 将目录打包成所需要的类型,可以用于源码编译安装的软件包 rpm 对rpm进行转换 gem 对rubygem包进行转换 python 将python模块打包成相应的类型 2. 支持的目标类型包 rpm 转换为rpm包 deb 转换为deb包 solaris 转换为so…
环境说明 系统版本    CentOS 6.9 x86_64 软件版本    fpm-1.4.0 1.安装ruby环境 fpm利用ruby编程语言开发,先安装ruby的环境 [root@m01 ~]# yum -y install ruby rubygems ruby-devel 2.更换Ruby Gems源 将官方的源更换为国内的源 gem sources --add https://mirrors.tuna.tsinghua.edu.cn/rubygems/ --remove http://…
在前面随笔<在代码生成工具Database2Sharp中使用ODP.NET(Oracle.ManagedDataAccess.dll)访问Oracle数据库,实现免安装Oracle客户端,兼容32位64位Oracle驱动>中介绍了在代码生成工具中使用ODP.NET(Oracle.ManagedDataAccess.dll)访问Oracle数据库,如果我们在框架应用中需要使用这个如何处理了?由于我们开发框架底层主要使用微软企业库(目前用的版本是4.1),如果是使用它官方的Oracle扩展,那么就…
Fitnesse的ScriptTable只能顺序执行所有行,本博文介绍如何让ScriptTable支持if-then,来条件执行一行. 首先普及一下概念,什么是Fitnesse,听一听.NET版Cucumber的创始人Aslak Hellesøy谈Fitnesse与Cucumber对比: FIT/Fitnesse和Cucumber都执行高级语言编写的验收测试.FIT仅识别HTML,Fitnesse则通过提供Wiki语法来简化编写测试的过程.在FIT/Fitnesse当中,所有的测试都以表格的形式…
最近工作环境限制,有些机器文件只能拿进去,不能拿出来.网络也是内部网络,没法下载东西.工作中常用的一些Chrome扩展应用也没法使用,对于我这类工具爱好者,打击够大.后来想想,既然扩展应用能开发打包上传应用商店安装,肯定也可以打包安装.本着这个想法就找到了下面的方法. 1,找台能上网的机器,安装需要离线安装的扩展程序(比如:Autofill). 这是我们打包的数据来源. 2,Chrome开启开发者模式 3,根据扩展程序ID找到扩展应用的目录 扩展程序目录地址:C:\Users\[电脑登陆用户名]…
Landsat系列卫星提供的数据,一般都是每个波段一个tif文件,然后外加一个MTL.txt的元数据文件,使用gdal可以直接打开每个波段的tif文件,但是有时候想在打开tif数据的同时能够自动读取MTL文件里面的元数据信息,这个时候就只能自己再解析这个文件了.比较麻烦,下面就是针对这种情况,直接在gdal库里面扩展一种支持landsat的mtl的格式,直接打开mtl文件的同时自动打开tif数据以及元数据. 关于扩展GDAL库可以参考我之前写的CNSDTF格式扩展,以及gdal的官网说明,网址为…
说在前面 create-react-app 是由 React 官方提供并推荐使用构建新的 React 单页面应用程序的最佳方式,不过目前版本(1.5.x)其构建的项目中默认是不支持动态样式语言 Less 的.如果我们的项目必须要使用 Less 呢,这就需要我们手动集成一下.本篇主要针对集成的过程做一个简要记录. 环境准备 本小节先用 create-react-app 构建一个全新的 React 项目作为实验环境. 如果您之前未曾使用过 create-react-app,请先通过如下命令全局安装(…
partitioner负责shuffle过程的分组部分,目的是让map出来的数据均匀分布在reducer上,当然,如果我们不需要数据均匀,那么这个时候可以自己定制符合要求的partitioner. 下面内容涉及到的源代码请参考https://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapreduce/Partitioner.html Partitioner 1.Maperduce提供了四中的partitioner,如下图所示,它们…
有些时候你对第三方得到jar包中的类并不是很满意,想根据实际情况做一些扩展.如果说第三方的jar包已经提供了一些可扩展的类,比如提供了Interceptor,Filter或者其他的类,那么使用原生的比较保险一些.但是如果说并没有提供这些,那就要走一些不寻常的路.这里我总结了一些可行的方法,有的优雅,有的则是不得已而为之的. 一.继承你想要扩展的类,重写想要扩展的方法 这种做法是比较好的,符合面向对象的思想.另外动作比较小,风险也不会很大.但是这种方法有个前提是,被扩展的类在扩展点能用这个子类去替…
之前将eclipse下编好的mapreduce代码放到集群上面跑,发现速度很慢,namenode节点的cpu和内存使用率很低,datanode节点基本上处于没有运行的状态,然后通过查看hadoop-etc-hadoop下面的配置文件,发现mapreduce-site.xml文件下面的mapreduce.framework.name名字中framework少了一个字母e,导致集群一直运行在伪分布模式下面,同时也导致web控制网页没有datanode的信息,打开master:8088网站显示no a…
LnskyDB LnskyDB是基于Dapper的Lambda扩展,支持按时间分库分表,也可以自定义分库分表方法.而且可以T4生成实体类免去手写实体类的烦恼. 文档地址: https://liningit.github.io/LnskyDB/ 开源地址: https://github.com/liningit/LnskyDB nuget地址: https://www.nuget.org/packages/LnskyDB/ 在此非常感谢SkyChenSky其中lambda表达式的解析参考了他的开源…
今日听说某君批评 C 语言说它[输入一个参数返回一个函数]很困难. 例如在 Python 中,你可以 def addn(n): def addx(x): return n + x return addx my_adder = addn(42) print(my_adder(21)) 标准 C 要实现这样的功能也不是不可以,这是一个闭包的功能,我们只要显式的把上下文抓住就可以了. #include <stdio.h> typedef struct Adder { int n; } Adder;…
FPM简介 fpm是生成rpm包的工具.rpm包的制作,采用fpm工具完成,FPM非常易用,此命令可以把rpm包的安装.卸载做得更加优雅,在安装前可以做一些准备工作,安装后可以做一些收尾工作,在卸载前也可以做一些准备,比如检测一下相应的服务是否停止了,在卸载软件再做一些扫尾的工作,只要把这些定义成一个个脚本,fpm中指定相应的选项即可轻松实现.FPM的github: https://github.com/jordansissel/fpm FPM安装 gem sources –a http://m…
LnskyDB LnskyDB是基于Dapper的Lambda扩展,支持按时间分库分表,也可以自定义分库分表方法.而且可以T4生成实体类免去手写实体类的烦恼.,现在已经支持MySql和Sql server数据库了 文档地址: https://liningit.github.io/LnskyDB/ 开源地址: https://github.com/liningit/LnskyDB nuget地址: https://www.nuget.org/packages/LnskyDB/ https://ww…