天天看點

騰訊雲 EMR 常見問題100問 (持續更新)

emr 常見問題100問

寫在前面1:

騰訊雲EMR 元件簡介

1.1 Hadoop

Hadoop 目前是資料處理的标準工具,其核心元件包含了HDFS(分布式檔案系統)、YARN(資源排程平台)、

MapReduce(分布式疊代計算架構),騰訊雲EMR 提供的存儲除了支援HDFS 外還支援騰訊雲對象存儲COS。

1.2 Hive

Hive 是一個基于hadoop 的開源資料倉庫工具,用于存儲和處理海量結構化資料。它把海量資料存儲于hadoop檔案系統,而不是資料庫,但提供了一套類資料庫的資料存儲和處理機制,并采用HQL (類SQL )語言對這些資料 進行自動化管理和處理,騰訊雲EMR 提供的Hive 除了支援HDFS 作為存儲外,還支援騰訊雲對象存儲, 同時騰訊 雲EMR 提供的Hive 其計算引擎支援MR、SparkV2、Tez。

1.3 Hbase

是一個高可靠性、高性能、面向列、可伸縮、實時讀寫的分布式資料庫

1.4 Oozie

Oozie 是運作在hadoop 平台上的一種工作流排程引擎,它可以用來排程與管理hadoop 任務,如,MapReduce、Pig等

1.5 Zookeeper

Zookeeper 作為一個分布式的服務架構,主要用來解決分布式叢集中應用系統的一緻性問題,它能提供基于類似于 檔案系統的目錄節點樹方式的資料存儲,Zookeeper 作用主要是用來維護和監控存儲的資料的狀态變化,通過監控 這些資料狀态的變化,進而達到基于資料的叢集管理。

1.6 Hue

Hadoop 開發內建環境工具,您可以在hue 上執行hive 查詢、建立oozie 排程任務、管理yarn 任務、hbase 資料表管理以及hive 中繼資料管理等。

1.7 Spark

Spark 是基于記憶體計算的大資料分布式計算架構。Spark 基于記憶體計算,提高了在大資料環境下資料處理的實時性, 同時保證了高容錯性和高可伸縮性,允許使用者将Spark 部署在大量廉價硬體之上,形成叢集。

1.8 Storm

是一個分布式的,可靠的,容錯的資料流處理系統

1.9 Flink

是一個可伸縮的開源批處理和流處理平台。其核心子產品是一個資料流引擎,該引擎在分布式的流資料處理的基礎上

提供資料分發、交流、以及容錯的功能。

1.10 Sqoop

是一款用于hadoop 和關系型資料庫之間資料導入導出的工具。你可以通過sqoop 把資料從資料庫(比如

mysql,oracle)導入到hdfs 中;也可以把資料從hdfs 中導出到關系型資料庫中。sqoop 通過Hadoop 的MapReduce 導入導出,是以提供了很高的并行性能以及良好的容錯性。

寫在前面2:目前騰訊雲對外售賣版本為201版本,131版本不再售賣,存量維護

EMR2.0.1各售賣元件版本

flink 1.2.0

ganglia 3.7.2

hadoop 2.7.3

hbase 1.3.1

hive 2.3.2

hue 3.12.0

knox 1.2.0

oozie 4.3.1

presto 0.188

ranger 0.7.1

spark_hadoop2.7 2.2.1

sqoop 1.4.6

storm 1.1.0

tez 0.8.5

zookeeper 3.4.9

EMR1.3.1各元件版本

flink 1.2.0

ganglia 3.7.2

hadoop 2.7.3

hbase 1.2.4

hive 2.1.1

hue 3.12.0

oozie 4.3.1

presto 0.161

spark_hadoop2.7 2.0.2

sqoop 1.4.6

storm 1.1.0

tez 0.8.5

zookeeper 3.4.9

寫在前面3:

挖坑暫留

正題:常見問題100問:

1、spark 是否同時支援python2和python3,如果不是怎麼修改為python3,

另外在控制台建立完EMR叢集是否可以直接使用,需要做其他操作麼?在Hadoop.env.sh配置頁面看到java環境變量是這樣的,沒有export嗎?

騰訊雲 EMR 常見問題100問 (持續更新)

image.png

答:是同時支援python2.6 python2.7和python3

預設是2.6

2.7和3的版本在/usr/local/anacoda2 和anacoda3中有相應版本2.送出任務時候可以這樣切換

--conf spark.yarn.appMasterEnv.PYSPARK_DRIVER_PYTHON=/usr/local/python27/bin/python

--conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=/usr/local/python27/bin/python

3.建立可以直接使用

4.java_home有直接配置在/etc/profile中

問題2:關系型資料庫中 密碼被改掉那麼ooize與 hue 也無法使用需要改動哪裡呢?密碼預設路徑又是在哪裡呢?

答:hue的密碼在/usr/local/service/hue/desktop/conf/ pseudo-distributed.ini 第529 行

oozie的在/usr/local/service/oozie/conf/oozie-site.xml

修改完重新開機下程序會生效,可以直接kill,監控會自動拉起

問題3:請問客戶購買EMR的時候沒有選擇HBASE,現在想用是要重新購買嗎?

答:可以背景用流程後安裝,需要使用者提供叢集号來增補,增補的hbase為預設參數庫,如果生産使用需要使用SSD盤以及調整下參數

