diff options
| -rw-r--r-- | config/grootstream.yaml | 2 | ||||
| -rw-r--r-- | groot-bootstrap/pom.xml | 17 | ||||
| -rw-r--r-- | groot-common/src/main/resources/grootstream.yaml | 2 | ||||
| -rw-r--r-- | groot-common/src/test/resources/grootstream.yaml | 2 | ||||
| -rw-r--r-- | groot-core/src/main/java/com/geedgenetworks/core/udf/AsnLookup.java | 4 | ||||
| -rw-r--r-- | groot-core/src/main/java/com/geedgenetworks/core/udf/GeoIpLookup.java | 8 | ||||
| -rw-r--r-- | groot-core/src/main/java/com/geedgenetworks/core/udf/knowlegdebase/handler/GeoIpKnowledgeBaseHandler.java | 11 | ||||
| -rw-r--r-- | groot-core/src/test/java/com/geedgenetworks/core/udf/test/AsnLookupFunctionTest.java | 10 | ||||
| -rw-r--r-- | groot-core/src/test/java/com/geedgenetworks/core/udf/test/GeoIpLookupFunctionTest.java | 31 | ||||
| -rw-r--r-- | groot-core/src/test/resources/asn.mmdb | bin | 0 -> 2316 bytes | |||
| -rw-r--r-- | groot-core/src/test/resources/ip_builtin.mmdb | bin | 0 -> 4738 bytes |
11 files changed, 34 insertions, 53 deletions
diff --git a/config/grootstream.yaml b/config/grootstream.yaml index fdd240a..acb19b1 100644 --- a/config/grootstream.yaml +++ b/config/grootstream.yaml @@ -12,7 +12,7 @@ grootstream: - 64af7077-eb9b-4b8f-80cf-2ceebc89bea9 - 004390bc-3135-4a6f-a492-3662ecb9e289 properties: - hos.path: http://192.168.44.12:8089 + hos.path: http://192.168.44.12:9098/hos hos.bucket.name.traffic_file: traffic_file_bucket hos.bucket.name.troubleshooting_file: troubleshooting_file_bucket scheduler.knowledge_base.update.interval.minutes: 5 diff --git a/groot-bootstrap/pom.xml b/groot-bootstrap/pom.xml index 62c2dc8..0a1fd9c 100644 --- a/groot-bootstrap/pom.xml +++ b/groot-bootstrap/pom.xml @@ -121,23 +121,6 @@ <scope>${scope}</scope> </dependency> - <dependency> - <groupId>org.apache.hbase</groupId> - <artifactId>hbase-client</artifactId> - <scope>${scope}</scope> - <exclusions> - <exclusion> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - </exclusion> - <exclusion> - <groupId>org.slf4j</groupId> - <artifactId>log4j-over-slf4j</artifactId> - </exclusion> - - </exclusions> - </dependency> - <dependency> <groupId>org.apache.flink</groupId> diff --git a/groot-common/src/main/resources/grootstream.yaml b/groot-common/src/main/resources/grootstream.yaml index efc5b52..1a9a974 100644 --- a/groot-common/src/main/resources/grootstream.yaml +++ b/groot-common/src/main/resources/grootstream.yaml @@ -12,6 +12,6 @@ grootstream: - 64af7077-eb9b-4b8f-80cf-2ceebc89bea9 - 004390bc-3135-4a6f-a492-3662ecb9e289 properties: - hos.path: http://192.168.44.12:8089 + hos.path: http://192.168.44.12:9098/hos hos.bucket.name.traffic_file: traffic_file_bucket hos.bucket.name.troubleshooting_file: troubleshooting_file_bucket
\ No newline at end of file diff --git a/groot-common/src/test/resources/grootstream.yaml b/groot-common/src/test/resources/grootstream.yaml index efc5b52..1a9a974 100644 --- a/groot-common/src/test/resources/grootstream.yaml +++ b/groot-common/src/test/resources/grootstream.yaml @@ -12,6 +12,6 @@ grootstream: - 64af7077-eb9b-4b8f-80cf-2ceebc89bea9 - 004390bc-3135-4a6f-a492-3662ecb9e289 properties: - hos.path: http://192.168.44.12:8089 + hos.path: http://192.168.44.12:9098/hos hos.bucket.name.traffic_file: traffic_file_bucket hos.bucket.name.troubleshooting_file: troubleshooting_file_bucket
\ No newline at end of file diff --git a/groot-core/src/main/java/com/geedgenetworks/core/udf/AsnLookup.java b/groot-core/src/main/java/com/geedgenetworks/core/udf/AsnLookup.java index 422251f..33c0653 100644 --- a/groot-core/src/main/java/com/geedgenetworks/core/udf/AsnLookup.java +++ b/groot-core/src/main/java/com/geedgenetworks/core/udf/AsnLookup.java @@ -49,7 +49,7 @@ public class AsnLookup implements UDF { this.lookupFieldName = udfContext.getLookup_fields().get(0); this.outputFieldName = udfContext.getOutput_fields().get(0); AsnKnowledgeBaseHandler.increment(); - log.warn("AsnKnowledgeBaseHandlerCountIn"+AsnKnowledgeBaseHandler.getCount()); + log.warn("AsnKnowledgeBaseHandlerCount "+AsnKnowledgeBaseHandler.getCount()); } @@ -74,9 +74,9 @@ public class AsnLookup implements UDF { @Override public void close() { AsnKnowledgeBaseHandler.decrement(); - log.warn("+++++++++++++++++++++++++++++++++++AsnKnowledgeBaseHandlerCountDe"+AsnKnowledgeBaseHandler.getCount()); if (AsnKnowledgeBaseHandler.getCount()<=0) { KnowledgeBaseUpdateJob.removeKnowledgeBase(kbName); + log.warn("AsnKnowledgeBaseHandler removeKnowledgeBase "+kbName); } } diff --git a/groot-core/src/main/java/com/geedgenetworks/core/udf/GeoIpLookup.java b/groot-core/src/main/java/com/geedgenetworks/core/udf/GeoIpLookup.java index 9763758..442d499 100644 --- a/groot-core/src/main/java/com/geedgenetworks/core/udf/GeoIpLookup.java +++ b/groot-core/src/main/java/com/geedgenetworks/core/udf/GeoIpLookup.java @@ -56,6 +56,8 @@ public class GeoIpLookup implements UDF { if(udfContext.getOutput_fields()!=null && !udfContext.getOutput_fields().isEmpty()){ this.outputFieldName = udfContext.getOutput_fields().get(0); } + GeoIpKnowledgeBaseHandler.increment(); + log.warn("GeoIpKnowledgeBaseHandler "+GeoIpKnowledgeBaseHandler.getCount()); } @@ -163,6 +165,10 @@ public class GeoIpLookup implements UDF { @Override public void close() { - KnowledgeBaseUpdateJob.removeKnowledgeBase(kbName); + GeoIpKnowledgeBaseHandler.decrement(); + if (GeoIpKnowledgeBaseHandler.getCount()<=0) { + KnowledgeBaseUpdateJob.removeKnowledgeBase(kbName); + log.warn("GeoIpKnowledgeBaseHandler removeKnowledgeBase "+kbName); + } } } diff --git a/groot-core/src/main/java/com/geedgenetworks/core/udf/knowlegdebase/handler/GeoIpKnowledgeBaseHandler.java b/groot-core/src/main/java/com/geedgenetworks/core/udf/knowlegdebase/handler/GeoIpKnowledgeBaseHandler.java index 5272ada..4d207a2 100644 --- a/groot-core/src/main/java/com/geedgenetworks/core/udf/knowlegdebase/handler/GeoIpKnowledgeBaseHandler.java +++ b/groot-core/src/main/java/com/geedgenetworks/core/udf/knowlegdebase/handler/GeoIpKnowledgeBaseHandler.java @@ -20,10 +20,19 @@ public class GeoIpKnowledgeBaseHandler extends AbstractKnowledgeBaseHandler { private static Map<String, KnowledgeBaseInfoForIpLookUp> kbNameWithKbConfigAndFileMetas = new ConcurrentHashMap<>(); private static GeoIpKnowledgeBaseHandler instance; + private static int count = 0; private GeoIpKnowledgeBaseHandler() { } - + public static synchronized void increment() { + count++; + } + public static synchronized void decrement() { + count--; + } + public static synchronized int getCount() { + return count; + } public static synchronized GeoIpKnowledgeBaseHandler getInstance() { if (instance == null) { instance = new GeoIpKnowledgeBaseHandler(); diff --git a/groot-core/src/test/java/com/geedgenetworks/core/udf/test/AsnLookupFunctionTest.java b/groot-core/src/test/java/com/geedgenetworks/core/udf/test/AsnLookupFunctionTest.java index 69a074b..5bcf89e 100644 --- a/groot-core/src/test/java/com/geedgenetworks/core/udf/test/AsnLookupFunctionTest.java +++ b/groot-core/src/test/java/com/geedgenetworks/core/udf/test/AsnLookupFunctionTest.java @@ -70,14 +70,14 @@ public class AsnLookupFunctionTest { knowledgeBaseConfig.setName("tsg_ip_asn"); Map<String, String> parameters = new HashMap<>(); knowledgeBaseConfig.setProperties(parameters); - knowledgeBaseConfig.setFsType("http"); - knowledgeBaseConfig.setFsPath("http://192.168.44.67:9999/v1/knowledge_base"); - knowledgeBaseConfig.setFiles(Collections.singletonList("f9f6bc91-2142-4673-8249-e097c00fe1ea")); + knowledgeBaseConfig.setFsType("local"); + knowledgeBaseConfig.setFsPath(""); + knowledgeBaseConfig.setFiles(Collections.singletonList("src/test/resources/asn.mmdb")); knowledgeBaseConfigList.add(knowledgeBaseConfig); commonConfig.setKnowledgeBaseConfig(knowledgeBaseConfigList); KnowledgeBaseUpdateJob.registerKnowledgeBase(AsnKnowledgeBaseHandler.getInstance(), knowledgeBaseConfig); - String asn = AsnKnowledgeBaseHandler.lookUp("tsg_ip_asn","IP_TO_ASN","2600:1015:b002::"); - assertEquals("6167", asn); + String asn = AsnKnowledgeBaseHandler.lookUp("tsg_ip_asn","IP_TO_ASN","12.16.98.1"); + assertEquals("31978", asn); } diff --git a/groot-core/src/test/java/com/geedgenetworks/core/udf/test/GeoIpLookupFunctionTest.java b/groot-core/src/test/java/com/geedgenetworks/core/udf/test/GeoIpLookupFunctionTest.java index faa65f4..f487500 100644 --- a/groot-core/src/test/java/com/geedgenetworks/core/udf/test/GeoIpLookupFunctionTest.java +++ b/groot-core/src/test/java/com/geedgenetworks/core/udf/test/GeoIpLookupFunctionTest.java @@ -29,7 +29,6 @@ public class GeoIpLookupFunctionTest { udfContext.setOutput_fields(Collections.singletonList("iplocation")); } -//com.geedgenetworks.core.udf.GeoIpLookup单元测试 @Test public void testInit(){ GeoIpLookup geoIpLookup = new GeoIpLookup(); @@ -69,33 +68,17 @@ public class GeoIpLookupFunctionTest { knowledgeBaseConfig.setName("tsg_ip_location"); Map<String, String> parameters = new HashMap<>(); knowledgeBaseConfig.setProperties(parameters); - knowledgeBaseConfig.setFsType("http"); - knowledgeBaseConfig.setFsPath("http://192.168.44.67:9999/v1/knowledge_base"); - knowledgeBaseConfig.setFiles(Arrays.asList("64af7077-eb9b-4b8f-80cf-2ceebc89bea9","004390bc-3135-4a6f-a492-3662ecb9e289")); + knowledgeBaseConfig.setFsType("local"); + knowledgeBaseConfig.setFsPath(""); + knowledgeBaseConfig.setFiles(Collections.singletonList("src/test/resources/ip_builtin.mmdb")); knowledgeBaseConfigList.add(knowledgeBaseConfig); commonConfig.setKnowledgeBaseConfig(knowledgeBaseConfigList); KnowledgeBaseUpdateJob.registerKnowledgeBase(GeoIpKnowledgeBaseHandler.getInstance(), knowledgeBaseConfig); - String countryLookup = GeoIpKnowledgeBaseHandler.lookUp("tsg_ip_location","IP_TO_COUNTRY","2600:1015:b002::"); - assertEquals("美国", countryLookup); - String provinceLookup = GeoIpKnowledgeBaseHandler.lookUp("tsg_ip_location","IP_TO_PROVINCE","2600:1015:b002::"); - assertEquals("印第安纳州", provinceLookup); - String cityLookup = GeoIpKnowledgeBaseHandler.lookUp("tsg_ip_location","IP_TO_CITY","2600:1015:b002::"); - assertEquals("Unknown", cityLookup); - String cityLookupDetail = GeoIpKnowledgeBaseHandler.lookUp("tsg_ip_location","IP_TO_SUBDIVISION_ADDR","2600:1015:b002::"); - assertEquals("美国.印第安纳州.Unknown", cityLookupDetail); - String locationLookupDetail = GeoIpKnowledgeBaseHandler.lookUp("tsg_ip_location","IP_TO_DETAIL","2600:1015:b002::"); - assertEquals("美国.印第安纳州.Unknown.", locationLookupDetail.trim()); - String latLngLookup = GeoIpKnowledgeBaseHandler.lookUp("tsg_ip_location","IP_TO_LATLNG","2600:1015:b002::"); - assertEquals("39.9388,-86.1137", latLngLookup); - String ispLookup = GeoIpKnowledgeBaseHandler.lookUp("tsg_ip_location","IP_TO_PROVIDER","2600:1015:b002::"); - assertEquals("", ispLookup); - String infoLookupToJSONString = GeoIpKnowledgeBaseHandler.lookUp("tsg_ip_location","IP_TO_JSON","2600:1015:b002::"); - assertEquals(JSONObject.parseObject(infoLookupToJSONString).getString("country"), "美国"); - String country = GeoIpKnowledgeBaseHandler.lookUpObject("tsg_ip_location","2600:1015:b002::").getCountry(); - assertEquals("美国", country); + String countryLookup = GeoIpKnowledgeBaseHandler.lookUp("tsg_ip_location","IP_TO_COUNTRY","86.111.175.128"); + assertEquals("United Kingdom", countryLookup); + String country = GeoIpKnowledgeBaseHandler.lookUpObject("tsg_ip_location","86.111.175.128").getCountry(); + assertEquals("United Kingdom", country); assertNull(GeoIpKnowledgeBaseHandler.lookUpObject("tsg_ip_location", "255.255.255.255")); } - - } diff --git a/groot-core/src/test/resources/asn.mmdb b/groot-core/src/test/resources/asn.mmdb Binary files differnew file mode 100644 index 0000000..a20e238 --- /dev/null +++ b/groot-core/src/test/resources/asn.mmdb diff --git a/groot-core/src/test/resources/ip_builtin.mmdb b/groot-core/src/test/resources/ip_builtin.mmdb Binary files differnew file mode 100644 index 0000000..b333c64 --- /dev/null +++ b/groot-core/src/test/resources/ip_builtin.mmdb |
