Redirect other log frameworks to log4j (#1814)

* Redirect other log frameworks to log4j

Include additional jars in the binary tarball assembly to redirect logs
sent to other logging frameworks to log4j by default:
* log4j-jcl to redirect commons-logging (commons-logging jar still
  needed as a transitive dependency)
* log4j-jul to redirect java.util.logging
(From https://logging.apache.org/log4j/2.x/faq.html#which_jars)

Propagate an additional NOTICE from log4j-core's jar in our binary
tarball assembly.

Include rules to ban other transitive dependencies from the project that
are likely to cause conflicts with our logging at runtime, as a sanity
check for our build quality.

Bump log4j to latest version 2.14.0

* Exclude logging jars from `ZOOKEEPER_HOME`

Don't pick up slf4j and log4j jars from ZooKeeper's default lib
directory, or else it will result in multiple binding warnings, because
ZooKeeper is configured with log4j 1.2 by default. Users should
reconcile their logging framework with the appropriate jars on the class
path at runtime in their production environment, but this change removes
the warning when using the default installation of ZooKeeper in a
development environment (such as when using fluo-uno).
5 files changed
tree: b15c53f6124cd99b55bb3e332dff6bba5d52fc34
  1. .github/
  2. assemble/
  3. contrib/
  4. core/
  5. hadoop-mapreduce/
  6. iterator-test-harness/
  7. minicluster/
  8. server/
  9. shell/
  10. src/
  11. start/
  12. test/
  13. .asf.yaml
  14. .gitignore
  15. CONTRIBUTING.md
  16. DEPENDENCIES
  17. LICENSE
  18. NOTICE
  19. pom.xml
  20. README.md
  21. TESTING.md
README.md

Apache Accumulo


Build Status Maven Central Javadoc Apache License

Apache Accumulo is a sorted, distributed key/value store that provides robust, scalable data storage and retrieval. With Apache Accumulo, users can store and manage large data sets across a cluster. Accumulo uses Apache Hadoop's HDFS to store its data and Apache Zookeeper for consensus. Check out the Accumulo project website for news and general information.

Getting Started

More resources can be found on the project website.

Building

Accumulo uses Maven to compile, test, and package its source. The following command will build the binary tar.gz from source. Add -DskipTests to build without waiting for the tests to run.

mvn package

This command produces assemble/target/accumulo-<version>-bin.tar.gz

Export Control


This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See https://www.wassenaar.org/ for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.

The following provides more details on the included cryptographic software:

Apache Accumulo uses the built-in java cryptography libraries in its RFile encryption implementation. See oracle's export-regulations doc for more details for on Java‘s cryptography features. Apache Accumulo also uses the bouncycastle library for some cryptographic technology as well. See the BouncyCastle site for more details on bouncycastle’s cryptography features.