大数据平台Hbase phoenix等搭建开发问题及解决方式汇总

楮法
2023-12-01

#Q
Caused by: java.lang.NoSuchMethodError: org.apache.hadoop.tracing.SpanReceiverHost.get
$A
<hadoop.version>2.7.3</hadoop.version>

#Q
Caused by: java.net.UnknownHostException: mycluster
$A 修改host文件 118.178.104.96 mycluster

#flume 两种记日志方式,扫描文件夹和log4j写netcat端口,netcat容易关闭,第二 flume一旦停止再重启,日志写入失败,改用文件夹监听,不同字符串发送到不同topic
#hbase连接不上, IP映射,60020端口telnet下。 hbase的hbase-site.xml配置正确和phoeix的映射要复制到phoenix上去
#spring-data管理HbaseTemplate connection 坑之源码分析 每一个hbasetemplate重复建立connection
#hadoop version修改,重启hadoop,格式化
#IDEA打包外部引用类 插件
#phoenix的thin-clientjar包打包了其他很多hadoop相关jar包,冲突
#KAFKA ip顺序不对,导致连接不上
#hadoop多版本jar包冲突,找不到类
#springboot 解决kafka多个topic监听,优雅
#springboot 默认连接池采用hakip,新版本对phonix不支持,报SQLfezeNOTSUPPORT,需改用自定义配置连接池
#springboot
@phoenix做好和namespace的映射,修改hbase.xml做二级索引

#mybatis 生成的field要加双引号,mybatis生成的字段强制用数据表一致,不用驼峰原则 <property name="useActualColumnNames" value="true"/>

#phoenix二级索引更新必须通过phoenix CLIENT API ,hbase更新的话,不会同步到phoenix索引,在某些情况下,phoenix client操作的数据也不会更新索引
#hbase 1.4版本客户端测试要禁用断言。
#hbase:长久连接不上,最后报错:Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hbase.util.ByteStringer
把3.5的替换为2.5的(protobuf-java-2.5.0.jar) Doing a drop replacement of protobuf-java-2.5.0.jar makes the hbase pipelines to run fine.

#HBASE连接不上
port:regionserver绑定的端口,默认是60020;,没有 开启的原因
#phoenix连不上
Remote driver error: RuntimeException:
java.sql.SQLException: org.apache.hadoop.hbase.client.RetriesExhaustedException:
Failed after attempts=36, exceptions:
#A
hadoop.proxyuser.HTTP.groups=*
hadoop.proxyuser.HTTP.hosts=*
jar uf phoenix-4.7.0.2.5.3.0-37-client.jar hbase-site.xml
#phoenix 4.8 bug order by limit offset 查不出数据来
#A:select * from "test" order by col2 limit 1 offset 1;
https://issues.apache.org/jira/browse/PHOENIX-997

#phoenix 4.9 连接时报错,SYSTEM:CATALOG is found but client does not have phoenix.schema.isNamespaceMappingEnabled enabled
# hbase.phoenix.datasource.connectionProperties=phoenix.schema.isNamespaceMappingEnabled=true

#phoneix Cannot initiate connection as SYSTEM:CATALOG is found but client does not have phoenix.schema.isNamespaceMappingEnabled enabled,Cannot initiate connection as SYSTEM:CATALOG is found but client does not have phoenix.schema.isNamespaceMappingEnabled enable
#多数据源时 pring+mybatis多数据源,报Invalid bound statement的问题
A: 因为将dao和mybatis的映射文件都放在了嵌套的目录里,所以在spring扫描的时候,记录了首次扫描到dao的方法,然后使用首次扫描到dao的方法,调用其他路径的映射文件时,就会提示无法找到映射文件的方法。 只需要将dao和mapping的映射文档,放在不同目录下,不可嵌套或者同级目录。就可以找到映射关系了

#PHOENIX mybatis 长久等待连不上数据库,查询不到数据,protobuf
#A:protobuf从2.5升级到3.5

#protobuf版本的包冲突问题
修改2.4.1中class的名字(通过修改package名)并重新打jar包,然后修改canal中引用到protobuf的地方并重新打jar包
mvn install:install-file -Dfile=D:\projects\code\dev\protobuf2.5\target\protobuf25-java-2.5.0.jar -DgroupId=com.google.protobuf25 -DartifactId=protobuf25-java -Dversion=2.5.0 -Dpackaging=jar


#HBASE API org.apache.hadoop.hbase.DoNotRetryIOException: java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hbase.util.ByteStringer
#A:protobuf从3.5降级到2.5
#spark phoenix
1.query 是table
2.jar包的META-INF路径是 main\resources否则打包不进去。
3.删除META-INF重新打包jar包,重新包含所有依赖包
4. phoenix jdbc maven provide去掉,否则不会打包进来。
5.spark 是jdbc的API不可用thin driver
6.检查meta-inf classpath是否包含所有的依赖jar

#mavn install jar
mvn install:install-file -Dfile=spark-redis-0.3.2.jar -DgroupId=RedisLabs -DartifactId=spark-redis -Dversion=0.3.2 -Dpackaging=jar
#Exception in thread "main" java.net.ConnectException: Call From Trade-Test-Spark001/10.25.172.171 to Trade-Test-Spark001:9000 failed on connection exception: java.net.ConnectException: Connection refused;
#A: hadoop namenode 启动 start-dfs.sh


#spark 下的GSON.jar版本冲突,已替换spark的jars下的jar为高版本的。其他服务器也要替换TODO

#KAFKA method:org.springframework.kafka.listener.KafkaMessageListenerContainer$1.onFailure(KafkaMessageListenerContainer.java:273)
Error while stopping the container:
java.lang.NoClassDefFoundError: com/google/protobuf/GeneratedMessageV3

#HBASE REGION SERVER LOG
Unable to return groups for user Administrator
PartialGroupNameException The user name 'Administrator' is not found. id: Administrator: no such user

#org.apache.hadoop.hbase.MasterNotRunningException: com.google.protobuf.ServiceException: java.net.ConnectException: Connection refused: no further information
查看端口映射是否正确

#phoenix drop index exception

#phoenix索引和hbase数据的错乱关系,如果删除了表,但是没有删除相应的索引表,索引表里有数据,查询的时候走索引查询,导致查询不一致。
更新插入数据的时候不走phoneix虽然查出数据,但是是索引里的数据。
#phoneix4.9-1.2 更新索引 notsuchmethod error。需换回4.8, 4.8的limit bug问题,目前客户端仍用4.9暂时没发现问题。
#phoenix thin query server driver,表结构变化后不识别新的表结构。fat driver没问题。
#flume同时发送两条消息到kafka
原因是同时起了两个flume进程。
#spark在集群里运行错误
需要分配内存到节点。
#spark-env.sh不能一样,否则报错

转载于:https://www.cnblogs.com/junglecat/p/10018665.html

 类似资料: