{"id":14988315,"url":"https://github.com/apache/fluo-uno","last_synced_at":"2025-04-07T12:06:57.368Z","repository":{"id":24744248,"uuid":"28156794","full_name":"apache/fluo-uno","owner":"apache","description":"Apache Fluo Uno","archived":false,"fork":false,"pushed_at":"2024-12-13T20:22:33.000Z","size":392,"stargazers_count":36,"open_issues_count":14,"forks_count":37,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-03-30T02:28:09.261Z","etag":null,"topics":["accumulo","big-data","fluo","hacktoberfest"],"latest_commit_sha":null,"homepage":"https://fluo.apache.org","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-12-17T21:39:31.000Z","updated_at":"2024-12-13T20:22:38.000Z","dependencies_parsed_at":"2024-06-22T13:15:37.120Z","dependency_job_id":"24ed02d0-43b1-40d7-9020-12c59e4c8a1f","html_url":"https://github.com/apache/fluo-uno","commit_stats":{"total_commits":228,"total_committers":30,"mean_commits":7.6,"dds":0.7543859649122807,"last_synced_commit":"bb89e15da5bc2dc5174268dd09e4729803a2fead"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Ffluo-uno","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Ffluo-uno/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Ffluo-uno/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Ffluo-uno/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/fluo-uno/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247648977,"owners_count":20972945,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["accumulo","big-data","fluo","hacktoberfest"],"created_at":"2024-09-24T14:16:31.266Z","updated_at":"2025-04-07T12:06:57.350Z","avatar_url":"https://github.com/apache.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Uno][logo]\n---\n[![ShellCheck][ci_img]][ci_link] [![Apache License][li]][ll]\n\n**Uno automates setting up [Apache Accumulo][accumulo] or [Apache Fluo][fluo] (and their dependencies) on a single machine.**\n\nUno makes it easy for a developer to experiment with Accumulo or Fluo in a realistic environment.\nUno is designed for developers who need to frequently upgrade and test their code, and do not care\nabout preserving data. While Uno makes it easy to setup a dev stack running Fluo or Accumulo, it\nalso makes it easy to clear your data and setup your dev stack again. To avoid inadvertent data loss,\nUno should not be used in production.\n\nCheckout [Muchos] for setting up Accumulo or Fluo on multiple machines.\n\n## Requirements\n\nUno requires the following software to be installed on your machine.\n\n* Java - JDK 11 is required for running Fluo (with Accumulo 2.1).\n* wget - Needed for `fetch` command to download tarballs.\n* Maven - Only needed if `fetch` command builds tarball from local repo.\n\nYou should also be able to [ssh to localhost without a passphrase][ssh-docs].\nThe following instructions can help you setup these requirements in your\nenvironment :\n\n * [Ubuntu 16.04](/docs/ubuntu1604.md)\n * [Ubuntu 18.04](/docs/ubuntu1804.md)\n * [CentOS 7](/docs/centos7.md)\n\n## Quickstart\n\nThe following commands will get you up and running with an Accumulo instance if you\nhave satisfied the requirements mentioned above.  Replace `accumulo` with `fluo` to\nsetup a Fluo instance.\n\n```bash\ngit clone https://github.com/apache/fluo-uno.git\ncd fluo-uno\n./bin/uno fetch accumulo            # Fetches binary tarballs of Accumulo and its dependencies\n./bin/uno setup accumulo            # Sets up Accumulo and its dependencies (Hadoop \u0026 ZooKeeper)\nsource \u003c(./bin/uno env)             # Bash-specific command that sets up current shell\n```\n\nAccumulo is now ready to use. Verify your installation by checking the [Accumulo Monitor](http://localhost:9995/)\nand [Hadoop NameNode](http://localhost:9870/) status pages. \n\nNote that the Accumulo shell can be accessed in one of two ways. The easiest is method is to use the `uno` command.\n```\n./bin/uno ashell\n```\nYou can also access the shell directly. The Accumulo installation is initialized using the username `root`\nand password `secret` (set in the `uno.conf` file). Therefore, the shell can be accessed directly using:\n```\naccumulo shell -u root -p secret\n```\n\nStarting with Accumulo 2.1, a Jshell session can also be used.\n```\n./bin/uno jshell\n```\n\nWhen you're all done testing out Accumulo you can clean up:\n```\n./bin/uno wipe\n```\n\nFor a more complete understanding of Uno, please continue reading.\n\n## Installation\n\nFirst, clone the Uno repo on a local disk with enough space to run Hadoop, Accumulo, etc:\n\n    git clone https://github.com/apache/fluo-uno.git\n\nThe `uno` command uses `conf/uno.conf` for its default configuration which should be\nsufficient for most users.\n\nOptionally, you can customize this configuration by modifying the `uno.conf` file for\nyour environment. Inside this script the variable `UNO_HOME` defaults to the root of the Uno repository. \n\n```bash\nvim conf/uno.conf\n```\n\nIf you would like to avoid modifying `uno.conf` because it is managed by git,\nthere is a second way to configure uno.  If `conf/uno-local.conf` exists then\nit is used instead of `uno.conf`.  After pulling the latest changes to\nUno, a tool like meld can be used to compare `uno.conf` and `uno-local.conf`.\n\n```bash\ncp conf/uno.conf conf/uno-local.conf\nvim conf/uno-local.conf\n```\n\nAll commands are run using the `uno` script in `bin/`. Uno has a command that helps you configure\nyour shell so that you can run commands from any directory and easily set common environment\nvariables in your shell for Uno, Hadoop, ZooKeeper, Fluo, and Spark. Run the following command to\nprint this shell configuration. You can also add `--paths` or `--vars` to the command below to limit\noutput to PATH or environment variable configuration:\n\n    uno env\n\nYou can either copy and paste this output into your shell or add the following (with a correct path)\nto your ~/.bashrc automatically configure every new shell.\n\n```bash\nsource \u003c(/path/to/uno/bin/uno env)\n```\n\nWith `uno` script set up, you can now use it to download, configure, and run Fluo's dependencies.\n\n## Fetch command\n\nThe `uno fetch \u003ccomponent\u003e` command fetches the tarballs of a component and its dependencies for later\nuse by the `setup` command. By default, the `fetch` command downloads tarballs but you can configure it\nto build Fluo or Accumulo from a local git repo by setting `FLUO_REPO` or `ACCUMULO_REPO` in `uno.conf`.\nRun `uno fetch` to see a list of possible components.\n\nAfter the `fetch` command is run for the first time, it only needs to run again if you want to\nupgrade components and need to download/build the latest version.\n\n## Setup command\n\nThe `uno setup` command combines `uno install` and `uno run` into one command.  It will install the\ndownloaded tarballs to the directory set by `$INSTALL` in your `uno.conf` and run you local development\ncluster. The command can be run in several different ways:\n\n1. Sets up Apache Accumulo and its dependencies of Hadoop, ZooKeeper. This starts all processes and\n   will wipe Accumulo/Hadoop if this command was run previously.\n\n        uno setup accumulo\n\n2. Sets up Apache Fluo along with Accumulo (and its dependencies). This command will wipe your\n   cluster. While Fluo is set up, it does not start any Fluo applications.\n\n        uno setup fluo\n\n3. For Fluo \u0026 Accumulo, you can setup the software again without wiping/setting up their underlying\n   dependencies. You can upgrade Accumulo or Fluo by running `uno fetch` before running this command.\n\n        uno setup fluo --no-deps\n        uno setup accumulo --no-deps\n\nYou can confirm that everything started by checking the monitoring pages below:\n\n * [Hadoop NameNode](http://localhost:9870/)\n * [Hadoop ResourceManager](http://localhost:8088/)\n * [Accumulo Monitor](http://localhost:9995/)\n\nIf you run some tests and then want a fresh cluster, run the `setup` command again which will\nkill all running processes, clear any data and logs, and restart your cluster.\n\n## Plugins\n\nUno is focused on running Accumulo \u0026 Fluo.  Optional features and service can be run using plugins.\nThese plugins can optionally execute after the `install` or `run` commands.  They are configured by\nsetting `POST_INSTALL_PLUGINS` and `POST_RUN_PLUGINS` in `uno.conf`.\n\n### Post install plugins\n\nThese plugins can optionally execute after the `install` command for Accumulo and Fluo:\n\n* `accumulo-encryption` - Turns on Accumulo encryption\n* `influx-metrics` - Install and run metrics service using InfluxDB \u0026 Grafana\n  * [Grafana](http://localhost:3000/)\n  * [InfluxDB Admin](http://localhost:8083/)\n\n### Post run plugins\n\nThese plugins can optionally execute after the `run` command for Accumulo and Fluo:\n\n* `spark` - Install Apache Spark and start Spark's History server\n  * [Spark HistoryServer](http://localhost:18080/)\n* `accumulo-proxy` - Starts an [Accumulo Proxy] which enables Accumulo clients in other languages.\n\n## Wipe command\n\nThe `uno wipe` command will kill all running processes for your local development cluster and clear\nall the data and logs. It does *not* delete the binary tarballs downloaded by the `fetch` command\nso you can use `setup` directly again in the future. If you need to reclaim the space used by\nthe binary tarballs you'll have to manually delete them.\n\n## Running Apache Fluo applications\n\nBefore running an Apache Fluo application, it is recommended that you configure your shell using\n`uno env`. If this is done, many Fluo example applications (such as [Webindex] and [Phrasecount])\ncan be run by simply cloning their repo and executing their start scripts (which will use\nenvironment variables set in your shell by `uno env`).\n\nIf you want to create your own Fluo application, you should mimic the scripts of example Fluo\napplications or follow the instructions starting at the [Configure a Fluo application][configure]\nsection of the Fluo install instructions. These instructions will guide you through the process of\nconfiguring, initializing, and starting your application.\n\n[Accumulo Proxy]: https://github.com/apache/accumulo-proxy\n[Muchos]: https://github.com/apache/fluo-muchos\n[Phrasecount]: https://github.com/apache/fluo-examples/tree/main/phrasecount\n[Webindex]: https://github.com/apache/fluo-examples/tree/main/webindex\n[accumulo]: https://accumulo.apache.org/\n[ci_img]: https://github.com/apache/fluo-uno/workflows/ShellCheck/badge.svg\n[ci_link]: https://github.com/apache/fluo-uno/actions\n[configure]: https://github.com/apache/fluo/blob/main/docs/install.md#configure-a-fluo-application\n[fluo]: https://fluo.apache.org/\n[hadoop]: https://hadoop.apache.org/\n[li]: https://img.shields.io/badge/license-Apache%202.0-blue.svg\n[ll]: https://github.com/apache/fluo-uno/blob/main/LICENSE\n[logo]: contrib/uno-logo.png\n[mirrors]: https://www.apache.org/dyn/closer.cgi\n[ssh-docs]: https://hadoop.apache.org/docs/r3.3.0/hadoop-project-dist/hadoop-common/SingleCluster.html#Setup_passphraseless_ssh\n[zookeeper]: https://zookeeper.apache.org/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Ffluo-uno","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Ffluo-uno","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Ffluo-uno/lists"}