hdp2.5自帶的phoenix是4.7的,而客戶的駕駛艙項目跑在4.7的phoenix上是有問題的,如:如果表中沒有數據,執行select count(*) from 表,返回的是空,這時導致駕駛艙項目報錯誤。所以決定升級phoenix版本為4.8,過程如下
1、在ambari中關閉Hbase、Ambari Metrics
2、備份原來的phoenix
mv phoenix phoenixbak
3、上傳phoenix安裝包apache-phoenix-4.8.2-HBase-1.2-bin.tar
4、解壓tar -zxvf apache-phoenix-4.8.2-HBase-1.2-bin.tar.gz
5、刪除apache-phoenix-4.8.2-HBase-1.2-bin.tar.gz
rm -rf apache-phoenix-4.8.2-HBase-1.2-bin.tar.gz
6、修改apache-phoenix-4.8.2-HBase-1.2-bin目錄名為phoenix
mv apache-phoenix-4.8.2-HBase-1.2-bin/ phoenix
7、修改phoenix目錄的所有人、所有組為root:root
chown -R root:root phoenix
8、進入phoenix目錄,創建doc目錄,並將example目錄移動到doc目錄下
cd phoenix
mkdir doc
mv examples/ doc/
9、創建phoenix-pherf目錄,並將bin/config目錄移動到phoenix-pherf目錄下
mkdir phoenix-pherf
mv bin/config/ phoenix-pherf
10、復制phoenixbak/lib目錄到當前目錄
cp -r ../phoenixbak/lib/ .
11、進到lib目錄下,刪除以phoenix開頭的jar包
cd lib/
rm -rf phoenix-*.jar
12、將上級目錄的以phoenix-core開頭的jar包拷貝到當前目錄
cp ../phoenix-core-4.8.2-HBase-1.2*.jar .
13、將上級目錄的以phoenix-flume開頭的jar包拷貝到當前目錄
cp ../phoenix-flume-4.8.2-HBase-1.2*.jar .
14、將上級目錄以phoenix-hive開頭的jar包拷貝到當前目錄
cp ../phoenix-hive-4.8.2-HBase-1.2*.jar .
15、將上級目錄以phoenix-pherf-4.8.2-HBase-1.1開頭的jar包拷貝到當前目錄
cp ../phoenix-pherf-4.8.2-HBase-1.2*.jar .
16、將上級目錄以phoenix-pig開頭的jar包拷貝到當前目錄
cp ../phoenix-pig-4.8.2-HBase-1.2*.jar .
17、將上級目錄以phoenix-queryserver-開頭的jar包拷貝到當前目錄
cp ../phoenix-queryserver-*.jar .
18、將上級目錄以phoenix-spark開頭的jar包拷貝到當前目錄
cp ../phoenix-spark-4.8.2-HBase-1.2*.jar .
19、為phoenix/bin目錄下所有py文件增加執行權限
chmod +x *.py
20、修改queryserver.py文件內容
將%s-queryserver 改為phoenix-%s-server,如下
21、返回上級,執行如下代碼
rm -rf phoenix-core-4.8.2-HBase-1.2*.jar
rm -rf phoenix-flume-4.8.2-HBase-1.2*.jar
rm -rf phoenix-hive-4.8.2-HBase-1.2*.jar
rm -rf phoenix-pherf-4.8.2-HBase-1.2*.jar
rm -rf phoenix-pig-4.8.2-HBase-1.2*.jar
rm -rf phoenix-queryserver-*.jar
rm -rf phoenix-spark-4.8.2-HBase-1.2*.jar
執行后,效果如下
22、備份所有節點上的phoenix
23、將修改后的/usr/hdp/2.5.0.0-1245/phoenix拷貝到其他所有節點中/usr/hdp/2.5.0.0-1245目錄下
24、在安裝Metrics Collector節點上替換/usr/lib/ams-hbase/lib下的phoenix包
cd /usr/lib/ams-hbase/lib
rm -rf phoenix-*.jar
拷貝
cp /usr/hdp/2.5.0.0-1245/phoenix/lib/phoenix-core-4.8.2-HBase-1.2.jar .
cp /usr/hdp/2.5.0.0-1245/phoenix/phoenix-4.8.2-HBase-1.2-server.jar .
25、在安裝Metrics Collector節點上替換/usr/lib/ambari-metrics-collector下的phoenix包
cd /usr/lib/ambari-metrics-collector
rm -rf phoenix-*.jar
拷貝
cp /usr/hdp/2.5.0.0-1245/phoenix/lib/phoenix-core-4.8.2-HBase-1.2.jar .
cp /usr/hdp/2.5.0.0-1245/phoenix/phoenix-4.8.2-HBase-1.2-server.jar .
26、在替換phoenix的每個節點的/usr/hdp/2.5.0.0-1245/phoenix中,創建軟件連接
cd /usr/hdp/2.5.0.0-1245/phoenix
ln -s phoenix-4.8.2-HBase-1.2-client.jar phoenix-client.jar
ln -s phoenix-4.8.2-HBase-1.2-hive.jar phoenix-hive.jar
ln -s phoenix-4.8.2-HBase-1.2-pig.jar phoenix-pig.jar
ln -s phoenix-4.8.2-HBase-1.2-server.jar phoenix-server.jar
ln -s phoenix-4.8.2-HBase-1.2-thin-client.jar phoenix-thin-client.jar
27、啟動Hbase、Ambari Metrics
28、通過shell訪問(phoenix-sqlline localhost:2181:/hbase-unsecure)
如果,您認為閱讀這篇博客讓您有些收獲,不妨點擊一下右下角的【推薦】。
如果,您希望更容易地發現我的新博客,不妨點擊一下左下角的【關注我】。
如果,您對我的博客所講述的內容有興趣,請繼續關注我的后續博客,我是【劉超★ljc】。
本文版權歸作者,禁止轉載,否則保留追究法律責任的權利。