Alluxio 簡單使用

一利职、 Alluxio HA

  1. 下載 tar 包,這里選擇了 2.0 版本惫确,下載后解壓到 cdh01

  2. ssh 免密

  3. 配置:cp conf/alluxio-site.properties.template conf/alluxio-site.properties

    # 主節(jié)點手报,使用 ip 的形式,每個主節(jié)點配置自己的 ip改化,worker 節(jié)點不配置
    alluxio.master.hostname=192.168.12.38
    # 配置日志文件目錄
    alluxio.master.journal.folder=hdfs://nameservice1/alluxio/journal/
    # 必須配置掩蛤,否則啟動報錯,默認(rèn)使用 EMBEDDED陈肛,和 zookeeper 高可用不可共用
    alluxio.master.journal.type=UFS
    
    # 必須配置揍鸟,否則啟動報錯,且每個節(jié)點需創(chuàng)建該文件夾
    alluxio.worker.tieredstore.level0.dirs.path=/opt/alluxio-2.0.0/ramdisk
    
    # zk 高可用
    alluxio.zookeeper.enabled=true
    alluxio.zookeeper.address=cdh01:2181,cd02:2181,cdh07:2181
    alluxio.zookeeper.session.timeout=120s
    
    # 關(guān)聯(lián)hdfs配置文件
    alluxio.underfs.hdfs.configuration=/etc/hadoop/conf/core-site.xml:/etc/hadoop/conf/hdfs-site.xml
    
  4. 配置 conf/alluxio-env.sh句旱,添加 JAVA_HOME :export JAVA_HOME=/usr/local/jdk1.8.0_231

  5. 配置 conf/nasters 及 conf/workers

  6. 分發(fā)到所有 master 和 worker 節(jié)點阳藻!

  7. 在任一臺 master 節(jié)點運行格式化操作:./bin/alluxio format

  8. 在任一臺 master 節(jié)點啟動:./bin/alluxio-start.sh all SudoMount,倘若報錯谈撒,就去每臺 worker 節(jié)點先執(zhí)行 ./bin/alluxio-start.sh worker 腥泥,然后再 ./bin/alluxio-stop.sh all -> ./bin/alluxio-start.sh all

  9. ./bin/alluxio fs leader 確定 leader,然后頁面訪問 http://<LEADER_HOSTNAME>:19999

二啃匿、HDFS 集成 Alluxio

報錯: java.io.IOException No FileSystem for scheme: alluxio

2.1蛔外、Configuring core-site.xml

首先在 CDH 集群 core-site.xml 中添加:

<property>
  <name>fs.alluxio.impl</name>
  <value>alluxio.hadoop.FileSystem</value>
</property>
<property>
  <name>alluxio.zookeeper.enabled</name>
  <value>true</value>
</property>
<property>
  <name>alluxio.zookeeper.address</name>
  <value>cdh01:2181,cdh02:2181,cdh07:2181</value>
</property>

2.2蛆楞、Configuring HADOOP_CLASSPATH

In order for the Alluxio client jar to be available to the MapReduce applications, you must add the Alluxio Hadoop client jar to the $HADOOP_CLASSPATH environment variable in hadoop-env.sh.

In the “YARN (MR2 Included)” section of the Cloudera Manager, in the “Configuration” tab, search for the parameter “Gateway Client Environment Advanced Configuration Snippet (Safety Valve) for hadoop-env.sh”. Then add the following line to the script:

HADOOP_CLASSPATH=/opt/alluxio-2.0.0/client/alluxio-2.0.0-client.jar:${HADOOP_CLASSPATH}

三、Spark 集成 Alluxio

3.1夹厌、配置

可直接通過如下命令的方式運行:

spark2-submit --master yarn --conf "spark.driver.extraClassPath=/opt/alluxio-2.0.0/client/alluxio-2.0.0-client.jar" --conf "spark.executor.extraClassPath=/opt/alluxio-2.0.0/client/alluxio-2.0.0-client.jar"

如果運行中配到如下錯誤:

alluxio.exception.status.UnauthenticatedException: Plain authentication failed: User yarn is not configured for any impersonation. impersonationUser: intellif

在 alluxio-site.properties 中添加如下配置豹爹,并重啟 alluxio 集群。

# 配置用戶模擬矛纹,允許yarn用戶模擬任意用戶
alluxio.master.security.impersonation.yarn.users=*

# 或者配置下面一大段
alluxio.master.security.impersonation.root.users=*
alluxio.master.security.impersonation.root.groups=*
alluxio.master.security.impersonation.client.users=*
alluxio.master.security.impersonation.client.groups=*
alluxio.security.login.impersonation.username=none

3.2臂聋、Spark SQL 讀取 Alluxio

# 拷貝數(shù)據(jù)
./bin/alluxio fs copyFromLocal LICENSE /Input

spark2-shell --master yarn --conf "spark.driver.extraClassPath=/opt/alluxio-2.0.0/client/alluxio-2.0.0-client.jar" --conf "spark.executor.extraClassPath=/opt/alluxio-2.0.0/client/alluxio-2.0.0-client.jar"

進(jìn)入 spark-shell 后運行:

val s = sc.textFile("alluxio://cdh02:19998/Input") // 地址選 leader 地址
val double = s.map(line => line + line)
double.saveAsTextFile("alluxio://cdh02:19998/Output")

四、Hive 集成 Alluxio

4.1或南、配置

在 hive-env.sh 中添加如下配置:

HIVE_AUX_JARS_PATH=/opt/alluxio-2.0.0/client/alluxio-2.0.0-client.jar:${HIVE_AUX_JARS_PATH}

