Installing Kudu

You can install Kudu on a Cloudera Manager deployment using either parcels or packages. Depending on your deployment, follow the instructions in either Install Kudu Using Parcels or Install Kudu Using Packages.

Install Kudu Using Parcels

Use the following steps to install Kudu using parcels.
  1. In Cloudera Manager, go to Hosts > Parcels. Find KUDU in the list, and click Download.
  2. When the download is complete, select your cluster from the Locations selector, and click Distribute. If you only have one cluster, it is selected automatically.
  3. When distribution is complete, click Activate to activate the parcel. Restart the cluster when prompted. This might take several minutes.
  4. Install the Kudu service on your cluster. Go to the cluster where you want to install Kudu. Click Actions > Add a Service. Select Kudu from the list, and click Continue.
  5. Select a host for the master role and one or more hosts for the tablet server roles. A host can act as both a master and a tablet server, but this might cause performance problems on a large cluster. The Kudu master process is not resource-intensive and can be collocated with other similar processes such as the HDFS NameNode or YARN ResourceManager. After selecting hosts, click Continue.
  6. Configure the storage locations for Kudu data and write-ahead log (WAL) files on masters and tablet servers. Cloudera Manager will create the directories.
    • You can use the same directory to store data and WALs.
    • You cannot store WALs in a subdirectory of the data directory.
    • If any host is both a master and tablet server, configure different directories for master and tablet server. For instance, /data/kudu/master and /data/kudu/tserver.
    • If you have chosen a filesystem that does not support hole punching, the Kudu service will fail to start. In this case only, exit the wizard by clicking the Cloudera logo at the top left, and enable the file block manager. This is not appropriate for production. See Enabling the File Block Manager.
  7. If your filesystem supports hole punching, do not exit the wizard. Click Continue. Kudu masters and tablet servers are started. Otherwise, go to the Kudu service, and click Actions > Start.
  8. Verify the Installation.
  9. To manage roles, go to the Kudu service and use the Actions menu to stop, start, restart, or otherwise manage the service.

Enabling the File Block Manager

If your filesystem supports hole punching, do not use the file blocker manager. The file blocker manager does not perform well at scale and must only be used for small-scale development and testing.

If your filesystem does not support hole punching, but you want to experiment with Kudu, you must enable the file block manager. If you do not enable the file block manager, Kudu will not start.

  1. If you are still in the Cloudera configuration wizard, exit the configuration wizard by clicking the Cloudera logo at the top of the Cloudera Manager interface.
  2. Go to the Kudu service.
  3. Go to Configuration and search for the Kudu Service Advanced Configuration Snippet (Safety Valve) for gflagfile configuration option.
  4. Add the following line to it, and save your changes:
    --block_manager=file

Install Kudu Using Packages

Kudu Repository and Package Links
Operating System Repository Package Individual Packages
RHEL RHEL 6 or RHEL 7 RHEL 6
Ubuntu Trusty, Xenial Trusty, Xenial
SLES SLES 12 SLES 12
Debian Jessie Jessie
  1. Cloudera recommends installing the Kudu repositories for your operating system. Use the links in Kudu Repository and Package Links to download the appropriate repository installer. Save the repository installer to /etc/yum.repos.d/ for RHEL, /etc/apt/sources.list.d/ for Ubuntu/Debian, or /etc/zypp/repos.d for SLES.
    • If you use Cloudera Manager, you only need to install the kudu package:
      Operating System Install Commands
      RHEL/CentOS
      sudo yum install kudu
      Ubuntu/Debian
      sudo apt-get install kudu
      SLES
      sudo zypper install kudu
    • If you need the C++ client development libraries or the Kudu SDK, install kudu-client and kudu-client-devel packages for RHEL, or libkuduclient0 and libkuduclient-dev packages for Ubuntu.
    • Do not install the kudu-master and kudu-tserver packages. They provide operating system startup scripts for using Kudu without Cloudera Manager.
  2. Install the Kudu service on your cluster. Go to the cluster where you want to install Kudu. Click Actions > Add a Service. Select Kudu from the list, and click Continue.
  3. Select a host for the master role and one or more hosts for the tablet server roles. A host can act as both a master and a tablet server, but this might cause performance problems on a large cluster. The Kudu master process is not resource-intensive and can be collocated with other similar processes such as the HDFS NameNode or YARN ResourceManager. After selecting hosts, click Continue.
  4. Configure the storage locations for Kudu data and write-ahead log (WAL) files on masters and tablet servers. Cloudera Manager will create the directories.
    • You can use the same directory to store data and WALs.
    • You cannot store WALs in a subdirectory of the data directory.
    • If any host is both a master and tablet server, configure different directories for master and tablet server. For instance, /data/kudu/master and /data/kudu/tserver.
    • If you have chosen a filesystem that does not support hole punching, the Kudu service will fail to start. In this case only, exit the wizard by clicking the Cloudera logo at the top left, and enable the file block manager. This is not appropriate for production. See Enabling the File Block Manager.
  5. If your filesystem supports hole punching, do not exit the wizard. Click Continue. Kudu masters and tablet servers are started. Otherwise, go to the Kudu service, and click Actions > Start.
  6. Verify the Installation.
  7. To manage roles, go to the Kudu service and use the Actions menu to stop, start, restart, or otherwise manage the service.

Verify the Installation

  1. Verify that the Kudu master and tablet servers are running using one of the following methods:
    • Examine the output of the ps command on servers to verify that the kudu-master and kudu-tserver processes are running.

    • Access the master or tablet server web UI by going to http://<_host_name_>:8051/ for masters, or http://<_host_name_>:8050/ for tablet servers.

  2. If Kudu isn’t running, look at the log files in /var/log/kudu, and if there’s a file ending with .FATAL, that means Kudu did not start.
    • If the error is related to a failed hole punch test or the file block manager, it might be a problem with your operating system.

    • If the error is related to clock synchronization, it is most likely a problem with the Network Time Protocol.