Mac單機Hadoop2.7下安裝Spark2.2+配置SparkSQL查詢Hive表+spark-sql CLI 查詢
下面簡單記錄mac單機spark安裝測試的過程
- 單機Mac安裝spark並做簡單yarn模式shell測試
- 配置SparkSQL查詢Hive
- spark-sql CLI 查詢Hive
一、安裝Spark
1-下載安裝scala
移動至/Users/使用者名稱xxx/Software/scala-2.10.4下
tar -zxvf scala-2.10.4.tgz
配置環境變數
vi ~/.bash_profile
export SCALA_HOME=/Users/使用者名稱xxx/Software/scala-2.10.4
export PATH=PATH:PATH:{SCALA_HOME}/bin
source
測試
scala -version
2-下載安裝Spark
http://spark.apache.org/downloads.html
下載spark-2.2.1-bin-hadoop2.7.tgz.
解壓至/Users/使用者名稱xxx/Documents/software/spark
spark-2.2.1 資料夾及子檔案的和使用者設為hadoop的安裝使用者如使用者名稱xxx
chown -R 使用者名稱xxx spark-2.2.1
修改conf資料夾spark-env.sh和slaves
cp spark-env.sh.template spark-env.sh
在spark-env.sh新增
export SCALA_HOME=/Users/使用者名稱xxx/Software/scala-2.10.4
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.121-2.6.8.0.el7_3.x86_64
export SPARK_MASTER_IP=localhost
export SPARK_WORKER_MEMORY=1g
export HADOOP_CONF_DIR=/data/hadoop-2.7.3/etc/hadoop
具體可以執行下面的命令
chown -R 使用者名稱比如使用者名稱xxx spark2.2.1
cp spark-env.sh.template spark-env.sh
echo "export SCALA_HOME=/Users/使用者名稱xxx/Software/scala-2.10.4" >> spark-env.sh
echo "export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/home" >> spark-env.sh
echo "export SPARK_MASTER_IP=localhost" >> spark-env.sh
echo "export SPARK_WORKER_MEMORY=1g" >> spark-env.sh
echo "export HADOOP_CONF_DIR=/Users/使用者名稱xxx/Documents/software/hadoop/hadoop-2.7.4/etc/hadoop" >> spark-env.sh
這裡單機不用配置slaves
二、啟動Spark並做簡單yarn模式的shell測試
1-啟動Spark
在sbin資料夾下執行, start-all.sh
localhost:~/Documents/software/spark/spark2.2.1/sbin$ jps.
39793 Master
39826 Worker
2-WebUI
hive> load data local inpath '/Users/hjw/Documents/software/hive/student.txt' into table hive_test.student;
Loading data to table hive_test.student
OK
Time taken: 0.386 seconds
查詢資料
hive> select * from hive_test.student;
OK
1001 zhangsan
1002 lisi
Time taken: 1.068 seconds, Fetched: 2 row(s)
3-啟動yarn mode的spark-shell
yarn模式啟動spark-shell
spark2.2.1/bin$ spark-shell –num-executors 1 –executor-memory 512m –master yarn-client
4-執行測試
在spark-shell中執行
val file=sc.textFile("hdfs://localhost:9000/user/hive/warehouse/hive_test.db/student")
val rdd = file.flatMap(line => line.split("\t")).map(word => (word,1)).reduceByKey(_+_)
rdd.take(10)
scala> val file=sc.textFile("hdfs://localhost:9000/user/hive/warehouse/hive_test.db/student")
file: org.apache.spark.rdd.RDD[String] = hdfs://localhost:9000/user/hive/warehouse/hive_test.db/student MapPartitionsRDD[39] at textFile at <console>:24
scala> val rdd = file.flatMap(line => line.split("\t")).map(word => (word,1)).reduceByKey(_+_)
rdd: org.apache.spark.rdd.RDD[(String, Int)] = ShuffledRDD[42] at reduceByKey at <console>:26
scala> rdd.take(10)
res12: Array[(String, Int)] = Array((zhangsan,1), (1001,1), (1002,1), (lisi,1))
5-退出spark-shell
退出spark-shell,輸入 “:quit”
6-關閉spark
/software/spark/spark2.2.1/sbin$ ./stop-all.sh
localhost: stopping org.apache.spark.deploy.worker.Worker
stopping org.apache.spark.deploy.master.Master
三、配置SparkSQL讀取Hive資料
為了讓Spark能夠連線到Hive資料倉庫,需要將Hive中的hive-site.xml檔案拷貝到Spark的conf目錄下,Spark通過這個配置檔案找到Hive的元資料,完成資料讀取。
1-已安裝單機Hive
hive –service metastore &
啟動hive shell查詢資料
hive> select * from student;
OK
1001 zhangsan
1002 lisi
Time taken: 1.164 seconds, Fetched: 2 row(s)
2-將Hive中hive-site.xml檔案拷貝到Spark的conf目錄
- 將Hive中的hive-site.xml檔案拷貝到Spark的conf目錄
- 重新啟動spark,在sbin資料夾下 執行:start-all.sh
3-啟動spark-shell
yarn模式啟動spark-shell,spark2.2.1/bin$ spark-shell –num-executors 1 –executor-memory 512m –master yarn-client
4-SparkSQL查詢Hive資料
scala> val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
warning: there was one deprecation warning; re-run with -deprecation for details
sqlContext: org.apache.spark.sql.hive.HiveContext = [email protected]27210a3b
scala> sqlContext.sql(" SELECT * FROM hive_test.student")
18/01/11 22:15:00 WARN conf.HiveConf: HiveConf of name hive.metastore.hbase.aggregate.stats.false.positive.probability does not exist
18/01/11 22:15:00 WARN conf.HiveConf: HiveConf of name hive.llap.io.orc.time.counters does not exist
18/01/11 22:15:00 WARN conf.HiveConf: HiveConf of name hive.tez.task.scale.memory.reserve-fraction.min does not exist
18/01/11 22:15:00 WARN conf.HiveConf: HiveConf of name hive.orc.splits.ms.footer.cache.ppd.enabled does not exist
18/01/11 22:15:00 WARN conf.HiveConf: HiveConf of name hive.server2.metrics.enabled does not exist
。。。。。
18/01/11 22:15:01 WARN conf.HiveConf: HiveConf of name hive.msck.path.validation does not exist
18/01/11 22:15:01 WARN conf.HiveConf: HiveConf of name hive.tez.task.scale.memory.reserve.fraction does not exist
18/01/11 22:15:01 WARN conf.HiveConf: HiveConf of name hive.compactor.history.reaper.interval does not exist
18/01/11 22:15:01 WARN conf.HiveConf: HiveConf of name hive.tez.input.generate.consistent.splits does not exist
18/01/11 22:15:01 WARN conf.HiveConf: HiveConf of name hive.server2.xsrf.filter.enabled does not exist
18/01/11 22:15:01 WARN conf.HiveConf: HiveConf of name hive.llap.io.allocator.alloc.max does not exist
res0: org.apache.spark.sql.DataFrame = [id: int, name: string]
以上有錯誤,報錯沒有啟動hive server,另開一個終端執行:hive –service hiveserver2 &,啟動hiveserver2
t:~$ hive --service hiveserver2 &
[1] 43667
spark-shell,重新查詢Hive
scala> sqlContext.sql(" SELECT * FROM hive_test.student")
res1: org.apache.spark.sql.DataFrame = [id: int, name: string]
scala> sqlContext.sql(" SELECT * FROM hive_test.student").collect().foreach(println)
[1001,zhangsan]
[1002,lisi]
四、spark-sql CLI 查詢
將hive-site.xml複製到spark的conf下,執行
下載mysql-connector-java-5.1.45-bin.jar,
https://dev.mysql.com/downloads/file/?id=474257
放在了/Users/xxx/Documents/software/spark/spark2.2.1/classpath
.spark2.2.1/bin$ spark-sql --driver-class-path /Users/xxx/Documents/software/spark/spark2.2.1/classpath/mysql-connector-java-5.1.45-bin.jar
嘗試新增--driver-class-path
也可以,比如直接執行spark-sql,或者spark-sql –master yarn
在啟動spark-sql時,如果不指定master,則以local的方式執行,master既可以指定standalone的地址,也可以指定yarn;
當設定master為yarn時(spark-sql –master yarn)時,可以通過http://hadoop000:8088頁面監控到整個job的執行過程;
注:如果在$SPARK_HOME/conf/spark-defaults.conf中配置了spark.master spark://hadoop000:7077,那麼在啟動spark-sql時不指定master也是執行在standalone叢集之上。
進入spark-sql
spark-sql> select * from hive_test.student;
。。。
1001 zhangsan
1002 lisi
Time taken: 3.306 seconds, Fetched 2 row(s)
開始一直報錯,多少嘗試好了,原因再找吧,抓緊睡覺
開始報can not access hivemeta
後來多次嘗試可以了,什麼原因???
INFO metastore.ObjectStore: Setting MetaStore object pin classes with hive.metastore.cache.pinobjtypes="Table,StorageDescriptor,SerDeInfo,Partition,Database,Type,FieldSchema,Order"
相關推薦
Mac單機Hadoop2.7下安裝Spark2.2+配置SparkSQL查詢Hive表+spark-sql CLI 查詢
下面簡單記錄mac單機spark安裝測試的過程 單機Mac安裝spark並做簡單yarn模式shell測試 配置SparkSQL查詢Hive spark-sql CLI 查詢Hive 一、安裝Spark 1-下載安裝scala 移動至
centos6.7下安裝ambari2.2.2出現的幾種問題
1.首先是語言問題,中文會導致報錯. 修改 /etc/sysconfig/i18n 改為LANG="en_US.UTF-8" 重啟 2.其次Ambari agent machine hostname (localhost.localdomain) does not matc
Win10 下安裝Spark2.3,hadoop2.7 教程
0:安裝材料: (1) jdk-8u171-windows-x64 (2) scala-2.11.8 (3) spark-2.3.1-bin-hadoop2.7.rar (4) hadoop-2.7.6.rar 1:下載連結 2:安裝過程 (1) 安裝jdk環
虛擬機器安裝spark2.2+hadoop2.7.3
安裝VisualBox和作業系統 官網下載VisualBox安裝檔案.並安裝。 ubuntu官網下載最新版本得ubuntu安裝檔案。 visualBox新建64位ubuntu,並啟動虛擬機器。 跟著提示選擇ubuntu安裝檔案,就可以很順利的裝好系統了。
MAC下hadoop2.7.3安裝
1、準備環境 作業系統:Mac OS X 10.11.6 JDK:1.8.0_111 Hadoop:2.7.3 2、配置ssh 首先確認能夠遠端登入 系統偏好設定-共享 在終端執行 ssh-keygen -t rsa 一路回車就行 會在~/.ss
Linux下安裝python-2.7 先zlib
2018-04-25 釋出 Linux下安裝python-2.7 py
CentOS6.5下安裝Hadoop-2.7.3(圖解教程)
17. node 內容 apr ddbd 忽略 passwd frame shuffle 註:圖片如果損壞,點擊文章鏈接:https://www.toutiao.com/i6627365258090512909/ 安裝好虛擬機(3個節點) YUM源已安裝好、系統版本Ce
Window 7下QT5.9.2安裝、QTCreator偵錯程式配置
QT 5.9.2下載 QT在5.9版本及以上將不同的編譯器的版本放在同一個檔案qt-opensource-windows-x86-5.9.x.exe中,所以只需要此檔案即可,連結:qt-opensource-windows-x86-5.9.2.exe。首次下載
Mac下安裝VTK6.2,並在Qt上使用VTK
最近要在mac執行一個Qt工程,需要使用OpenCV+ITK+VTK,搞了好久才搞定。我只想說,vtk+itk在mac上的資料真心少,雖然osx和linux的安裝配置大體一樣,但是就是那些許差異埋得坑真是磨人(特別是對於身為新手而言,淚奔啊´╮(╯﹏╰)╭
在 CentOS 7.2 下安裝 Hadoop 2.7.5 並搭建偽分散式環境的方法
資源下載 一、建立 Hadoop 使用者 建立 hadoop 使用者,並分配以使用者名稱為家目錄/home/hadoop,並將其加入到sudo使用者組,建立好使用者之後,以 hadoop 使用者登入: sudo useradd
CentOS 7下安裝Kafka單機版
詳細安裝步驟 下載kafka_2.10-0.10.0.0.tgz到/data/soft目錄 進入解壓目錄(在此為/data/app/Kafka/kafka_2.10-0.10.0.0/bin),啟動
CentOS 7下安裝 Zookeeper單機版
一、環境作業系統和軟體版本介紹 1.環境作業系統為CentOS Linux release 7.2.1511 (Core) 可用cat /etc/RedHat-release查詢 2.軟體版本 Zookeeper版本為:3.4.9 注意:請用java –ve
windows下安裝apache2.2 + python2.7 + django(mod_wsgi整合)
網上好像沒有基於python2.7和django框架的集成於是決定靠google+baidu搞一個出來,畢竟開源是強大的。 作者:by海濤(ppgs8903)--------------2012.11.10 對應軟體使用版本: Apache:Apache
Mac OSX 正確地同時安裝Python 2.7 和Python3
Python3出來了(其實已經出來很久了,暈)! 但是還是有很多library還是使用Python2.7,所以要怎麼在Mac裡面同時裝這兩個版本,並且和系統所使用的Python區分開來呢?今天要寫的是如何第一次就正確安裝好,並且切換預設版本,不在誤用系統的Python。 主要就這幾個步驟而已,不會太困難
mac OS 10.11.6 安裝 Hadoop 2.7.3
1、準備環境 作業系統:Mac OS X 10.11.6 JDK:1.8.0_111 Hadoop:2.7.3 2、配置ssh 首先確認能夠遠端登入 系統偏好設定-共享 在終端執行 ssh-keyagent -t 一
【Hadoop】Hadoop2.7.3安裝Hive 2.1.0
第一步: 下載最新的hive,直接去apache 裡面找hive2.1.0下載就行。 第二步,解壓到伺服器 tar zxvf apache-hive-2.0.0-bin.tar.gz mv apache-hive-2.0.0-bin /hom
【Redis】2、CentOS 7 上安裝 redis3.2.3安裝與配置
sync 倉庫 ace /var/ 發現 wan sudo base str 一、redis源碼安裝 【更正】現在最新穩定的版本已經到了3.2.8 截至到2016.8.11,redis最新穩定版本為3.2.3.本篇文章我們就以此版本為基礎,進行相關的講解。 下載redis源
【原創 Spark動手實踐 1】Hadoop2.7.3安裝部署實際動手
dmi 遠程 nag proc host 一個 error img 連接 目錄: 第一部分:操作系統準備工作: 1. 安裝部署CentOS7.3 1611 2. CentOS7軟件安裝(net-tools, wget, vim等) 3. 更新CentOS
CentOS 7下安裝使用Github
git push 文件 rep ica not 使用 管理系統 非root oba 在虛擬機安裝了QT以後,想把工程代碼放在版本管理系統軟件裏面,免得一遍遍創建checkpoint麻煩的要死。又因為虛擬機跟物理機數據很難交互,只好借助github了。搜了搜安裝配置方法,記錄
物理機在windows 7 下安裝redhat 7(雙系統)
物理機在windows 7 下安裝redhat 7(雙系統)linux 物理機掛載 真實機掛載 紅帽7 老唐 安裝之前,我們先把紅帽7的鏡像文件刻入U盤,用於後面在物理機上安裝linux。刻入工具我們用UltraISO 這個軟件。UltraISO 軟件大家可以在百度下載!!!打開軟件選擇 紅帽7