1. 程式人生 > >【Hadoop】HBase上安裝使用Phoenix來用sql語句更新操作資料,安裝的過程各種坑和經驗

【Hadoop】HBase上安裝使用Phoenix來用sql語句更新操作資料,安裝的過程各種坑和經驗

畢竟可以使用類似sql的標準語句來操作HBase想來還是滿爽的事情。不過只能是shell。
首先,下載安裝phoenix。
我們先到apache來安裝
在apache找到目前對應的phoenix。由於我們的HBase版本是1.2.4,所以選擇了4.9.0的版本

http://mirrors.cnnic.cn/apache/phoenix/apache-phoenix-4.9.0-HBase-1.2/bin/apache-phoenix-4.9.0-HBase-1.2-bin.tar.gz

然後拷貝出對應的檔案,再重啟hbase。

cd apache-phoenix-4.9.0-HBase-1.2
-bin/ cp phoenix-*.jar /home/hbase/lib cd .. mv apache-phoenix-4.9.0-HBase-1.2-bin phoenix cd hbase/bin ./stop-hbase.sh ./start-hbase.sh

最後,一定要記得把hbase的site檔案hbase-site.xml拷貝到/home/phoenix-4.9.0/bin檔案中。(重要)

最後進入phoenix資料夾的bin目錄,連結HBase

./sqlline.py [zookeeperIP]

如果出現報錯

Error: java.lang.RuntimeException: java.lang
.NullPointerException (state=,code=0)

表示沒有連結上。
可以在phoenix命令列中輸入!quit進行退出操作。

如果出現連線不上,或者丟擲空指標

Caused by: java.lang.RuntimeException: java.lang.NullPointerException
16/12/13 09:46:32 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Error:
java.lang.RuntimeException: java.lang.NullPointerException (state=,code=0) java.sql.SQLException: java.lang.RuntimeException: java.lang.NullPointerException

解決方案暫定為可能是版本不支援,退回一個版本4.8.2試試。
另外,在開啟py檔案之前,記得授權。

無效,看來可能是hadoop某些檔案配置出問題。
因此需要修改hadoop-env.sh

# Extra Java runtime options.  Empty by default.
#default export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"
#export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native/"

改完之後讓其生效,source一下,然後通過hadoop的check一下

[[email protected] sbin]# hadoop checknative
16/12/13 10:56:57 WARN bzip2.Bzip2Factory: Failed to load/initialize native-bzip2 library system-native, will use pure-Java version
16/12/13 10:56:57 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
Native library checking:
hadoop:  true /home/hadoop/hadoop-2.7.3/lib/native/libhadoop.so.1.0.0
zlib:    true /lib64/libz.so.1
snappy:  false 
lz4:     true revision:99
bzip2:   false 
openssl: false Cannot load libcrypto.so (libcrypto.so: cannot open shared object file: No such file or directory)!

可以看到,成功修復!

然後通過phoenix進去看看還會不會報錯。

如果最後還是顯示連線不上,好好看看是否有將hbase-site.xml拷貝到/home/phoenix-4.9.0/bin中。
不然永遠連線不上hbase。

相關推薦

HadoopHBase安裝使用Phoenixsql語句更新操作資料安裝過程各種經驗

畢竟可以使用類似sql的標準語句來操作HBase想來還是滿爽的事情。不過只能是shell。 首先,下載安裝phoenix。 我們先到apache來安裝 在apache找到目前對應的phoenix。由於我們的HBase版本是1.2.4,所以選擇了4.9.

HadoopHBase框架學習之路