同時在 alluxio 配置文件 alluxio-site.properties 中添加:

alluxio.master.security.impersonation.hive.users=*

4.2孩等、Hive 內(nèi)部表關(guān)聯(lián) Alluxio

# 下載文件
wget http://files.grouplens.org/datasets/movielens/ml-100k.zip
# 解壓
unzip ml-100k.zip
# 拷貝到 alluxio,使用 alluxio://hostname:19998 訪問失敗迎献,改為 alluxio://zk@zkHost1:2181,zkHost2:2181,zkHost3:2181/path
./bin/alluxio fs mkdir /ml-100k
./bin/alluxio fs copyFromLocal /home/intellif/wqf/ml-100k/u.user alluxio://zk@cdh01:2181,cdh02:2181,cdh07:2181/ml-100k/u.user

alluxio ui:

建立 hive 表瞎访,把路徑關(guān)聯(lián)上即可,和 hdfs 上的表操作差不多:

CREATE TABLE u_user (
  userid INT,
  age INT,
  gender CHAR(1),
  occupation STRING,
  zipcode STRING)
  ROW FORMAT DELIMITED
  FIELDS TERMINATED BY '|'
  STORED AS TEXTFILE
  LOCATION 'alluxio://zk@cdh01:2181,cdh02:2181,cdh07:2181/ml-100k';

其實只要指定 location 就行吁恍,其他的話和以前沒啥區(qū)別扒秸。

然后可進(jìn)行查詢等操作:

select * from u_user;

4.3、調(diào)整原有 hdfs 上的表讀取 alluxio

場景是以前的 hive 表是直接讀取 hdfs 的冀瓦,現(xiàn)在需要調(diào)整為 alluxio伴奥,這個場景帶來的效果是,第一次讀取表的時候還是讀取 hdfs翼闽,但是讀取完成時候拾徙,數(shù)據(jù) hdfs 上加載到 alluxio 上,這個操作的前提是 alluxio 的根路徑需要和 hdfs 的根路徑關(guān)聯(lián)感局,這個需要補充的是這里只要實現(xiàn) hdfs 的路徑和 alluxio 是重疊的尼啡,alluxio 可以感知到路徑被讀取了,需要調(diào)整配置询微,重啟 alluxio:

alluxio.master.mount.table.root.ufs=hdfs://nameservice1/

接下來的是表的操作崖瞭,首先是建立一張普通表:

CREATE TABLE u_user_3 (
  userid INT,
  age INT,
  gender CHAR(1),
  occupation STRING,
  zipcode STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '|'
STORED AS TEXTFILE ;

再導(dǎo)入數(shù)據(jù):

LOAD DATA LOCAL INPATH '/home/intellif/ml-100k/u.user' OVERWRITE INTO TABLE u_user_3;

desc formatted u_user_3;
OK
# col_name              data_type               comment             
         
userid                  int                                         
age                     int                                         
gender                  char(1)                                     
occupation              string                                      
zipcode                 string                                      
         
# Detailed Table Information         
Database:               bigdata_odl              
OwnerType:              USER                     
Owner:                  admin                    
CreateTime:             Tue May 26 16:28:02 CST 2020     
LastAccessTime:         UNKNOWN                  
Protect Mode:           None                     
Retention:              0                        
Location:               hdfs://nameservice1/user/hive/warehouse/bigdata_odl.db/u_user_3

這里只是普通操作,數(shù)據(jù)還是存儲在 hdfs 中撑毛,接下來需要修改表的存儲路徑到 alluxio 中:

alter table u_user_3 set location "alluxio://zk@cdh01:2181,cdh02:2181,cdh07:2181/user/hive/warehouse/bigdata_odl.db/u_user_3";

再對這個表查詢:

select count(*) from  u_user_3;

再去 alluxio 中可以看到表數(shù)據(jù)被 cache 住了书聚。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市藻雌,隨后出現(xiàn)的幾起案子雌续,更是在濱河造成了極大的恐慌,老刑警劉巖胯杭,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件驯杜,死亡現(xiàn)場離奇詭異,居然都是意外死亡做个,警方通過查閱死者的電腦和手機(jī)艇肴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門腔呜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人再悼,你說我怎么就攤上這事∠サ” “怎么了冲九?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長跟束。 經(jīng)常有香客問我莺奸,道長,這世上最難降的妖魔是什么冀宴? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任灭贷,我火速辦了婚禮,結(jié)果婚禮上略贮,老公的妹妹穿的比我還像新娘甚疟。我一直安慰自己,他們只是感情好逃延,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布览妖。 她就那樣靜靜地躺著,像睡著了一般揽祥。 火紅的嫁衣襯著肌膚如雪讽膏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天拄丰,我揣著相機(jī)與錄音府树,去河邊找鬼。 笑死料按,一個胖子當(dāng)著我的面吹牛奄侠,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播站绪,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼遭铺,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了恢准?” 一聲冷哼從身側(cè)響起魂挂,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎馁筐,沒想到半個月后涂召,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡敏沉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年果正,在試婚紗的時候發(fā)現(xiàn)自己被綠了炎码。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡秋泳,死狀恐怖潦闲,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情迫皱,我是刑警寧澤歉闰,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站卓起,受9級特大地震影響和敬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜戏阅,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一昼弟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧奕筐,春花似錦舱痘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至笆怠,卻和暖如春铝耻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蹬刷。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工瓢捉, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人办成。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓泡态,卻偏偏與公主長得像,于是被迫代替她去往敵國和親迂卢。 傳聞我的和親對象是個殘疾皇子某弦,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353