# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
  . /etc/bashrc
fi

export JAVA_HOME={{ java_home }}

{% if hadoop_major_version == '2' %}
export HADOOP_PREFIX={{ hadoop_home }}
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
{% else %}
export HADOOP_HOME={{ hadoop_home }}
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
{% endif %}

export ZOOKEEPER_HOME={{ zookeeper_home }}
export SPARK_HOME={{ spark_home }}
export ACCUMULO_HOME={{ accumulo_home }}
export FLUO_HOME={{ fluo_home }}
export FLUO_YARN_HOME={{ fluo_yarn_home }}

alias ssh='ssh -A'
alias cdh='cd {{ hadoop_home }}'
alias cdz='cd {{ zookeeper_home }}'
alias cda='cd {{ accumulo_home }}'
alias cdf='cd {{ fluo_home }}'
alias ashell='{{ accumulo_home }}/bin/accumulo shell -u root -p {{ accumulo_password }}'
