准备工作
1. 在src目录下创建META-INF目录
2.在目录中创建MANIFEST.MF文件,写入内容如下:
Manifest-Version: 1.0
Class-Path: /usr/lib/hbase/hbase.jar /usr/lib/hbase/lib/commons-lang-2.5.jar /usr/lib/hbase/lib/commons-logging-1.1.1.jar /usr/lib/hbase/lib/commons-configuration-1.6.jar /usr/lib/hbase/lib/slf4j-api-1.6.1.jar /usr/lib/hbase/lib/zookeeper.jar /usr/lib/hadoop/hadoop-common.jar /usr/lib/hadoop/hadoop-auth-2.0.0-cdh4.2.2.jar /home/cc/leixf/java/com.google.guava_1.6.0.jar /home/cc/leixf/java/com.google.protobuf-2.4.0.jar /home/cc/leixf/java/slf4j-nop-1.7.6.jar
Main-Class: policy.DSTSplitPolicy
说明:(1)Manifest-Version为版本号,可随意定义
(2)Class-Path为工程中所使用到的第三方jar包的全路径,各个名称之间以空格间隔开
(3)Main-Class为包含main函数的类在src目录下的路径,即如果你的类名为Main,所处的包名为policy,则该处的值为“policy.Main”
创建jar包
右键工程名-->Export-->JAR file-->Next默认设置即可,此处可选择JAR file的导出路径及名称-->Next-->Next选择Use existing manifest from workspace,选择刚刚创建的MANIFEST.MF文件-->Finish
使自定义插件生效
1、将jar包放入各个节点的hbase/lib或hadoop/lib目录下
2、根据实际情况重启master或regionserver节点
3、设置相关参数,如
(1)mapred.jobtracker.taskScheduler //自定义MapReduce作业调度器
(2)hbase.regionserver.region.split.policy //自定义region切分策略
(3)hbase.master.loadbalancer.class //自定义hbase负载均衡算法