Skip to main content

自动安装 JuiceFS Java 客户端

挂载 JuiceFS

详见: 挂载 JuiceFS

Python 脚本安装

安装脚本:setup-hadoop.py,在 Cloudera Manager 节点、Ambari 节点或者公有云 EMR Master 节点上按下面步骤运行安装。

此脚本使用 Python 编写,支持 Python2 和 Python3。 可以自动下载并安装 juicefs-hadoop.jar ,并且自动安装部署到整个集群,同时也可以自动部署 JuiceFS 相关配置到 core-site.xml (仅支持 HDP 和 CDH )

使用说明

python setup-hadoop.py COMMAND

COMMAND could be:
-h 显示帮助信息
install 在本机安装 JuiceFS JAR
install_all 在所有机器上安装 JuiceFS JAR, 需要把脚本运行节点和其他节点的 root 用户 SSH 打通
config 自动填写配置,目前支持 Ambari 和 ClouderaManager
deploy_config 自动配置下发到部署了客户端的机器,目前支持 Ambari 和 ClouderaManager
test 验证 JuiceFS JAR 是否真确安装
test_all 验证所有机器 JuiceFS JAR 是否正确安装

使用步骤

  1. 安装 JAR 文件
python setup-hadoop.py install

此操作会将 juicefs-hadoop.jar 下载到 /usr/local/lib 下, 并在 Hadoop 各个发型版下面对应组件的 lib/ 目录下建立软连接,具体放置目录会在日志中打出。

  1. 配置
python setup-hadoop.py config

此操作会自动将必要配置项写入 HDFS 的 core-site.xml,并在日志中打印出来。

对于 CDH 和 HDP 环境,运行此命令,并按照提示输入管理员的账号密码。如果在这台机器上成功执行过 juicefs authjuicefs mount,会自动读取 /root/.juicefs/ 中的认证信息, 然后通过 RESTful API 自动将配置项写入 core-site.xml

此操作还会按照 jucefs.cache-dir 配置的目录在机器上创建缓存目录。

  1. 将 JAR 文件分发到整个集群
  • CDH 或者 HDP 环境,执行:

    python setup-hadoop.py install_all
  • 其他公有云 EMR 环境,执行:

    export NODE_LIST=node1,node2
    python setup-hadoop.py install_all
  • Apache 社区版自定义安装,执行:

    # 组件 classpath,用逗号隔开
    export EXTRA_PATH=$HADOOP_HOME/share/hadoop/common/lib,$SPARK_HOME/jars,$PRESTO_HOME/plugin/hive-hadoop2
    export NODE_LIST=node1,node2
    python setup-hadoop.py install_all

此操作将会把 juicefs-hadoop.jar/etc/juicefs/.juicefs 通过 scp 的方式安装部署到指定的节点上去。

  1. 全新安装或者升级需要重启的相关服务
  • 部署配置

    需要到 CDH 或者 HDP,或者其他 EMR 管理界面操作。

  • 无需重启组件

    • HDFS
    • HUE
    • ZooKeeper
    • YARN
  • 需要重启组件

    以下各组件服务,只有当用到 JuiceFS 时才需要重启。

    • Hive

      如果启用 HA,可以通过滚动重启,不影响使用

      • Hive Metastore Server
      • HiveServer2
    • Spark on Yarn

      如果只是使用 spark-sql -f 提交任务,则无需重启

      • ThriftServer
    • Spark Standalone

      • Master
      • Worker
    • Presto

      • Coordinator
      • Worker
    • Impala

      • Catalog Server
      • Daemon
    • HBase

      • Master
      • RegionServer
    • Flume

Ansible 安装

Ansible 配置模板:setup-hadoop.yml

Ansible hosts 配置

[master] # 有外网的机器,需要和 slave 节点 ssh 打通
master001

[slave] # 除 master 节点外所有的大数据集群管理的节点
slave001
slave002

使用说明

ansible setup-hadoop.yml \
--extra-vars '{"jfs_name":"your-jfs-name", "jfs_version":"0.5", "hadoop":"your-hadoop-dist", "cache_dir":["/data01/jfscache","/data02/jfscache"]}'

参数:
jfs_name 在 JuiceFS 上面创建的文件系统
jfs_version JuiceFS 客户端版本
hadoop Hadoop 发行版,目前支持:cdh5,cdh6,hdp,emr-ali,emr-tencent,kmr,uhadoop
cache_dir 本机磁盘缓存目录