Release 0.10.0 (November 29, 2018)


  1. New user interface. Improved look-and-feel, performance, and modernized color scheme. Simplified setup guide for creating new feeds.
  2. Template Manager New template management that enables admins to quickly update when new versions of templates become available or publish templates for the enterprise.
  3. Wrangler improvements. Many new features have been added to the wrangler to make data scientists more productive. Features includes: quick data clean; improved schema manipulation; new data transformations, including imputing new values; column statistics view.
  4. Data Catalog. New virtual catalog to access remote datasets to wrangle, preview, and feed setup. Kylo 0.10 includes the following connectors: Amazon S3, Azure, HDFS, Hive, JDBC, Local Files, NAS Filesystem
  5. Search custom properties. Any custom properties defined for feeds and categories are indexed and available via the global metadata search feature.

Important Changes

Kylo UI Plugin Changes

  • Kylo UI plugins 0.9.x or earlier will not work with 0.10.0. If you had custom kylo ui code please refer to this doc to migrate your code to a 0.10.0 compatible plugin: Kylo UI Plugin Upgrade
  • Kylo UI custom feed stepper plugin's are not supported. Do not upgrade if you need this functionality.

Catalog Changes

  • The Catalog page used to allow you to query and preview data. This has been removed. You will now need to go to the wrangler to preview catalog data sets

Upgrade Instructions from v0.9.1


Before getting started we suggest backing up your Kylo database.

  1. Backup any custom Kylo plugins

When Kylo is uninstalled it will backup configuration files, but not the /plugin jar files. If you have any custom plugins in either kylo-services/plugin or kylo-ui/plugin then you will want to manually back them up to a different location.


Kylo ui plugins 0.9.x or earlier will not work with 0.10.0. If you had custom kylo ui code please refer to this doc to migrate your code to a 0.10.0 compatible plugin: Kylo UI Plugin Upgrade

  1. Uninstall Kylo:
  1. Install the new RPM:
rpm –ivh <RPM_FILE>
  1. Restore previous files. If you have customized the the, copy the backup from the 0.9.1 install.

    4.1 Find the /bkup-config/TIMESTAMP/kylo-services/ file

    • Kylo will backup the file to the following location, /opt/kylo/bkup-config/YYYY_MM_DD_HH_MM_millis/kylo-services/, replacing the “YYYY_MM_DD_HH_MM_millis” with a valid time:

    4.2 Copy the backup file over to the /opt/kylo/kylo-services/conf folder

    ### move the shipped with the .rpm to a backup file
    mv /opt/kylo/kylo-services/conf/ /opt/kylo/kylo-services/conf/
    ### copy the backup properties  (Replace the YYYY_MM_DD_HH_MM_millis  with the valid timestamp)
    cp /opt/kylo/bkup-config/YYYY_MM_DD_HH_MM_millis/kylo-services/ /opt/kylo/kylo-services/conf

    4.3 If you copied the backup version of in step 4.2 you will need to make a couple of other changes based on the 0.10.0 version of the properties file

    A new spring profile of ‘kylo-shell’ is needed. Below is an example

    vi /opt/kylo/kylo-services/conf/
     ## add in the 'kylo-shell' profile (example below)

    Add the following new properties below:

    #default location where Kylo looks for templates. This is a read-only location and Kylo UI won't be able to publish to this location.
    #Additional repositories can be setup using config/repositories.json where templates can be published

    4.4 Repeat previous copy step (4.2 above) for other relevant backup files to the /opt/kylo/kylo-services/conf folder. Some examples of files:


    NOTE: Be careful not to overwrite configuration files used exclusively by Kylo

    4.5 Copy the /bkup-config/TIMESTAMP/kylo-ui/ file to /opt/kylo/kylo-ui/conf

    Ensure the new property ‘zuul.routes.api.sensitiveHeaders’ exists. Example below

    vi /opt/kylo/kylo-ui/conf/
      ## add this line below for 0.10.0

    The multipart.maxFileSize and multipart.maxRequestSize properties have changed. Update these 2 properties to be the following:

    ### allow large file uploads

    4.6 Ensure the property security.jwt.key in both kylo-services and kylo-ui file match. They property below needs to match in both of these files:

    • /opt/kylo/kylo-ui/conf/

    • /opt/kylo/kylo-services/conf/


    4.7 (If using Elasticsearch for search) Create/Update Kylo Indexes

    Execute a script to create/update kylo indexes. If these already exist, Elasticsearch will report an index_already_exists_exception. It is safe to ignore this and continue. Change the host and port if necessary.

    /opt/kylo/bin/ localhost 9200 1 1
  2. Update NiFi

    Stop NiFi

    service nifi stop

    Run the following shell script to copy over the new NiFi nars/jars to get new changes to NiFi processors and services.

    Example:  /opt/kylo/setup/nifi/ /opt/nifi /opt/kylo/setup nifi users

    Configure NiFi with Kylo’s shared Encryption Key

    1. Copy the Kylo encryption key file to the NiFi extention config directory
    cp /opt/kylo/encrypt.key /opt/nifi/ext-config
    1. Change the ownership and permissions of the key file to ensure only nifi can read it
    chown nifi /opt/nifi/ext-config/encrypt.key
    chmod 400 /opt/nifi/ext-config/encrypt.key
    1. Edit the /opt/nifi/current/bin/ file and add the ENCRYPT_KEY variable with the key value
    export ENCRYPT_KEY="$(< /opt/nifi/ext-config/encrypt.key)"

    Start NiFi

    service nifi start
  3. Install XML support if not using Hortonworks.

  4. Start Kylo to begin the upgrade

kylo-service start


NiFi must be started and available during the Kylo upgrade process.

  1. If entity access is enabled, the Hive data source will no longer be accessible to all users by default. To grant permissions to Hive go to the Catalog page and click the pencil icon to the left of the Hive data source. This page will provide options for granting access to Hive or granting permissions to edit the data source details.



If, after the upgrade, you experience any UI issues in your browser then you may need to empty your browser’s cache.

Mandatory Template Updates

Once Kylo is running the following templates need to to be updated.

Use the new Repository feature within Kylo to import the latest templates.

Highlight Details

New User Interface

  • Kylo now has a new user interface for creating and editing feeds.


  • Editing feeds is separate from deploying to NiFi. This allows you to edit and save your feed state and when ready deploy it.

  • Centralized feed information. The feed activity view of the running feed jobs is now integrated with the feed setup.



  • Kylo allows you to create and browse various catalog sources. Kylo ships with the following datasource connectors: Amazon S3, Azure, HDFS, Hive, JDBC, Local Files


  • During feed creation and data wrangling you can browse the catalog to preview and select specific sources to work with:


  • Note: Kylo Datasources have been upgraded to a new Catalog feature. All legacy JDBC and Hive datasources will be automatically converted to catalog data source entries.


The Wrangler has been upgraded with many new features.

  • New quick clean feature allows you to modify the entire dataset
  • New schema view allows you to rename, delete, and move columns


  • New column profile view shows graphical stats about each column


  • Users can also perform transformations and flattening operations on complex JSON and XML files



Kylo now has customizable repository locations to store feed and template exports. The repository is an easy way to browse for new feeds/templates and import directly into Kylo. Kylo creates a default repository exposing the sample templates.