To run the Hortonworks Data Platform, your system must meet minimum requirements.
Although there is no single hardware requirement for installing HDP, there are some basic guidelines. You can see sample setups here: Hardware Recommendations for Apache Hadoop.
The following operating systems are supported:
64-bit Red Hat Enterprise Linux (RHEL) 5 or 6
64-bit CentOS 5 or 6
64-bit SUSE Linux Enterprise Server (SLES) 11, SP1
On each of your hosts:
yum [for RHEL or CentOS]
zypper [for SLES]
rpm
scp [for multiple node installs]
curl
wget
unzip
tar
pdsh [for multiple node installs over many hosts]
The standard HDP install fetches the software from a remote yum repository over the Internet. To use this option, you must set up access to the remote repository and have an available Internet connection for each of your hosts.
Note | |
---|---|
If your cluster does not have access to the Internet, or you are creating a large cluster and you want to conserve bandwidth, you can instead provide a local copy of the HDP repository that your hosts can access. For more information, see Deployment Strategies for Data Centers with Firewalls., a separate document in this set. |
For each node in your cluster, download the repo configuration file
hdp.repo
andambari.repo
. From a terminal window, type:For RHEL and CentOS 5
wget -nv //public-repo-1.hortonworks.com/HDP/centos5/1.x/GA/1.3.0.0/hdp.repo -O /etc/yum.repos.d/hdp.repo wget -nv //public-repo-1.hortonworks.com/ambari/centos5/1.x/updates/1.2.3.7/ambari.repo -O /etc/yum.repos.d/ambari.repo
For RHEL and CentOS 6
wget -nv //public-repo-1.hortonworks.com/HDP/centos6/1.x/GA/1.3.0.0/hdp.repo -O /etc/yum.repos.d/hdp.repo wget -nv //public-repo-1.hortonworks.com/ambari/centos6/1.x/updates/1.2.3.7/ambari.repo -O /etc/yum.repos.d/ambari.repo
For SLES
wget -nv //public-repo-1.hortonworks.com/HDP/suse11/1.x/GA/1.3.0.0/hdp.repo -O /etc/zypp/repos.d/hdp.repo wget -nv //public-repo-1.hortonworks.com/ambari/suse11/1.x/updates/1.2.3.7/ambari.repo -O /etc/zypp/repos.d/ambari.repo
Confirm the HDP repository is configured by checking the repo list.
For RHEL/CentOS
yum repolist
For SLES
zypper repos
You should see something like this. Ensure you have HDP-1.3.0.0, HDP-UTILS-1.1.0.15, and AMBARI-1.2.3.7:
Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * base: mirrors.cat.pdx.edu * extras: linux.mirrors.es.net * updates: mirrors.usc.edu repo id repo name status AMBARI-1.2.3.7 Ambari 1.2.3.7 enabled: 6 HDP-1.3.0.0 Hortonworks Data Platform Version - HDP-1.3.0 enabled: 53 HDP-UTILS-1.1.0.15 Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.15 enabled: 51
To use external database for Hive or Oozie metastore, ensure that a MySQL or Oracle or PostgreSQL database is deployed and available.
(By default, Hive and Oozie use Derby database for the metastore.)
For instructions on deploying and/or configuring MySQL database instance, see here.
For instructions on configuring an existing Oracle database instance, see here.
Note To deploy a new Oracle instance, consult your database administrator.
For instructions on deploying and/or configuring an existing PostgreSQL database instance, see here.
Ensure that your database administrator creates the following databases and users:
If deploying Hive:
hive_dbname: Required if using MySQL database for Hive Metastore.
hive_dbuser
hive_dbpasswd
If deploying Oozie:
oozie_dbname: Required if using MySQL database for Oozie Metastore.
oozie_dbuser
oozie_dbpasswd
Instructions to setup MySQL database
Connect to the host machine where you plan to deploy MySQL instance and from a terminal window, type:
For RHEL and CentOS:
yum install mysql
For SLES:
zypper install mysql
Start the instance.
For RHEL and CentOS:
/etc/init.d/mysqld start
For SLES:
/etc/init.d/mysql start
Set the
root
user password and remove unnecessary information fromlog
andSTDOUT
.mysqladmin -u root password ‘$password’
mysqladmin -u root 2>&1 >/dev/null
Manually create users for MySQL.
As
root,
use mysql (or other client tool) to create the “dbuser” and grant it adequate privileges.(For access to Hive metastore, create
hive_dbuser
and for access to Oozie metastore, createoozie_dbuser
.CREATE USER 'dbusername'@'%' IDENTIFIED BY 'dbuserpassword'; GRANT ALL PRIVILEGES ON *.* TO 'dbusername'@'%'; flush privileges;
See if you can connect to the database as that user. You are prompted to enter the
dbuserpassword
password above.mysql -u $dbusername -p
Instructions to configure Oracle database
Ensure that the following SQL script is run against your Hive schema:
$master-install-location/gsInstaller/confSupport/sql/oracle/hive-schema-0.10.0.oracle.sql
Instructions to deploy and configure PostgreSQL database
Connect to the host machine where you plan to deploy PostgreSQL instance and from a terminal window, type:
For RHEL and CentOS:
yum install postgresql-server
For SLES:
zypper install postgresql-server
Start the instance.For RHEL and CentOS:
/etc/init.d/postgresql start
Note For some newer versions of PostgreSQL, you might need to execute the following command:
/etc/init.d/postgresql initdb
Reconfigure PostgreSQL server:
Edit the
/var/lib/pgsql/data/postgresql.conf
file and change the value of #listen_addresses = 'localhost' to the following:listen_addresses = '*'
Edit the
/var/lib/pgsql/data/postgresql.conf
file and change the port setting #port = 5432 to the following:port = 5432
Edit the
/var/lib/pgsql/data/pg_hba.conf
and add the following:host all all 0.0.0.0/0 trust
Optional - If you are using PostgreSQL v9.1 or later, add the following to the
/var/lib/pgsql/data/postgresql.conf
file:standard_conforming_strings = off
Create users for PostgreSQL server:
echo "CREATE DATABASE $dbname;" | psql -U postgres echo "CREATE USER $user WITH PASSWORD '$passwd';" | psql -U postgres echo "GRANT ALL PRIVILEGES ON DATABASE $dbname TO $user;" | psql -U postgres
Note For access to Hive metastore, create
hive_dbuser
and for access to Oozie metastore, createoozie_dbuser
.Ensure that the following SQL script is run against your Hive schema:
$master-install-location/gsInstaller/confSupport/sql/postgres/hive-schema-0.10.0.postgres.sql
where
$master-install-location
is the master install location for Hive metastore host machine.
Your system must have the correct JDK installed on all the nodes of the cluster. HDP requires Oracle JDK 1.6 update 31.
Use the following instructions to manually install JDK 1.6 update 31:
Check the version. From a terminal window, type:
java -version
(Optional) Uninstall the Java package if the JDK version is less than v1.6 update 31.
rpm -qa | grep java yum remove {java-1.*}
(Optional) Verify that the default Java package is uninstalled.
which java
Download the Oracle 64-bit JDK (jdk-6u31-linux-x64.bin) from the Oracle download site:
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jdk-6u31-oth-JPR
Accept the license agreement.
Change directory to the location where you downloaded the JDK and run the install.
mkdir /usr/jdk1.6.0_31 cd /usr/jdk1.6.0_31 chmod u+x $JDK_download_directory/jdk-6u31-linux-x64.bin $JDK_download_directory/jdk-6u31-linux-x64.bin
Create symbolic links (symlinks) to the JDK.
mkdir /usr/java ln -s /usr/jdk1.6.0_31/jdk1.6.0_31 /usr/java/default ln -s /usr/java/default/bin/java /usr/bin/java
Set up your environment to define
JAVA_HOME
to put the Java Virtual Machine and the Java compiler on your path.export JAVA_HOME=/usr/java/default export PATH=$JAVA_HOME/bin:$PATH
HDP is certified and supported when running on virtual or cloud platforms (for example, VMware vSphere or Amazon Web Services EC2) as long as the respective guest operating system (OS) is supported by HDP and any issues detected on these platforms are reproducible on the same supported OS installed on bare metal.
See Operating Systems Requirements for the list of supported operating systems for HDP.