在谷歌趨勢上看,spark全球火,而hawq除了中國其他地方也比較火,尤其德國芬蘭hawq火。有意思的是hawq的開發團隊的老大是華人,是北京某著名大學的08屆博士!團隊也有好多華人
hive的感覺很呆板,spark天馬行空但吃內存並發底。pgsql-->greenplum-->hawq,一路走來,hawq算是夠了。hawq的缺點是開發麻煩,CPP語言么!spark用scala語言,代碼量少,開發快。
hawq是計算存儲分離,使用p2p udp快速傳輸數據。而spark計算和存儲一體,RDD盡量放入內存,占用內存大。
還有,hawq應該不用mapred模型,所以這個實驗你不配置mapred也沒關系了。
我單節點裝了hawq,從源代碼編譯。到20170411:22:17:13:452250 hawq_init:t430:gpadmin-[INFO]:-Init HAWQ cluster successfully
做個筆記。有同行用到了,最好不過。
主要安裝資料
Apache Hadoop 2.7.3 – Hadoop: Setting up a Single Node Cluster.
https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz
但節點安裝hadoop,而非local模式.。hadoop應該放在/home下,而非用戶目錄下,更不應該是/root下。否則很麻煩
因為hawq資源管理配置文件里可以用no,而非yarn,所以yarn可以不裝。no表示用hawq自己的資源管理框架。
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=61320026 這是apache社區的資料。英文。
https://mp.weixin.qq.com/s?__biz=MzAwMzcyMzEyOQ==&mid=2656640507&idx=1&sn=5c4c48d1aa082374ac59adf0ea51a648&pass_ticket=SMMJxi09RPEUiBXeCWsaJyIycUFKmjbaEQNm1IjphVzh5mvtC3ODZpWPI2skvTOp
這是hawq中文的weixin號的文章。
編譯完后,hawq被裝在/usr/local/hawq下。要求gpadmin對hawq/etc有完全權限。我設owner是gpadmin,然后目錄和文件權限777了。
然后hawq init cluster是以gpadmin身份執行的。
下面把配置文件貼下。
[root@t430 hadoop]# cat bash_profile export base1=/home export JAVA_HOME="$base1/hadoop/jdk1.8.0_111" export SCALA_HOME="$base1/hadoop/scala-2.11.8" export HADOOP_HOME="$base1/hadoop/hadoop-2.7.3" export SPARK_HOME="$base1/hadoop/spark-2.1.0-bin-hadoop2.7" export PATH="$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SPARK_HOME/bin:$PATH" export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop [root@t430 hadoop]#
配置文件中spark和scala是另一個里面的,您不需要這兩項。
注意,hawq中hdfs 端口認8020,而hadoop2.7.3默認是9000。這個我們改hadoop這邊的。
涉及到環境變量自動設置的問題。每次登陸都執行一次source bash_profile不應該吧。可以cat bash_profile>>~/.bashrc ,就是把環境變量內容追加到.bashrc中,用戶登陸時會自動初始化。建議把/usr/local/hawq/gree*.sh也追加到bashrc中。
編譯hawq要下載很多東西。
make
-j8
這個命令有用,雖然名字起的很隨意。要用的。用的時候下載了一堆java的東西,又慢,所以配置了maven的aliyun鏡像,簡直快。
[root@t430 ~]# cat ~/.m2/settings.xml <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>ibiblio</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url> </mirror> </mirrors> </settings> [root@t430 ~]#
然后注意啟動start-dfs.sh之前,要用su hdfs 切換用戶到hdfs。否則對應本地目錄的所有人是root,可能會有問題。啟動完后,切換到gpadmin 啟動hawq init cluster。
最近spark冷了,產品沒以前那么火,郁悶。我隨筆,不懂問我。