[HBase]
1. hbase 버전 2.5.8을 깔아준다
2. 순서는 주키퍼켜고, dfs켜고 맨마지막에 hbase를 켜야함!! 주키퍼랑 dfs순서는 딱히 상관없는듯?
전부 다 켜면
17013 NameNode
17349 SecondaryNameNode
18069 HMaster
17161 DataNode
17851 QuorumPeerMain
18655 Jps
이렇게 총 6개가 켜진걸 확인할 수 있다
다 켰으면
bib/hbase shell을 들어가면
hbase:003:0> 이렇게 뜸
여기서 create, put, 명령어를 입력하며 ㄴ된다
근데 create안됨
이유 ?? 모름 썅...
hbase:002:0> create 'test2', 'family'
2024-04-16 06:45:52,696 INFO [main] client.RpcRetryingCallerImpl (RpcRetryingCallerImpl.java:callWithRetries(130)) - Call exception, tries=6, retries=8, started=4978 ms ago, cancelled=false, msg=org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:3188)
at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:2307)
at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:694)
at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:415)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:124)
at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:102)
at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:82)
, details=, see https://s.apache.org/timeout
2024-04-16 06:45:56,731 INFO [main] client.RpcRetryingCallerImpl (RpcRetryingCallerImpl.java:callWithRetries(130)) - Call exception, tries=7, retries=8, started=9013 ms ago, cancelled=false, msg=org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:3188)
at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:2307)
at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:694)
at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:415)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:124)
at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:102)
at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:82)
, details=, see https://s.apache.org/timeout
ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:3188)
at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:2307)
at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:694)
at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:415)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:124)
at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:102)
at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:82)
For usage try 'help "create"'
에러인데.. 아직 원인 못찾음
https://eyeballs.tistory.com/126이거 참고했는데 여전히 안됨
[HBase] ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing 에러 해결 방법
아래 에러가 났을 때 내가 해결한 방법을 여기 적는다. ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:2808) at org.apache.hadoop.hbase.mas
eyeballs.tistory.com
*****************드디어 해결함******************만
jps만 남겨두고
rm -rf /tmp/hadoop-root/* 다 삭제한다 이거말고도 남아있는게 있었는ㄷ데 모두 삭제해야함
[root@localhost hbase]# rm -rf /tmp/hadoop-root/*
[root@localhost hbase]# rm -rf /tmp/hbase-root*
[root@localhost hbase]# rm -rf /tmp/zookeeper/
[root@localhost hbase]# rm -rf /tmp/
모든정보들이 tmp폴더에 있는데 여기있는걸 삭제하면된다
처음에 이렇게 했었는데 안됐었던게 hadoop-root이거만 삭제해서 그런거였음
이거말고도 hbase, zookeeper관련된애도 있는데 이거도삭제하면 되는거였음
hadoop만 삭제하면 hadoop이 주키퍼, hbase랑 다연관이 되어있어서 걍 싹다 삭제하면됨
그럼 약간 껍데기만 남기고 다 삭제됨 처음 깔린 그 초기상태로 ㅇㅇ 로그파일도 다 삭제되고
======================================
일단 hbase명령어는
put 'test', 'row1', 'cf1:col1', 'val1'
put 'test', 'row1', 'cf2:col2', 'val2'
scan 'test'
테이블 삭제
disable 'test' > 불능상태로 만듬 insert, get이런거 못하게
drop 'test' > 실제 삭제는 이걸 써야 삭제됨
=======================================
happybase라는걸 쓰는데
root경로에서
yum install gcc python3-devel
pip3 install setuptools-rust
pip3 install pip --upgrade
pip3 install happybase 머이렇게 하면 설치된다
hbase에 접속할수잇는 연결통로를 만들어줌 thrift이게 연결통로임 hbase를 바탕으로 열리는 서버 이걸 켜야 happybase로 thrift에 접속가능 ?
[root@localhost hbase]# bin/hbase-daemon.sh start thrift
이렇ㄱㅔ?
그럼 jps 치면
18724 ThriftServer
17013 NameNode
17349 SecondaryNameNode
19061 HMaster
19206 Jps
17161 DataNode
17851 QuorumPeerMain 다 뜬다
경로는 아무데나 happybaseEx.py파일을 만들어서
코드를 쓴다
https://happybase.readthedocs.io/en/latest/
HappyBase — HappyBase 1.2.0 documentation
HappyBase is a developer-friendly Python library to interact with Apache HBase. HappyBase is designed for use in standard HBase setups, and offers application developers a Pythonic API to interact with HBase. Below the surface, HappyBase uses the Python Th
happybase.readthedocs.io
이 문서에 코드가 나와있고
내가 create로 만든 테이블이름과 컬럼패밀리명을 쓰고
python3 happybaseEx.py 실행을 하면 결과가 나온다