【本文详细介绍了Spark中Tachyon使用过程中的问题总结及新版本配置差异,欢迎读者朋友们阅读、转发和收藏!】
1 加载数据时,内存空间不足:
在 Tachyon 中,数据只能本地存储,即 Tachyon 的客户端程序运行在哪台机器上,数据就会存储在该台机器的 Worker 上,如果该机器上没有 Worker ,则程序在运行的时候就会抛出异常。
通过 19999 端口监视集群 , 如果内存配置不够,数据过大时,会将超额部分放到 HDFS 上存储 , 注意配置 tachyon-env.sh 文件中,例如
export TACHYON_WORKER_MEMORY_SIZE=30GB
所配置的大小。
重新配置后注意格式化一下才能重新分配大小:
重新分配后:
2 hive 配置参数 hive.metastore.warehouse.dir 位置不对,导致即使创建了 parquer ,进行读取时依然报错:文件找不到。
spark 环境建议:
spark.executor.memory 30gspark.cores.max 20spark.driver.memory 2g
在 spark 的 conf 配置目录下,要设置 hive.metastore.warehouse.dir 为 tachyon 目录:
hive.metastore.warehouse.dir tachyon://ip:port/hive/warehouse
3 执行插入 / 查询表操作过程中出现 too many opened files 的错误。
这个错误是因为同时打开的文件超过了 spark 的配置 , 可以再 spark-env.sh 配置文件末加 ulimit -n 65535
来扩大可同时打开的文件数量 , 重启 spark.
4 删除 tachyon 文件系统挂载目录时出现: rm: 无法删除 "srv/tachyon/ramdisk": 设备或资源忙
这种情况下先执行命令 umount srv/tachyon/ramdisk 解除文件系统的挂载,然后重新执行删除命令。
5 安装最新版本 0.7.1 执行格式化操作的时候出现:
格式化后 master 起不来的问题
第一点, 需要确保给出的默认配置文件里是有关于 HADOOP_HOME 和 HADOOP_CONF_DIR 的配置,漏掉就无法完成格式化,启动的时候也无法启动 master 。
第二点, 0.7 版本之后, TACHYON_JAVA_OPTS 配置需要增加一些配置参数,这些参数在 Master specific parameters. Default to TACHYON_JAVA_OPTS 需要用到,新版本新加的参数需要配置,否则 master 就会出问题。