Warning | ||
---|---|---|
| ||
This page is being obsoleted and is replaced by: http://trafodion.apache.org/build.html |
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
Describes the steps required to build and run Apache Trafodion. |
Table of Contents |
---|
...
Supported Platforms
Red Hat or Centos 6.x (6.4 or later) versions are supported as development and production platforms.
...
Build prerequisites
You need to install the following packages before you can install Apache Trafodion.
...
Code Block | ||
---|---|---|
| ||
$ java -version java version "1.7.0_85" OpenJDK Runtime Environment (rhel-2.6.1.3.el6_6-x86_64 u85-b01) OpenJDK 64-Bit Server VM (build 24.85-b03, mixed mode) |
Ensure
...
that
...
the
...
Java
...
environment
...
exists
...
and
...
points
...
to
...
your
...
JDK
...
installation. By default Java is located in /usr/lib/java-<version>.
Code Block | ||
---|---|---|
| ||
Code Block | ||
| ||
$ echo $JAVA_HOME $ which java /usr/bin/java $ export JAVA_HOME=/usr/bin $lib/jvm/java-1.7.0-openjdk.x86_64 |
Note |
---|
You should export JAVA_HOME in your .bashrc or .profile file. |
Setup Passwordless SSH
The method used to set up passwordless SSH keys depends on whether you're downloading the Trafodion source directly using hub clone.
If You're Using Hub Clone
You've set up your ssh keys using the method described in https://github.com/settings/ssh, which means that you already have an existing set of ssh keys. Simply copy both the id_rsa.pub and id_rsa.ppk to the ~/.ssh directory.
Then, do the following:
Code Block | ||||
---|---|---|---|---|
| ||||
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_rsa.ppk
echo "NoHostAuthenticationForLocalhost=yes" >>~/.ssh/config
chmod go-w ~/.ssh/config |
If You Downloaded and Unpacked the Source
Ensure that you've set up passwordless authentication.
Code Block | ||||
---|---|---|---|---|
| ||||
ssh localhost
gtapper@localhost's password:
Last login: Fri Nov 6 22:44:00 2015 from 192.168.1.9 |
If you see the above, then setup passwordless ssh doing the following:
Code Block | ||||
---|---|---|---|---|
| ||||
ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_rsa.pub
echo "NoHostAuthenticationForLocalhost=yes" >>~/.ssh/config
chmod go-w ~/.ssh/config |
Verify Trafodion Download
Verify that the Trafodion source has been either:
- Downloaded and unpackaged.
- Cloned from github.
If not, please do so now. Refer to Contributor Workflow - Code/Docs.
Install Required Build Tools
Refer to Required Build Tools for instructions.
Verify System Limits
Verify Trafodion Download
Verify that the Trafodion source has been either:
- Downloaded and unpackaged.
- Cloned from github.
If not, please do so now.
To download from github, refer to Contributor Workflow - Code/Docs.
Otherwise downloaded and untar the source tar file from Apache Trafodion Incubator release.
Install Required Build Tools
Trafodion requires a set of tools to be installed in order to build. Refer to Required Build Tools for instructions. One of the tools that is built if it does not already exist is Maven. At this time, you should verify that Maven is part of your path. To verify that Maven is available do:
mvn --version.
If not found, then added it to your path:
PATH=$PATH:<tool installation directory>/apache-maven-3.3.3/bin
Note |
---|
You should add Maven to your PATH in your .bashrc or .profile file. |
Build Trafodion
Start a new ssh session. Use the following commands to set up the Trafodion environmental variables.
- <Trafodion source directory> is source tree base for Trafodion.
- <tools installation directory> is where Trafodion required tools are located. The following example assumes that you installed all the required tools in a single location. If you installed or used pre-installed tools in different directories, then you need to export the location of each tool as described Required Build Tools prior to sourcing in env.sh.
Code Block | ||
---|---|---|
| ||
cd <Trafodion source directory>
export TOOLSDIR=<tools installation directory>
source ./env.sh |
Build a debug version of Trafodion using one of the following options:
Command | What It Builds |
---|---|
make all | Trafodion, DCS, and REST. |
make package | Trafodion, DCS, REST, and Client Drivers. |
make package-all | Trafodion, DCS, REST, Client Drivers, and tests for all components. |
If the build fails, you might want to rerun the make step. Trafodion downloads many dependencies and sometimes one of the download operations fail. Rerunning the build generally works.
Verify the build:Please check that the system limits in your environment are appropriate for Apache Trafodion. If they are not, then you will need to increase the limits or Trafodion cannot start.
Code Block | |||||
---|---|---|---|---|---|
| |||||
$ sqvers -u MY_SQROOT=/home/centos/apache-trafodion-1.3.0-incubating/core/sqf who@host=centos@mysystem JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.91.x86_64 SQ_MBTYPE=64d (64-debug) linux=2.6.32-504.1.3.el6.x86_64 redhat=6.7 NO patches Most common Apache_Trafodion Release 1.3.0 (Build debug [centos], branch -, date 06Nov15) UTT count is 1 [6] Release 1.3.0 (Build debug [centos], branch -, date 06Nov15) ulimit –a core file size (blocks, -c) 1000000 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 515196 max locked memoryexport/lib/hbase-trx-cdh5_3-1.3.0.jar (kbytes, -l) 49595556 max memory sizeexport/lib/hbase-trx-hbase_98_4-1.3.0.jar export/lib/hbase-trx-hdp2_2-1.3.0.jar (kbytes, -m) unlimited open files export/lib/sqmanvers.jar export/lib/trafodion-dtm-1.3.0.jar (-n) 32000 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 267263 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited |
Please refer to this article for information on how you change system limits.
Build Trafodion
Start a new ssh session. Use the following commands to set up the Trafodion environmental variables.
Code Block | ||
---|---|---|
| ||
cd <download directory>/incubator-trafodion
export TOOLSDIR=<tools installation directory>
source ./env.sh
|
Note |
---|
If you do not set up TOOLSDIR before sourcing in env.sh, then tools location defaults to /opt/home/tools. You may want to edit your .bashrc or .profile file to always export TOOLSDIR. |
Build using one of the following options:
Command | What It Builds |
---|---|
make all | Trafodion, DCS, and REST. |
make package | Trafodion, DCS, REST, and Client Drivers. |
make package-all | Trafodion, DCS, REST, Client Drivers, and tests for all components. |
Verify the build:
export/lib/trafodion-sql-1.3.0.jar |
The output show several jar files. The number of files differs based on the version of Trafodion you downloaded.
Setup Test Environment
You should test your installation using:
- Trafodion installation on a system that already has a compatible version of Hadoop installed
- A local Hadoop environment created by the install_local_hadoop script
Your installation approach depends on whether you already have installed Hadoop.
Hadoop is Already Installed
Build binary tar files and then install Trafodion following instructions described in Installation.
Code Block | ||||
---|---|---|---|---|
| ||||
cd <Trafodion source directory>
make package |
The binary tar files will be created in <Trafodion source directory>/distribution directory.
Install a Local Hadoop Environment
Local Hadoop prerequisites
Setup Passwordless SSH
Check to see if you have passwordless SSH setup.
Code Block | ||||
---|---|---|---|---|
| ||||
ssh localhost
Last login: Fri Nov 6 22:44:00 2015 from 192.168.1.9 |
If passwordless SSH is not setup, please do so now. The following is an example of setting up passwordless SSH using id_rsa keys. You can choose the method that best represents your environment.
If you already have an existing set of ssh keys. Simply copy both the id_rsa.pub and id_rsa to your ~/.ssh directory.
Then, do the following:
Code Block | ||||
---|---|---|---|---|
| ||||
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_rsa
echo "NoHostAuthenticationForLocalhost=yes" >>~/.ssh/config
chmod go-w ~/.ssh/config
chmod 755 ~/.ssh; chmod 640 ~/.ssh/authorized_keys; cd ~/.ssh; chmod 700 .. |
If you need to create your keys first, then do the following:
Code Block | ||||
---|---|---|---|---|
| ||||
ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_rsa.pub
echo "NoHostAuthenticationForLocalhost=yes" >>~/.ssh/config
chmod go-w ~/.ssh/config
chmod 755 ~/.ssh; chmod 640 ~/.ssh/authorized_keys; cd ~/.ssh; chmod 700 .. |
Verify System Limits
Please check that the system limits in your environment are appropriate for Apache Trafodion. If they are not, then you will need to increase the limits or Trafodion cannot start.
Code Block | ||||
---|---|---|---|---|
| ||||
ulimit –a
core file size | ||||
Code Block | ||||
| ||||
$ sqvers -u MY_SQROOT=/home/gtapper/incubator-trafodion/core/sqf who@host=gtapper@box01 JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk.x86_64 SQ_MBTYPE=64d (64-debug) linux=2.6.32-504.el6.x86_64 redhat=6.6 NO patches Most common Apache_Trafodion Release 2.0.0 (Build debug [gtapper], branch 392b99b-trafweb, date 06Nov15) UTT count is 1 [8] Release 2.0.0 (Build debug [gtapper], branch 392b99b-trafweb, date 06Nov15) export/lib/hbase-trx-cdh5_3-2.0.0.jar (blocks, -c) 1000000 data seg size export/lib/hbase-trx-hbase_98_4-2.0.0.jar export/lib/hbase-trx-hdp2_2-2.0.0.jar (kbytes, -d) unlimited scheduling priority export/lib/hbase-trx-mapr4_0-2.0.0.jar (-e) 0 file size export/lib/sqmanvers.jar export/lib/trafodion-dtm-2.0.0.jar (blocks, -f) unlimited pending signals export/lib/trafodion-sql-2.0.0.jar (-i) 515196 max locked memory export/lib/trafodion-utility-2.0.0.jar $ |
The output should show that eight jar files exist.
Setup Test Environment
You should test your installation using:
- A local Hadoop environment
- Trafodion installation
You're installation approach depends on whether you already have installed Hadoop.
If Hadoop is Already Installed
Build binary tar files and then install Trafodion following instructions described in Installation.
Code Block | ||||
---|---|---|---|---|
| ||||
cd <download directory>/incubator-trafodion
make package |
The binary tar files will be created in <download directory>/incubator-trafodion/distribution directory.
...
(kbytes, -l) 49595556
max memory size (kbytes, -m) unlimited
open files (-n) 32000
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 267263
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
|
Please refer to this article for information on how you change system limits.
Run install_local_hadoop
The install_local_hadoop script downloads compatible versions of Hadoop, HBase, Hive, and MySQL. Then, it starts Trafodion.
Tip | ||
---|---|---|
| ||
install_local_hadoop downloads Hadoop, HBase, Hive, and MySql jar files from the internet. To avoid this overhead, you can download the required files into a separate directory and set the environment variable MY_LOCAL_SW_DIST to point to this directory. |
...
Command | What It Does |
---|---|
install_local_hadoop | Uses default ports for all services. |
install_local_hadoop -p fromDisplay | Start Hadoop with a port number range determined from the DISPLAY environment variable. |
install_local_hadoop -p rand | Start with any random port number range between 9000 and 49000. |
install_local_hadoop -p <port > | Start with the specified port number. |
...
Code Block | ||||
---|---|---|---|---|
| ||||
# Ensure that the Trafodion environmental variables have been loaded. cd <download<Trafodion source directory>/incubator-trafodion source ./env.sh |
Install the Hadoop software.
...
Code Block | ||
---|---|---|
| ||
$ swstatus 56 java servers and 2 mysqld processes are running 713 NameNode 19513 HMaster 1003 SecondaryNameNode 838 DataNode 1173 ResourceManager 1298 NodeManager $ |
Five Six java servers as shown above and two mysqld processes should be running.
...
You need to do the following each time you download new source code.
Code Block | ||
---|---|---|
| ||
cd <Trafodion <downloadsource directory>/incubator-trafodion source ./env.sh cd $MY_SQROOT/etc # delete ms.env, if it exists rm ms.env cd $MY_SQROOT/sql/scripts sqgen |
...
Component | Start | Stop | Status |
---|---|---|---|
All of Trafodion | sqstart | sqstop | sqcheck |
DCS (Database Connectivity Services) | dcstart | dcsstop | dcscheck |
REST Server | reststart | reststop | |
LOB Server | lobstart | lobstop | |
RMS Server | rmsstart | rmsstop | rmscheck |
Create Trafodion Metadata
Code Block | ||||
---|---|---|---|---|
| ||||
# Ensure that the Trafodion environmental variables have been loaded.
cd <download directory>/incubator-trafodion
source ./env.sh |
Assumption: Trafodion is up and running.
Use sqlci to create the Trafodion metadata.
Code Block | ||
---|---|---|
| ||
$ sqlci
>> initialize trafodion;
.
.
.
>> exit;
$ |
Validate Your Installation
You can use sqlci or trafci (connects via DCS) to validate your installation.
Code Block | ||||
---|---|---|---|---|
| ||||
get schemas;
create table table1 (a int);
invoke table1;
insert into table1 values (1), (2), (3), (4);
select * from table1;
exit; |
sqcheck | |||
DCS (Database Connectivity Services) | dcstart | dcsstop | dcscheck |
REST Server | reststart | reststop | |
LOB Server | lobstart | lobstop | |
RMS Server | rmsstart | rmsstop | rmscheck |
Create Trafodion Metadata
Code Block | ||||
---|---|---|---|---|
| ||||
# Ensure that the Trafodion environmental variables have been loaded.
cd <Trafodion source directory>
source ./env.sh |
Assumption: Trafodion is up and running.
Use sqlci to create the Trafodion metadata.
Code Block | ||
---|---|---|
| ||
$ sqlci
>> initialize trafodion;
.
.
.
>> exit;
$ |
Validate Your Installation
You can use sqlci or trafci (connects via DCS) to validate your installation.
Code Block | ||||
---|---|---|---|---|
| ||||
get schemas;
create table table1 (a int);
invoke table1;
insert into table1 values (1), (2), (3), (4);
select * from table1;
exit; |
Assuming no errors, your installation has been successful. You can start working on your modifications.
Troubleshooting Notes
If you are not able to start up the environment or if there are problems running sqlci or trafci, then verify that the all the processes are up and running.
- swstatus should show at 6 java servers and 2 mysql processes.
- sqcheck should indicate all processes are running.
If processes are not running as expected, then:
- sqstop to shut down Traodion. If some Trafodion processes do not terminate cleanly, then run ckillall.
- swstopall to shut down the Hadoop ecosystem.
- swstartall to restart the Hadoop ecosystem.
- sqstart to restart Trafodion.
If problems persist please review logs:
- $MY_SQROOT/sql/local_hadoop/*/log: Hadoop, HBase, and Hive logs.
- $MY_SQROOT/logs Trafodion logs.
Assuming no errors, you're installation has been successful. You can start working on your modifications.