1 背景知識 1.1 解決問題 解決HDFS不支援單條記錄的快速查詢和更新的問題。 1.2 適用情況 存在億萬條記錄的資料庫,只有千萬或者百萬條記錄使用RDBMS更加合適 確保你的應用不需要使用RDBMS的高階特性(第二索引,事務機制,

HadoopHbase : 面向列的Nosql 、分散式資料庫

      Hbase是基於hadoop的開源資料庫,它的設計具有高效能、高可靠性、列儲存、可伸縮、實時讀寫的資料庫系統,用於儲存粗粒度結構化的資料。      Hbase是面向列儲存的、非結構型

HadoopHBase、HDFSMapReduce架構異同簡解

HBase、HDFS和MapReduce架構異同 .. HBase(公司架構模型) HDFS2.0(公司架構模型) MR2.0(公司架構模型) MR1.0(公司架構模型)

使用Phoenix通過sql語句更新操作hbase資料

hbase 提供很方便的shell指令碼,可以對資料表進行 CURD 操作,但是畢竟是有一定的學習成本的,基本上對於開發來講,sql 語句都是看家本領,那麼,有沒有一種方法可以把 sql 語句轉換成 hbase的原生API呢? 這樣就可以通過普通平常的 sql

ProtoBufferwindows安裝ProtoBuffer3.x (附已編譯資源)

文章 sta baidu linux平臺 hub 結構 mage 關心 平臺   百度了很久,所介紹的方法很多都不適用,搜出來的文章都是找到vs的工程文件然後balabala...,但因為gihub上的最新版本protobuf3.3.0,是不帶vs的工程文件了,官方的rea

HadoopLinux機器上面安裝pyhdfs

Linux機器上安裝pyhdfs 1、準備依賴模組 pyhdfs的安裝依賴requests和simplejson兩個模組,因此在安裝pyhdfs的時候最好已經先安裝了這兩個模組。 requests安裝包比較容易獲取,就不提供資源,pyhdfs的資源參考連結:https://downl

hadoophive 安裝實踐

1.下載Hive安裝包:   官網下載:http://hive.apache.org/downloads.html 2.上傳Hive的tar包,並解壓:建議和hadoop目錄在一級,方便後續使用;   解壓:tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /home/

Hadoop在Ubuntu系統下安裝Hadoop單機/偽分布式安裝

multi .cn 編輯器 重新 偽分布式 sources edit 信息 情況 Ubuntu 14.10 前方有坑: 由於之前的分布式系統電腦帶不動,所以想換一個偽分布式試一試。用的是Virtualbox + Ubuntu 14.10 。結果遇到了 apt-get 源無

hadoophadoop完全分散式叢集安裝

文章目錄 前言 裝備 Core 總結 前言 後面準備更新hdfs操作(shell命令版本),hbase,hive的操作。 所以這裡先更新一下hadoop叢集安裝。 裝備 1.hadoop-2.6.5.tar.gz

LinuxCentOS6mysql5.7安裝

1.下載安裝yum源 根據系統下載yum源 https://dev.mysql.com/downloads/repo/yum/ rpm -ivh xxxxx.rpm 2.修改yum源 vim /etc/yum.repos.d/mysql-community.repo enable想要下載的版本

Hadoop在Ubuntu系統下安裝Spark

clas 進行 運行 輸出結果 oca .com 修改 我們 with Spark 版本:spark-2.4.0-bin-without-hadoop.tgz 下載地址:http://spark.apache.org/downloads.html 下載的時候註意一下,需要

hadoop本地Eclipse編寫hadoop詞統計程式碼本地測試打包傳伺服器測試

環境準備 1、伺服器配置好hadoop2.7.3,詳細配置過程可參考 hadoop2.7.3環境配置 2、本地安裝好Eclipse,並配置好maven 3、本地解壓hadoop-2.7.3,並下載winutils.exe檔案放在自定義目錄下 本地Ecli

Gwin10安裝git後無法使用出現 fatal: open /dev/null or dup failed: No Such file or directory.

解決方案 解決方案一: 成功率較低 在C:\Windows\System32位置,找到cmd,以管理員執行cmd,貼上輸入sfc /scannow命令,進行修復,修復完重啟。 解決方案二: 成功率較高 替換C:\Windows\System32\driv

Hadoop基於Hadoop/Hbase/Hive的小型離線伺服器日誌分析應用

1、專案簡介 本專案主要設計一個基於Hadoop的日誌分析系統。其中的日誌資料主要來自於某系統開發測試期間的伺服器訪問日誌資料(Tomcat),通過對這些日誌資料利用正則表示式等技術手段進行處理,提取出匹配到的目標資料資訊,將其進行歸類化處理,而對日誌分

redislinux安裝與配置(詳細圖解)

1、下載 http://redis.io/download 2、解壓至任一目錄 tar xzf redis-2.8.17.tar.gz 3、編譯並安裝 cd redis-2.8.1

rabbitMQMac安裝rabbitMQ

1. 如果沒有brew,先安裝brew/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"2.使用brew安裝rabbitmqbre

pycharmpycharm安裝tensorflow報錯:AttributeError: module 'pip' has no attribute 'main' 解決方法

pycharm上安裝tensorflow,報錯:AttributeError: module 'pip' has no attribute 'main' 解決方法     解決方法: 在pycharm的安裝目錄下,找到helpers/packaging_tool.py檔案,

DockerCentOS7 無網路情況下安裝

自建虛擬機器,但是連線不上網路,只能通過下載rpm包進行安裝docker 環境:CentOS 7.3.1611 x64 在這裡能找到想要的docker相關的所有包 我這裡只下載了三個包。分別是 docker-ce-selinux-17.03.1.ce-0.1.rc

HadoopHadoop 2.7.6安裝_偽分散式叢集

本篇主要演示在Linux上安裝單節點Hadoop模式,以及偽分散式Hadoop模式。一 安裝環境作業系統:Oracle Linux Server release 6.5;Java版本:java-1.7.0-openjdk-1.7.0.45;Hadoop版本:hadoop-2.