系统架构

    当你配置使用HDFS存储TSFile之后,你的数据文件将会被分布式存储。系统架构如下:

    Config and usage

    如果你希望将TSFile存储在HDFS上,可以遵循以下步骤:

    使用maven打包server和Hadoop模块:

    然后,将Hadoop模块的target jar包hadoop-tsfile-0.9.3-jar-with-dependencies.jar复制到server模块的target lib文件夹 .../server/target/iotdb-server-0.9.3/lib下。

    编辑中的用户配置。相关配置项包括:

    • tsfile_storage_fs
    • core_site_path
    Namecore_site_path
    描述在Tsfile和相关数据文件存储到HDFS的情况下用于配置core-site.xml的绝对路径
    类型String
    默认值/etc/hadoop/conf/core-site.xml
    改后生效方式重启服务器生效
    Namehdfs_site_path
    描述在Tsfile和相关数据文件存储到HDFS的情况下用于配置hdfs-site.xml的绝对路径
    类型String
    默认值/etc/hadoop/conf/hdfs-site.xml
    改后生效方式重启服务器生效
    • hdfs_ip
    名字hdfs_ip
    描述在Tsfile和相关数据文件存储到HDFS的情况下用于配置HDFS的IP。如果配置了多于1个hdfs_ip,则表明启用了Hadoop HA
    类型String
    默认值localhost
    改后生效方式重启服务器生效
    • hdfs_port
    • dfs_nameservices
    名字hdfs_nameservices
    描述在使用Hadoop HA的情况下用于配置HDFS的nameservices
    类型String
    默认值hdfsnamespace
    改后生效方式重启服务器生效
    • dfs_ha_namenodes
    名字hdfs_ha_namenodes
    描述在使用Hadoop HA的情况下用于配置HDFS的nameservices下的namenodes
    类型String
    默认值nn1,nn2
    改后生效方式重启服务器生效
    • dfs_ha_automatic_failover_enabled
    名字dfs_ha_automatic_failover_enabled
    描述在使用Hadoop HA的情况下用于配置是否使用失败自动切换
    类型Boolean
    默认值true
    改后生效方式重启服务器生效
    • dfs_client_failover_proxy_provider
    名字hdfs_use_kerberos
    描述是否使用kerberos验证访问hdfs
    类型String
    默认值false
    改后生效方式重启服务器生效
    • kerberos_keytab_file_path
    名字kerberos_keytab_file_path
    描述kerberos keytab file 的完整路径
    类型String
    默认值/path
    改后生效方式重启服务器生效
    • kerberos_principal
    名字kerberos_principal
    描述Kerberos 认证原则
    类型String
    默认值your principal
    改后生效方式重启服务器生效

    如果你想要恢复将TSFile存储到本地文件系统,只需编辑配置项tsfile_storage_fsLOCAL。在这种情况下,如果你已经在HDFS上存储了一些数据文件,你需要将它们下载到本地,并移动到你所配置的数据文件文件夹(默认为), 或者重新开始你的整个导入数据过程。

    常见问题

    1. 这个功能支持哪些Hadoop版本?

    A: Hadoop 2.x and Hadoop 3.x均可以支持。

    1. 当启动服务器或创建时间序列时,我遇到了如下错误:

    A: 这表明你没有将Hadoop模块的以来放到IoTDB server中。你可以这样解决:

    • 使用Maven打包Hadoop模块: mvn clean package -pl hadoop -am -Dmaven.test.skip=true
    • 将Hadoop模块的target jar包hadoop-tsfile-0.9.3-jar-with-dependencies.jar复制到server模块的target lib文件夹 下。