This is a demonstration of visualization of regions on the cluster. The visualization is a stacked bar chart showing total storefile size per table per region server, with the x-axis being server names, the y-axis being storfile size, and the bars stacked per table. The visualization is generated entirely on the fly from within the browser, implemented using Vega Lite. So far, Vega appears to handle rendering this visualization for a cluster of over 700 region servers with approximately 300,000 regions. Per [0], include an update to the top-level LICENSE.txt. Also update LICENSE files in all binary distributions (i.e., jars), by way of LICENSE.vm. Vega uses a BSD 3-clause variant without advertising clause, and as such is a "Category A" license, per [1]. No changes are made to the NOTICE files, as per the existing example of bundling the minified JQuery, which is also a Category A license. [0]: https://infra.apache.org/licensing-howto.html [1]: https://www.apache.org/legal/resolved.html#category-a Signed-off-by: Andrew Purtell <apurtell@apache.org>
379 lines
14 KiB
XML
379 lines
14 KiB
XML
<?xml version="1.0"?>
|
|
<project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<!--
|
|
/**
|
|
* Licensed to the Apache Software Foundation (ASF) under one
|
|
* or more contributor license agreements. See the NOTICE file
|
|
* distributed with this work for additional information
|
|
* regarding copyright ownership. The ASF licenses this file
|
|
* to you under the Apache License, Version 2.0 (the
|
|
* "License"); you may not use this file except in compliance
|
|
* with the License. You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
-->
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<parent>
|
|
<artifactId>hbase-build-configuration</artifactId>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<version>3.0.0-alpha-3-SNAPSHOT</version>
|
|
<relativePath>../hbase-build-configuration</relativePath>
|
|
</parent>
|
|
<artifactId>hbase-assembly</artifactId>
|
|
<name>Apache HBase - Assembly</name>
|
|
<description>
|
|
Module that does project assembly and that is all that it does.
|
|
</description>
|
|
<packaging>pom</packaging>
|
|
<properties>
|
|
<license.bundles.dependencies>true</license.bundles.dependencies>
|
|
</properties>
|
|
<build>
|
|
<plugins>
|
|
<!-- licensing info from our dependencies -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-remote-resources-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>aggregate-licenses</id>
|
|
<goals>
|
|
<goal>process</goal>
|
|
</goals>
|
|
<configuration>
|
|
<properties>
|
|
<copyright-end-year>${build.year}</copyright-end-year>
|
|
<debug-print-included-work-info>${license.debug.print.included}</debug-print-included-work-info>
|
|
<bundled-dependencies>${license.bundles.dependencies}</bundled-dependencies>
|
|
<bundled-jquery>${license.bundles.jquery}</bundled-jquery>
|
|
<bundled-vega>${license.bundles.vega}</bundled-vega>
|
|
<bundled-logo>${license.bundles.logo}</bundled-logo>
|
|
<bundled-bootstrap>${license.bundles.bootstrap}</bundled-bootstrap>
|
|
</properties>
|
|
<resourceBundles>
|
|
<resourceBundle>${project.groupId}:hbase-resource-bundle:${project.version}</resourceBundle>
|
|
</resourceBundles>
|
|
<supplementalModelArtifacts>
|
|
<supplementalModelArtifact>${project.groupId}:hbase-resource-bundle:${project.version}</supplementalModelArtifact>
|
|
</supplementalModelArtifacts>
|
|
<supplementalModels>
|
|
<supplementalModel>supplemental-models.xml</supplementalModel>
|
|
</supplementalModels>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<configuration>
|
|
<!--Else will use hbase-assembly as final name.-->
|
|
<finalName>hbase-${project.version}</finalName>
|
|
<skipAssembly>false</skipAssembly>
|
|
<appendAssemblyId>true</appendAssemblyId>
|
|
<tarLongFileMode>posix</tarLongFileMode>
|
|
<descriptors>
|
|
<descriptor>${assembly.file}</descriptor>
|
|
<descriptor>src/main/assembly/client.xml</descriptor>
|
|
</descriptors>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<!-- generates the file that will be used by the bin/hbase script in the dev env -->
|
|
<id>create-hbase-generated-classpath</id>
|
|
<phase>test</phase>
|
|
<goals>
|
|
<goal>build-classpath</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputFile>${project.parent.basedir}/target/cached_classpath.txt</outputFile>
|
|
<excludeArtifactIds>jline,jruby-complete,hbase-shaded-client,hbase-shaded-client-byo-hadoop,hbase-shaded-mapreduce</excludeArtifactIds>
|
|
</configuration>
|
|
</execution>
|
|
|
|
<execution>
|
|
<!-- generates the file that will be used by the bin/hbase zkcli script in the dev env -->
|
|
<id>create-hbase-generated-classpath-jline</id>
|
|
<phase>test</phase>
|
|
<goals>
|
|
<goal>build-classpath</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputFile>${project.parent.basedir}/target/cached_classpath_jline.txt</outputFile>
|
|
<includeArtifactIds>jline</includeArtifactIds>
|
|
</configuration>
|
|
</execution>
|
|
|
|
<execution>
|
|
<!-- generates the file that will be used by the bin/hbase shell script in the dev env -->
|
|
<id>create-hbase-generated-classpath-jruby</id>
|
|
<phase>test</phase>
|
|
<goals>
|
|
<goal>build-classpath</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputFile>${project.parent.basedir}/target/cached_classpath_jruby.txt</outputFile>
|
|
<includeArtifactIds>jruby-complete</includeArtifactIds>
|
|
</configuration>
|
|
</execution>
|
|
|
|
<!--
|
|
Build an aggregation of our templated NOTICE file and the NOTICE files in our dependencies.
|
|
If MASSEMBLY-382 is fixed we could do this in the assembly
|
|
Currently relies on env, bash, find, and cat.
|
|
-->
|
|
<execution>
|
|
<!-- put all of the NOTICE files out of our dependencies -->
|
|
<id>unpack-dependency-notices</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>unpack-dependencies</goal>
|
|
</goals>
|
|
<configuration>
|
|
<excludeTypes>pom</excludeTypes>
|
|
<useSubDirectoryPerArtifact>true</useSubDirectoryPerArtifact>
|
|
<includes>**\/NOTICE,**\/NOTICE.txt</includes>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>exec-maven-plugin</artifactId>
|
|
<version>${exec.maven.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>concat-NOTICE-files</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>exec</goal>
|
|
</goals>
|
|
<configuration>
|
|
<executable>env</executable>
|
|
<arguments>
|
|
<argument>bash</argument>
|
|
<argument>-c</argument>
|
|
<argument>cat maven-shared-archive-resources/META-INF/NOTICE \
|
|
`find ${project.build.directory}/dependency -iname NOTICE -or -iname NOTICE.txt`
|
|
</argument>
|
|
</arguments>
|
|
<outputFile>${project.build.directory}/NOTICE.aggregate</outputFile>
|
|
<workingDirectory>${project.build.directory}</workingDirectory>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- /end building aggregation of NOTICE files -->
|
|
</plugins>
|
|
</build>
|
|
<dependencies>
|
|
<!-- client artifacts for downstream use -->
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-shaded-client</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-shaded-client-byo-hadoop</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-shaded-mapreduce</artifactId>
|
|
</dependency>
|
|
<!-- Intra-project dependencies -->
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-it</artifactId>
|
|
<type>test-jar</type>
|
|
</dependency>
|
|
<!-- Hamcrest is required by hbase-it (via junit), but as long as we're grabbing the hbase-it test-jar,
|
|
maven dependency resolution won't pick it up for us. -->
|
|
<dependency>
|
|
<groupId>org.hamcrest</groupId>
|
|
<artifactId>hamcrest-core</artifactId>
|
|
<!-- Overriding the scope in depMgmt -->
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-server</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-mapreduce</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-mapreduce</artifactId>
|
|
<type>test-jar</type>
|
|
</dependency>
|
|
<!-- To dump tools in hbase-procedure into cached_classpath.txt. -->
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-procedure</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-procedure</artifactId>
|
|
<type>test-jar</type>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-hadoop-compat</artifactId>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-shell</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-thrift</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-rest</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-external-blockcache</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-testing-util</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-metrics-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-metrics</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-protocol-shaded</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-resource-bundle</artifactId>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.httpcomponents</groupId>
|
|
<artifactId>httpclient</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.httpcomponents</groupId>
|
|
<artifactId>httpcore</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-backup</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-balancer</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-replication</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-http</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-examples</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-zookeeper</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-hbtop</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-compression-aircompressor</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-compression-lz4</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-compression-snappy</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-compression-xz</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-compression-zstd</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>jline</groupId>
|
|
<artifactId>jline</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.sun.xml.ws</groupId>
|
|
<artifactId>jaxws-ri</artifactId>
|
|
<type>pom</type>
|
|
</dependency>
|
|
<!--
|
|
Include the log framework here.
|
|
For other sub modules, we only declare slf4j-api as a compile dependency,
|
|
so here we must pull in the real logging framework to actually log to log4j.
|
|
-->
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>jcl-over-slf4j</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>jul-to-slf4j</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-slf4j-impl</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-1.2-api</artifactId>
|
|
</dependency>
|
|
<!-- Include OpenTelemetry agent -->
|
|
<dependency>
|
|
<groupId>io.opentelemetry.javaagent</groupId>
|
|
<artifactId>opentelemetry-javaagent</artifactId>
|
|
<classifier>all</classifier>
|
|
</dependency>
|
|
</dependencies>
|
|
</project>
|