1. 程式人生 > >presto叢集與hadoop,hive叢集整合

presto叢集與hadoop,hive叢集整合

Presto是一個開源的分散式SQL查詢引擎,適用於互動式分析查詢,資料量支援GB到PB位元組。Presto的設計和編寫完全是為了解決像Facebook這樣規模的商業資料倉庫的互動式分析和處理速度的問題。

叢集涉及到的外掛有hdfs,hive。presto版本:presto-0.152.3,hadoop版本hadoop-2.6.4,hive版本:hive-1.2.1,共三臺叢集。

遇到的主要問題有:

1.presto-0.152.3這個版本需要執行在jdk1.8以上

2.presto不支援lzo演算法,我們目前叢集的hadoop使用的lzo,暫時沒找到適合的解決方案。

3.hive的jline比hadoop版本高,把hive下的jline替換到hadoop的lib下面

4.hive再插入資料的時候報錯,列超過限制,需要mysql設定:alter database hive character set latin1;

一、hadoop配置好namenode,datanode。

二、hive配置:

1、hive-env.sh增加以下環境變數

export JAVA_HOME=/home/dc/dep/soft/java/jdk1.8.0_91
export HADOOP_HOME=/home/dc/dep/soft/hadoop/hadoop-2.6.4
e
xport HIVE_HOME=/home/dc/dep/soft/hive/hive-1.2.1

2、新建hive-site.xml

<configuration>    
<property>  
  <name>hive.metastore.warehouse.dir</name>  
  <value>/data/hive/warehouse</value>  
</property>  
   
<property>  
  <name>javax.jdo.option.ConnectionURL</name>  
  <value>jdbc:mysql://10.10.99.227:3306/test?createDatabaseIfNotExist=true</value>  
</property>  
   
<property>  
  <name>javax.jdo.option.ConnectionDriverName</name>  
  <value>com.mysql.jdbc.Driver</value>  
</property>  
   
<property>  
  <name>javax.jdo.option.ConnectionUserName</name>  
  <value>root</value>  
</property>  
   
<property>  
  <name>javax.jdo.option.ConnectionPassword</name>  
  <value>

root</value>  
</property>  
<property>  
  <name>hive.metastore.uris</name>  
  <value>thrift://10.10.99.227:9083</value>  
</property>
</configuration> 

如果presto需要與hive整合,依賴於hive的資料來源,需要由hive提供一個元資料服務。也就是hive.metastore.uris配置項。

三、presto配置

1、在presto根目錄下新建個etc資料夾,使用者儲存配置檔案。新建這些

2、config.properties配置檔案

coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8080
query.max-memory=2GB
query.max-memory-per-node=2GB
discovery-server.enabled=true
discovery.uri=http://10.10.99.227:8080

3、jvm.config配置檔案

-server
-Xmx1G
-XX:+UseConcMarkSweepGC
-XX:+ExplicitGCInvokesConcurrent
-XX:+CMSClassUnloadingEnabled
-XX:+AggressiveOpts
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill -9 %p
-XX:ReservedCodeCacheSize=150M

4、log.properties配置檔案

com.facebook.presto=INFO

5、node.properties配置檔案(node.id不能重複)

node.environment=production
node.id=XXXX
node.data-dir=/data/presto

6、catalog檔案下是資料來源配置,可以有hive,kafaka,關係型資料庫等等。。我這裡配置了hive.properties

connector.name=hive-cdh5
hive.metastore.uri=thrift://10.10.99.227:9083
hive.config.resources=/home/dc/dep/soft/hadoop/hadoop-2.6.4/etc/hadoop/core-site.xml,/home/dc/dep/soft/hadoop/hadoop-2.6.4/etc/hadoop/hdfs-site.xml

7、測試的時候需要一個presto客戶端,實際上就是一個presto-client.jar包,mv改名為presto

四、測試啟動順序

1、namenode

2、datanode

3、hive --service metastore

4、hive插入測試資料

create table course (id bigint, name string) partitioned by (pubdate string) row format delimited fields terminated by ','; 
load data local inpath '/home/dc/dep/soft/hive/course.txt' overwrite into table course partition (pubdate='2010-08-22');

5、./launcher run

6、執行下載改名的那個jar

./presto --server localhost:8080 --catalog hive --schema default

相關推薦

presto叢集hadoophive叢集整合

Presto是一個開源的分散式SQL查詢引擎,適用於互動式分析查詢,資料量支援GB到PB位元組。Presto的設計和編寫完全是為了解決像Facebook這樣規模的商業資料倉庫的互動式分析和處理速度的問題。 叢集涉及到的外掛有hdfs,hive。presto版本:pre

把kafka資料從hbase遷移到hdfs並按天載入到hive表(hbasehadoop為不同叢集)

需求:由於我們用的阿里雲Hbase,按儲存收費,現在需要把kafka的資料直接同步到自己搭建的hadoop叢集上,(kafka和hadoop叢集在同一個區域網),然後對接到hive表中去,表按每天做分割槽 一、首先檢視kafka最小偏移量(offset) /usr/local/kafka/bin/k

Linux下基於Hadoop的大資料環境搭建步驟詳解(HadoopHiveZookeeperKafkaFlumeHbaseSpark等安裝配置)

Linux下基於Hadoop的大資料環境搭建步驟詳解(Hadoop,Hive,Zookeeper,Kafka,Flume,Hbase,Spark等安裝與配置) 系統說明 搭建步驟詳述 一、節點基礎配置 二、H

搭建大資料處理叢集HadoopSparkHbase)