問題4:emr的hbase元件可以開通公網嗎?

答:如果想通過公網連接配接hbase,可以讓使用者通過連接配接thriftServer,來公網通路

問題5:emr支援動态的擴容縮容嗎?

答:支援的 core和task可以擴容,task節點可以支援縮容。都可以在控制台和api中支援

騰訊雲 EMR 常見問題100問 (持續更新)

image.png

問題6:客戶有1T的資料要同步到hbase,那就是購買的時候core節點選擇1T就可以了麼?還有其他名額需要注意的嗎?

答:1T資料購買是不夠, hdfs存儲3副本的, 而且還需要預留部分剩餘空間, 另外還需要考慮資料增長量

hbase推薦配置 ssd本地>ssd雲>本地盤>雲盤 高io機型>标準型

問題7:後續上線hbase後從emr的hbase遷移到獨立的hbase有什麼需要注意的嗎?或者有什麼工具可以直接遷過去?

答:可以備份後遷移

問題8:請問如何将 第三方的jar 自動化的包分發到 每個node的hive的lib 下面, 下面是在hive用戶端

導入bson 之後出現的問題:我現在需要用到superset這樣的bi平台工具, 是以不能輸入 add jar *.jar,這樣的指令,是以會出現下圖所示的問題

騰訊雲 EMR 常見問題100問 (持續更新)

image.png

答:https://my.oschina.net/cjun/blog/494692 讓使用者參考這個設定下額外的jar

hive需要引入jar包--HIVE.AUX.JARS.PATH和hive.aux.jars.path(HIVE以及OOZIE添加第三方JAR包的方法)

問題9:請問如何在 非叢集的機器上把 spark-submit 任務給叢集?

答:把 /usr/local/service/spark和/usr/local/service/hadoop 拷貝到機器上試試

2018.11.25增補

問題10:請問客戶要擴容master節點配置(記憶體)的話直接在CVM更新就可以了吧?備份節點和master節點的配置是否要保持一緻?

答;控制台更新最好,備份節點和master節點最好保持一緻,其他節點不需要保持一緻

問題11:請問一下咱們可以直接使用節點送出任務到叢集吧?不需要額外的client機器

答:是的,master可以送出,其他節點也可以。

問題12:master雲機配置做了更新(8C32G),但是emr的前端顯示為什麼還是舊的(4C16G)?

答:emr不是實時拉取CVM的配置,前台展示的是當時購買的規格,需要人工調整

問題13:原生的webhdfs方式無法保證namenode 飄移的情況下,通路處于actiavte的namenode;需要通過httpfs方式通路通路hdfs,

但是配套的元件預設隻有webhdfs,不能滿足客戶的使用場景,怎麼辦?

答:可以使用,用rpc方式的形式通路;用戶端是java的,可以使用native的方式通路

問題14:EMR core配置的普通雲盤客戶要調整到16T,但是我們控制台界面無法拉到這麼大,這是什麼原因?

騰訊雲 EMR 常見問題100問 (持續更新)

image.png

答:這個是cbs那邊的限制,使用包年包月可以到16T,CBS的按量計費隻能4T

問題15:用hive讀取COS的檔案,是否有HDFS對檔案分block和replica等這些提高計算并行度和吞吐量的特性呢?目前hdfs是預設的3個replica。

目前客戶用的是hive分析cos上的日志。但是發現速度計算速度非常慢,是以想确認一下,用hive分析cos上的檔案是否享有hdfs的優勢。

答:block & replica 對使用者都是不可見的。 資料放COS上,能節約些CPU時間,對計算密集型任務是有好處的。

問題16:請問EMR中有169.254.0.53這個IP的具體功能是什麼呢?

答:這個ip不是emr的特有ip,2022和2055是這個ip和我們背景通信的固定端口

問題17:EMR HBASE啥時能支援客戶從公網通路?

答:直接搭建個thriftserver就可以實作

問題18:客戶建立了一個EMR叢集 查詢出來有9台機器,最後這兩台是這個叢集中的嗎?

騰訊雲 EMR 常見問題100問 (持續更新)

image.png

答:ha叢集2個master 3個common ,3個core,1個tasknode,一共9個點

common 一定是本地盤,起zk和journalnode的

問題19:emr的hbase能在本地自建從庫麼,類似mysql在雲伺服器自建從庫那種?

答:hbase有自帶的通用export和import工具

問題20:spark-submit emr的元件的安裝目錄在哪裡?

答:spark-submit emr的元件是安裝裝/usr/local/service/spark下

問題21:想修改dfs.data.dir的路徑可以麼

答:dfs.data.dir屬于敏感字段,不提供使用者自定義修改,如果确實需要,請聯系背景特殊支援

問題22:為什麼點選檢視yarn的日志會這樣?難道跟這個問題一樣?

https://blog.csdn.net/stark_summer/article/details/47616773

騰訊雲 EMR 常見問題100問 (持續更新)

image.png

答:任務結束後,container已經不存在了,需要看過去的日志,需要上機器執行指令:

yarn logs --applicationId your_app_id 來檢視具體任務日志

問題23:emr-yarn監控界面無法檢視spark任務的history,點選history,無跳轉,這是怎麼回事?

騰訊雲 EMR 常見問題100問 (持續更新)

image.png

答:任務已經結束了,history資訊用曆史日志通過yarn logs看