0%

Trouble Shooting For Phoenix(3)

日常采坑,本次的坑真的不怪老夫,老夫也是很无奈与这次的坑。老夫只想创建一个Schema而已,谁知道拔出萝卜带出泥。

Q1: NoViableAltException(98@[])
问题描述:老夫的问题描述已经很清楚了吧,是的就是这样。老夫也不知道为啥子嘛。官网都是这样说了的吗。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
0: jdbc:phoenix:hadoop101:2181> CREATE SCHEMA IF NOT EXISTS CI123;

Error: ERROR 601 (42P00): Syntax error. Encountered "SCHEMA" at line 1, column 8. (state=42P00,code=601)
org.apache.phoenix.exception.PhoenixParserException: ERROR 601 (42P00): Syntax error. Encountered "SCHEMA" at line 1, column 8.
at org.apache.phoenix.exception.PhoenixParserException.newException(PhoenixParserException.java:33)
at org.apache.phoenix.parse.SQLParser.parseStatement(SQLParser.java:111)
at org.apache.phoenix.jdbc.PhoenixStatement$PhoenixStatementParser.parseStatement(PhoenixStatement.java:1185)
at org.apache.phoenix.jdbc.PhoenixStatement.parseStatement(PhoenixStatement.java:1268)
at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1339)
at sqlline.Commands.execute(Commands.java:822)
at sqlline.Commands.sql(Commands.java:732)
at sqlline.SqlLine.dispatch(SqlLine.java:808)
at sqlline.SqlLine.begin(SqlLine.java:681)
at sqlline.SqlLine.start(SqlLine.java:398)
at sqlline.SqlLine.main(SqlLine.java:292)
Caused by: NoViableAltException(98@[])
at org.apache.phoenix.parse.PhoenixSQLParser.oneStatement(PhoenixSQLParser.java:650)
at org.apache.phoenix.parse.PhoenixSQLParser.statement(PhoenixSQLParser.java:500)
at org.apache.phoenix.parse.SQLParser.parseStatement(SQLParser.java:108)
... 9 more

老夫找了官网,官网说Phoenix想要去创建一个Schema是需要权限的,所以老夫给他一个权限

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 <!--配置Phoenix可以映射到HBse的Schema-->
<property>
<name>phoenix.schema.isNamespaceMappingEnabled</name>
<value>true</value>
</property>
<property>
<name>phoenix.schema.mapSystemTablesToNamespace</name>
<value>true</value>
</property>
<property>
<name>hbase.master.maxclockskew</name>
<value>600000</value>
<description>Time difference of regionserver from master</description>
</property>
<!-- HBase开启权限-->
<property>
     <name>hbase.security.authorization</name>
     <value>true</value>
   </property>
   <property>
     <name>hbase.coprocessor.master.classes</name>
     <value>org.apache.hadoop.hbase.security.access.AccessController</value>
   </property>
   <property>
     <name>hbase.coprocessor.region.classes</name>
     <value>org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.AccessController</value>
   </property>
   <property>
     <name>hbase.superuser</name>
     <value>corp,root</value>
   </property>

当然了,肯定是没有用的嘛,有用的话,老夫也不会这么心力憔悴的啦。最后的最后,老夫就在HBase里面去创建一个Schema,再从Phoenix里面创建表。具体的关于这个问题的解决还代老夫日后在做解答。

这是打赏的地方...

本文标题:Trouble Shooting For Phoenix(3)

文章作者:Mr.Sun

发布时间:2019年12月06日 - 14:55:49

最后更新:2020年06月10日 - 10:01:44

原始链接:http://www.blog.sun-iot.xyz/posts/7844ca77

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

---------Thanks for your attention---------