搭建Hadoop叢集 配置每臺機器的 /etc/hosts保證每臺機器之間可以互訪。 120.94.158.190 master 120.94.158.191 secondMaster 1、建立hadoop使用者 先建立had

大資料之hbase(四) --- rowkey設計原則模擬通話日誌BloomFilterphonix環境部署hive-hbase整合

一、rowkey設計 -- 模擬通話日誌 -------------------------------------------------- 1.建表 $hbase> create 'ns1:calllogs' , 'f1' 2.編寫

叢集簡單完全分散式叢集的搭建

 我是在root許可權下搭建的流程比較簡單                                            1.簡單單機Hadoop叢集(偽分散式)搭建流程 下載 JDK 與Hadoop壓縮包,將檔案傳入linux系統中 解壓配置環境: ①首先

Spark技術體系MapReduceHiveStorm幾種技術的關係區別

大資料體系架構: Spark記憶體計算與傳統MapReduce區別: SparkSQL與Hive的區別: SparkSQL替換的是Hive的查詢引擎,Hive是一種基於HDFS的資料倉庫,並且提供了基於SQL模型的,針對存了大資料的資料倉庫,進行分散式互動查

【科普雜談】一文看懂大資料的技術生態圈Hadoophivespark都有了

大資料本身是個很寬泛的概念,Hadoop生態圈(或者泛生態圈)基本上都是為了處理超過單機尺度的資料處理而誕生的。你可以把它比作一個廚房所以需要的各種工具。鍋碗瓢盆,各有各的用處,互相之間又有重合。你可以用湯鍋直接當碗吃飯喝湯,你可以用小刀或者刨子去皮。但是每個工具有自

hadoop,hbase,hive版本整合相容問題

hadoop,hbase,hive版本整合相容性最全,最詳細說明1.hadoop與hbase哪些版本相容?2.hadoop與hive哪些版本相容?3.hbase與hive哪些版本相容?4.hbase與zookeeper哪些版本相容?當我們想整合hadoop,hbase,hiv

一文看懂大資料的技術生態Hadoop hivespark都有了

大資料本身是個很寬泛的概念,Hadoop生態圈(或者泛生態圈)基本上都是為了處理超過單機尺度的資料處理而誕生的。你可以把它比作一個廚房所以需要的各種工具。鍋碗瓢盆,各有各的用處,互相之間又有重合。你可以用湯鍋直接當碗吃飯喝湯,你可以用小刀或者刨子去皮。但是每個工具有自己的特

SpringBoot和hadoop元件Hive整合(填坑)

說實話,SpringBoot和Hive的整合還是有不少坑的,最主要的坑就是jar包衝突的問題,這個坑我這裡添了我遇到的坑,我提供了原始碼,放在後邊的連結中,以下是部分的程式碼。 1.上maven依賴,如下: <project xmlns="http://maven.

hadoop叢集啟動之後datanode程序未啟動解決辦法

這種情況一般是由於自己進行hadoop格式化的時候沒有事先結束所有程序,或者在開啟一次hadoop叢集,發現配置不對,這時重新 hadoop namenode -format  就會出問題 因為此時你format之後, datanode的clusterID 和 namenode的clu

hadoop叢集啟動後發現所有程序都在唯獨沒有master節點的namenode程序

這個時候,去logs/目錄下檢視日誌 cat hadoop-had_user-namenode-master.log 得到結果: java.io.IOException: There appears to be a gap in the edit log.  We expect

大資料之(2)修改Hadoop叢集日誌目錄資料存放目錄

Hadoop有時會有unhealthy Node不健康的非Active節點存產生,具體錯誤內容如下。 一、錯誤內容 -== log-dirs usable space is below configured utilization percentage/no more usabl

Hadoop ha CDH5.15.1-hadoop叢集啟動後兩個namenode都是standby模式

         Hadoop ha CDH5.15.1-hadoop叢集啟動後,兩個namenode都是standby模式                                              作者:尹正傑 版權宣告:原創作品,謝絕轉載!否則將追究法律責任。   &nb

在搭建Hadoop 分散式叢集的時候多次格式化檔案系統啟動hdfs,yarn後jps 發現datanode為啟動

可以參考:https://www.cnblogs.com/dxwhut/p/5679501.html https://blog.csdn.net/baidu_15113429/article/details/53739734 https://www.cnblogs.com/lishpei/p

入門學習Hadoop1:VMware上搭建hadoop伺服器Centos7叢集並設定SSH免密登入。

修改主機名:hostnamectl set-hostname master 檢視自己虛擬機器閘道器IP為多少 修改ip:vim /etc/sysconfig/network-scripts/ifcfg-ens32 master:192.168.187.100

Spring Boot整合Hazelcast實現叢集分散式記憶體快取

Hazelcast是Hazelcast公司開源的一款分散式記憶體資料庫產品,提供彈性可擴充套件、高效能的分散式記憶體計算。並通過提供諸如Map,Queue,ExecutorService,Lock和JCache等Java的許多開發人員友好的分散式實現。 瞭解Hazelcast Hazelcast特性 簡單易

從零搭建hadoop高可用叢集hbase

一,叢集規劃 PC01 PC02 PC03 NameNode NameNode hive ZKFC ZKFC ntpd ResourceManager ResourceManager DataNode DataNode DataN

hadoop叢集的安裝及基本概念。

導讀 偽叢集的意思就是說我們可以在多臺計算機上面安裝hadoop,但是不具有高可用和共容錯,這適用於開發環境。 我們首先下載hadoop的安裝包,我使用的cdh版本的5.14.0,你可以在該網址找到他, 首先我們說一下hadoop的配置檔案的分類: hadoop的配置