TAJO 설치 0.11.3 with MariaDB on Hadoop(2.9.0)

===TAJO 컴파일 및 설치===

바이너리 설치했다가 TAJO MASTER가 계속 죽어서 하루를 고생했다
컴파일하면 된다. ㅠ.ㅠ 하둡과 버전 문제가 있나보

su -


cd /home

wget http://mirror.apache-kr.org/tajo/tajo-0.11.3/tajo-0.11.3-src.tar.gz


tar zvf ./ta*.gz

cd ./ta*

mvn clean install -DskipTests -Pdist -Dtar -Dhadoop.version=2.9.0

cd tajo-dist/target

mv ./tajo-0.11.3.tar.gz /home

tar zxvf ./tajo-0.11.3.tar.gz

mv ./tajo-0.11.3 ./tajo

chown -R hadoop:hadoop ./tajo
=============JDBC 드라이버 복사 및 환경 설=========

su - hadoop

cd /home/tajo/lib

cp -rp /home/hive/lib/mariadb-java-client-2.2.3.jar ./

cd /home/tajo/conf

vi tajo-env.sh


export TAJO_CLASSPATH=/home/tajo/lib/mariadb-java-client-2.2.3.jar
#export HIVE_JDBC_DRIVER_DIR=/home/tajo/lib/mariadb-java-client-2.2.3.jar
export HBASE_HOME=/home/hbase
export TAJO_HOME=/home/tajo
export HADOOP_HOME=/home/hadoop
export JAVA_HOME=/usr/local/java
export TAJO_PID_DIR=/home/tajo/pids
export TAJO_MASTER_HEAPSIZE=2000
export TAJO_WORKER_HEAPSIZE=8000


==========TAJO 마스터 및 워커 설정======

cp -rp ./tajo-site.xml.template ./tajo-site.xml

vi tajo-site.xml

<property>
  <name>tajo.master.ha.enable</name>
  <value>true</value>
</property>

<property>
  <name>tajo.master.ha.monitor.interval</name>
  <value>5</value>
</property>

 <property>
  <name>tajo.rootdir</name>
  <value>hdfs://hadoop-cluster/tajo</value>
  <description>Base directory including system directories.</description>
</property>

<property>
  <name>tajo.master.umbilical-rpc.address</name>
  <value>10.0.3.10:26001</value>
  <description>TajoMaster binding address between master and workers.</description>
</property>

<property>
  <name>tajo.master.client-rpc.address</name>
  <value>10.0.3.10:26002</value>
  <description>TajoMaster binding address between master and clients.</description>
</property>

<property>
  <name>tajo.resource-tracker.rpc.address</name>
  <value>10.0.3.10:26003</value>
  <description>TajoMaster binding address between master and workers.</description>
</property>

<property>
  <name>tajo.catalog.client-rpc.address</name>
  <value>10.0.3.10:26005</value>
  <description>CatalogServer binding address between catalog server and workers.</description>
</property>

===============HDFS에 TAJO 경로 생============

hdfs dfs -mkdir /tajo

===================DB 연결===========

cp -rp ./catalog-site.xml.template ./catalog-site.xml

vi catalog-site.xml


<property>
  <name>tajo.catalog.jdbc.connection.id</name>
  <value>tajo</value>
</property>
<property>
  <name>tajo.catalog.jdbc.connection.password</name>
  <value>비번</value>
</property>

 <!-- MariaDB Catalog Store Driver -->
 <property>
  <name>tajo.catalog.store.class</name>
  <value>org.apache.tajo.catalog.store.MariaDBStore</value>
 </property>
 <property>
  <name>tajo.catalog.jdbc.uri</name>
  <value>jdbc:mariadb://localhost/tajo?rewriteBatchedStatements=true</value>
 </property>



=============워커 설정===========

vi /home/tajo/conf/workers

hadoop
hadoop01
hadoop02
hadoop03

=================마스터 설정============

vi /home/tajo/conf/masters

hadoop
hadoop01


==============TAJO 스키마 및 계정 생성===
mysql -u root -p

create user 'tajo'@'%' identified by '비번';
grant all on *.* to 'tajo'@'localhost' identified by '비번';
flush privileges;
create database tajo;

===============다른 노드로 TAJO 복사=======



su -

cd /home
tar cvfz tajo.gz ./tajo
scp -rp ./tajo.gz hadoop01:/home
scp -rp ./tajo.gz hadoop02:/home
scp -rp ./tajo.gz hadoop03:/home

ssh hadoop01 ~ 03
cd /home
tar zxvf ./tajo.gz
chown -R hadoop:hadoop ./tajo
exit

====================tajo를 hadoop 권한으로 설치했으면 안해도됨=
su - hadoop
hdfs dfs -rmr /tmp
hdfs dfs -mkdir /tmp
hdfs dfs -chmod 777 /tmp

=================시작==========

cd /home/tajo/bin
./tajo haadmin -formatHA   (타조 기동전에 한번만)
./start-tajo.sh
============HA 작동

$TAJO_HOME/bin/tajo haadmin -transitionToActive <target tajo.master.umbilical-rpc.address>

$TAJO_HOME/bin/tajo haadmin -transitionToBackup <target tajo.master.umbilical-rpc.address>

$TAJO_HOME/bin/tajo haadmin -getState <target tajo.master.umbilical-rpc.address>

$TAJO_HOME/bin/tajo haadmin -formatHA


댓글

이 블로그의 인기 게시물

LSF (GPU 스케쥴링) 명령어 사용법

CentOS 7 리부팅 없이 새 디스크 인식 (find a new disk without reboot)

python에서 hive 사용