本文匯總了Alluxio使用時的常見問題。
錯誤提示:No FileSystem for scheme: alluxio
如果您是在創建E-MapReduce集群時選擇的Alluxio服務,是不會出現此類問題的。通常情況下,此類問題是由于您在E-MapReduce集群創建后,通過添加服務的方式添加的Alluxio服務,添加服務后沒有重啟服務。
添加完Alluxio服務后,您需要重啟服務來加載Hadoop配置。重啟服務的具體操作,請參見重啟服務。
如何排查Alluxio服務狀態異常的問題?
您需要報錯信息先查找Alluxio服務異常的節點,找到異常信息,然后查看Alluxio服務的異常日志來確認問題。
通常情況下,Alluxio服務的日志位于/mnt/disk1/log/alluxio/目錄下。
如何對OSS進行緩存加速?
E-MapReduce默認使用HDFS作為Alluxio的UFS,對于OSS目錄建議作為掛載點來使用。
alluxio fs mount --option fs.oss.accessKeyId=<OSS_ACCESS_KEY_ID> \
--option fs.oss.accessKeySecret=<OSS_ACCESS_KEY_SECRET> \
--option fs.oss.endpoint=<OSS_ENDPOINT> \
/oss_dir <path>/
<OSS_ACCESS_KEY_ID>
:阿里云賬號的AccessKey ID。<OSS_ACCESS_KEY_SECRET>
:阿里云賬號的AccessKey Secret。<OSS_ENDPOINT>
:OSS的地域。您可以在OSS的控制臺查看,通常為oss-xxxx-internal.aliyuncs.com形式。EMR集群需要和OSS在同一Region下,建議使用內網Endpoint,例如oss-cn-shanghai-internal.aliyuncs.com。<path>
:OSS上文件的路徑。例如,oss://<OSS_YOURBUCKETNAME>/<OSS_DIRECTORY>
,<OSS_YOURBUCKETNAME>
為您OSS Bucket的名稱。
如何配置Alluxio參數?
- 配置全局參數
您可以在E-MapReduce控制臺的Alluxio服務頁面,修改配置項,詳細信息請參見管理組件參數。
- 動態傳入配置
- Alluxio Shell
您可以登錄集群,通過
-Dproperty=value
格式的命令,添加自定義配置,代碼示例如下所示。alluxio fs copyFromLocal hello.txt /dir/tmp -Dalluxio.user.file.writetype.default=CACHE_THROUGH
- Spark作業
您可以通過對Spark executor的spark.executor.extraJavaOptions和Spark drivers的spark.driver.extraJavaOptions添加
-Dproperty=value
格式的命令,向Spark作業傳遞JVM環境參數。例如,提交Spark作業時,將Alluxio寫類型設置為CACHE_THROUGH,代碼片段示例如下所示。spark-submit \ --conf 'spark.driver.extraJavaOptions=-Dalluxio.user.file.writetype.default=CACHE_THROUGH' \ --conf 'spark.executor.extraJavaOptions=-Dalluxio.user.file.writetype.default=CACHE_THROUGH' \
- MapReduce作業
您可以在
hadoop jar
或yarn jar
命令后添加-Dproperty=value
格式的命令,向MapReduce作業傳遞屬性。例如,在MapReduce作業中,將Alluxio寫類型設置為CACHE_THROUGH,代碼片段示例如下所示。hadoop jar <HADOOP_HOME>/share/hadoop/mapreduce/hadoop-mapreduce-examples-x.x.x.jar wordcount \ -Dalluxio.user.file.writetype.default=CACHE_THROUGH \ -libjars /<PATH_TO_ALLUXIO>/client/alluxio-x.x.x.-client.jar \ <path1> <path2>
說明 代碼示例中的<path1>
為輸入文件的路徑,<path2>
為輸出文件的目錄,x.x.x
為JAR包的具體版本號。<HADOOP_HOME>/share/hadoop/mapreduce/hadoop-mapreduce-examples-x.x.x.jar
和<PATH_TO_ALLUXIO>/client/alluxio-x.x.x.-client.jar
均為示例。
- Alluxio Shell