다운받은 소스화일 압축을 풀고
tar xzvf tajo-0.9.0-src.tar.gz
소스화일 디렉토리로 이동하여
cd tajo-0.9.0-src
Tajo를 빌드 (HiveMetastore사용버전)
mvn clean package -DskipTests -Pdist -Dtar -Phcatalog-0.13.1
에러발생
hadoop@HOSTNAME tajo-0.9.0-src]$ mvn clean package -DskipTests -Pdist -Dtar -Phcatalog-0.13.1
[INFO] Scanning for projects...
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR] The project org.apache.tajo:tajo-hcatalog:0.9.0-SNAPSHOT (/home/hadoop/tajo-0.9.0-src/tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/pom.xml) has 1 error
[ERROR] Non-resolvable parent POM: Could not find artifact org.apache.tajo:tajo-project:pom:0.9.0-SNAPSHOT and 'parent.relativePath' points at wrong local POM @ line 23, column 11 -> [Help 2]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException
이부분이 수상해서 살펴보니
[ERROR] The project org.apache.tajo:tajo-hcatalog:0.9.0-SNAPSHOT (/home/hadoop/tajo-0.9.0-src/tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/pom.xml) has 1 error
<parent>
<artifactId>tajo-project</artifactId>
<groupId>org.apache.tajo</groupId>
<version>0.9.0-SNAPSHOT</version>
<relativePath>../../../tajo-project</relativePath>
</parent>
version부분에 0.9.0-SNAPSHOT이라고 되어있는데 현재 다운로드받은 버전은 0.9.0이므로 SNAPSHOT을 삭제
다시 빌드! 이번엔 성공
[INFO] Executed tasks
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Tajo Main ......................................... SUCCESS [ 5.389 s]
[INFO] Tajo Project POM .................................. SUCCESS [ 2.677 s]
[INFO] Tajo Maven Plugins ................................ SUCCESS [ 10.486 s]
[INFO] Tajo Common ....................................... SUCCESS [ 20.892 s]
[INFO] Tajo Algebra ...................................... SUCCESS [ 3.623 s]
[INFO] Tajo Catalog Common ............................... SUCCESS [ 9.133 s]
[INFO] Tajo Rpc .......................................... SUCCESS [ 4.632 s]
[INFO] Tajo Catalog Client ............................... SUCCESS [ 1.430 s]
[INFO] Tajo Catalog Server ............................... SUCCESS [ 2.334 s]
[INFO] Tajo Storage ...................................... SUCCESS [ 6.295 s]
[INFO] Tajo Core PullServer .............................. SUCCESS [ 2.978 s]
[INFO] Tajo Client ....................................... SUCCESS [ 5.272 s]
[INFO] Tajo JDBC Driver .................................. SUCCESS [ 1.868 s]
[INFO] ASM (thirdparty) .................................. SUCCESS [ 3.689 s]
[INFO] Tajo Core ......................................... SUCCESS [ 38.899 s]
[INFO] Tajo Catalog Drivers HCatalog ..................... SUCCESS [ 3.437 s]
[INFO] Tajo Catalog Drivers .............................. SUCCESS [ 0.024 s]
[INFO] Tajo Catalog ...................................... SUCCESS [ 1.093 s]
[INFO] Tajo Distribution ................................. SUCCESS [ 8.911 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:14 min
[INFO] Finished at: 2015-02-19T11:07:57+09:00
[INFO] Final Memory: 83M/269M
[INFO] ------------------------------------------------------------------------
압축해제
tar xzvf tajo-0.9.0-src/tajo-dist/target/tajo-0.9.0.tar.gz
cd tajo-0.9.0
vi conf/tajo-env.sh
hive설정
export HIVE_HOME=/usr/lib/hive
export HIVE_JDBC_DRIVER_DIR=/usr/lib/hive/lib/mysql-connector-java.jar
vi conf/catalog-site.xml
hcatalog설정추가
<configuration>
<property>
<name>tajo.catalog.store.class</name>
<value>org.apache.tajo.catalog.store.HCatalogStore</value>
</property>
</configuration>
설정은 다 된거 같은데...뭘 실행해야하나?
[hadoop@HOSTNAME bin]$ ./start-catalog.sh
starting catalog, logging to /home/hadoop/tajo-0.9.0/bin/../logs/tajo-hadoop-catalog-VHHDPTS1503.out
[hadoop@HOSTNAME bin]$
[hadoop@HOSTNAME bin]$
[hadoop@HOSTNAME bin]$ ./tsql
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/cli/CommandLineParser
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2521)
at java.lang.Class.getMethod0(Class.java:2764)
at java.lang.Class.getMethod(Class.java:1653)
at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.cli.CommandLineParser
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 6 more
vi tajo
# HADOOP JAR DIRS
#HADOOP_MODULE_DIRS="$HADOOP_HOME/share/hadoop/common/lib
#$HADOOP_HOME/share/hadoop/common
#$HADOOP_HOME/share/hadoop/hdfs
#$HADOOP_HOME/share/hadoop/hdfs/lib
#$HADOOP_HOME/share/hadoop/yarn
#$HADOOP_HOME/share/hadoop/mapreduce"
HADOOP_MODULE_DIRS="$HADOOP_HOME/lib
$HADOOP_HOME/
$HADOOP_HOME/../hadoop-hdfs
$HADOOP_HOME/../hadoop-hdfs/lib
$HADOOP_HOME/../hadoop-yarn
$HADOOP_HOME/../hadoop-mapreduce"
다른 에러 발생
[hadoop@HOSTNAME bin]$ ./tsql
ERROR: Exception was thrown. Caused by Giving up after tries=2
Exception in thread "main" com.google.protobuf.ServiceException: Giving up after tries=2
at org.apache.tajo.rpc.ServerCallable.withRetries(ServerCallable.java:102)
at org.apache.tajo.client.TajoClient.getCurrentDatabase(TajoClient.java:262)
at org.apache.tajo.cli.TajoCli.<init>(TajoCli.java:243)
at org.apache.tajo.cli.TajoCli.main(TajoCli.java:690)
Caused by: org.jboss.netty.channel.ConnectTimeoutException: Connect error to localhost/127.0.0.1:26002 caused by ConnectException: Connection refused: localhost/127.0.0.1:26002
at org.apache.tajo.rpc.NettyClientBase.handleConnectionInternally(NettyClientBase.java:106)
at org.apache.tajo.rpc.NettyClientBase.connect(NettyClientBase.java:116)
at org.apache.tajo.rpc.NettyClientBase.init(NettyClientBase.java:68)
at org.apache.tajo.rpc.NettyClientBase.init(NettyClientBase.java:54)
at org.apache.tajo.rpc.BlockingRpcClient.<init>(BlockingRpcClient.java:76)
at org.apache.tajo.rpc.RpcConnectionPool.makeConnection(RpcConnectionPool.java:73)
at org.apache.tajo.rpc.RpcConnectionPool.getConnection(RpcConnectionPool.java:88)
at org.apache.tajo.rpc.ServerCallable.withRetries(ServerCallable.java:93)
... 3 more
start-tajo.sh을 실행하고
[hadoop@HOSTNAME bin]$ ./start-tajo.sh
Starting single TajoMaster
starting master, logging to /home/hadoop/tajo-0.9.0/bin/../logs/tajo-hadoop-master-HOSTNAME .out
localhost: starting worker, logging to /home/hadoop/tajo-0.9.0/bin/../logs/tajo-hadoop-worker-HOSTNAME .out
다시 tsql실행
[hadoop@HOSTNAME bin]$ ./tsql
Try \? for help.
default>
default>
성공!
default> \l
default
ec_dwh
ec_ods
hive의 데이터베이스 리스트가 보인다
default> \c ec_ods;
You are now connected to database "ec_ods" as user "hadoop".
ec_ods>
테이블 리스트도 보인다.
ec_ods> \d
log_login
order_delivery
order_item
order_main
product
product_common
product_sku
product_store
psec_company
psec_user
psec_zipcodemast
이제 select를 해보자
ec_ods> select * from order_main limit 10;
ERROR: relation "ec_ods.order_main" does not exist
헉! 테이블이 존재안한다는 에러...
테이블정의를 보려하니 역시 테이블이 없다는 에러 (참고로, hive에 존재하는 테이블)
ec_ods> \d order_main
ERROR: no such a table: order_main
com.google.protobuf.ServiceException: java.sql.SQLException: ERROR: no such a table: order_main
at org.apache.tajo.rpc.ServerCallable.withRetries(ServerCallable.java:105)
at org.apache.tajo.client.TajoClient.getTableDesc(TajoClient.java:972)
at org.apache.tajo.cli.DescTableCommand.invoke(DescTableCommand.java:48)
at org.apache.tajo.cli.TajoCli.executeMetaCommand(TajoCli.java:470)
at org.apache.tajo.cli.TajoCli.executeParsedResults(TajoCli.java:443)
at org.apache.tajo.cli.TajoCli.runShell(TajoCli.java:419)
at org.apache.tajo.cli.TajoCli.main(TajoCli.java:692)
Caused by: java.sql.SQLException: ERROR: no such a table: order_main
at org.apache.tajo.client.TajoClient$24.call(TajoClient.java:985)
at org.apache.tajo.client.TajoClient$24.call(TajoClient.java:972)
at org.apache.tajo.rpc.ServerCallable.withRetries(ServerCallable.java:95)
... 6 more
'Tajo' 카테고리의 다른 글
Tajo Hive 연동 테스트 (0) | 2015.02.27 |
---|---|
Tajo Hive 연동 (0) | 2015.02.18 |