OpenTSDB 部署与运维技术文档

OpenTSDB 部署与运维技术文档

1. OpenTSDB 安装

1.1 ZooKeeper 安装

  1. 下载 apache-zookeeper-3.9.2-bin.tar.gz 安装包,解压后进入配置目录,复制模板配置文件并更名:

    tar -zxvf apache-zookeeper-3.9.2-bin.tar.gz
    cd apache-zookeeper-3.9.2-bin/conf
    cp zoo_sample.cfg zoo.cfg
    
  2. 编辑 zoo.cfg 配置文件,关键参数如下:

    # 时间单位(毫秒)
    tickTime=2000
    # 初始化同步阶段允许的最大 tick 数
    initLimit=10
    # 发送请求到接收应答的最大 tick 数
    syncLimit=5
    # 快照存储目录(需提前创建)
    dataDir=/usr/local/zookeeper/apache-zookeeper-3.9.2-bin/zkdata
    # 客户端连接端口
    clientPort=2181
    # 避免占用默认 8080 端口
    admin.serverPort=8090
    
  3. 启动 ZooKeeper 服务:

    cd ../bin
    ./zkServer.sh start
    

1.2 HBase 安装

方法一:使用 HBase 自带 ZooKeeper(推荐)
  1. 下载 hbase-2.4.17-bin.tar.gz 并解压,修改 conf/hbase-env.sh 配置文件:

    tar -zxvf hbase-2.4.17-bin.tar.gz
    cd hbase-2.4.17/conf
    vi hbase-env.sh
    

    添加以下配置:

    # 配置 JDK 安装目录
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b09-4.el9.x86_64/jre
    # 开启内置 ZooKeeper
    export HBASE_MANAGES_ZK=true
    
  2. 编辑 conf/hbase-site.xml 配置文件:

    <configuration>
      <property>
        <name>hbase.cluster.distributed</name>
        <value>false</value>
      </property>
      <property>
        <name>hbase.tmp.dir</name>
        <value>./tmp</value>
      </property>
      <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
      </property>
      <property>
        <name>hbase.rootdir</name>
        <!-- HBase 安装目录 -->
        <value>file:///home/hbase/hbase-2.4.17</value>
      </property>
      <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <!-- 内置 ZooKeeper 数据目录 -->
        <value>/home/hbase/hbase-2.4.17/zookeeper</value>
      </property>
    </configuration>
    
  3. 启动与停止命令:

    # 启动 HBase
    ./bin/start-hbase.sh
    # 停止 HBase(注:原文档此处为 typo,正确命令为 stop-hbase.sh)
    ./bin/stop-hbase.sh
    
  4. 配置 HBase 环境变量:

    vi ~/.bashrc
    

    添加以下内容:

    export HBASE_HOME=/usr/local/hbase/hbase-2.4.17
    export PATH=$HBASE_HOME/bin:$PATH
    

    使配置生效并验证:

    source ~/.bashrc
    echo $HBASE_HOME
    
方法二:使用系统已安装的 ZooKeeper
  1. 下载 hbase-2.4.17-bin.tar.gz 并解压,修改 conf/hbase-env.sh 配置文件:

    tar -zxvf hbase-2.4.17-bin.tar.gz
    cd hbase-2.4.17/conf
    vi hbase-env.sh
    

    添加以下配置:

    # 配置 JDK 安装目录
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b09-4.el9.x86_64/jre
    # 关闭 HBase 内置 ZooKeeper
    export HBASE_MANAGES_ZK=false
    
  2. 编辑 conf/hbase-site.xml 配置文件:

    <configuration>
      <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
      </property>
      <property>
        <name>hbase.tmp.dir</name>
        <value>./tmp</value>
      </property>
      <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
      </property>
      <property>
        <name>hbase.rootdir</name>
        <value>file:///usr/local/hbase/hbase-2.4.17</value>
      </property>
      <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/usr/local/zookeeper/apache-zookeeper-3.9.2-bin/zkdata</value>
      </property>
      <!-- 单机模式 ZooKeeper 地址 -->
      <property>
        <name>hbase.zookeeper.quorum</name>
        <value>localhost</value>
      </property>
      <!-- ZooKeeper 客户端端口 -->
      <property>
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2181</value>
      </property>
    </configuration>
    
  3. 启动与停止命令:

    # 集群模式启动
    ./bin/start-hbase.sh
    # 停止 HBase(注:原文档此处为 typo,正确命令为 stop-hbase.sh)
    ./bin/stop-hbase.sh
    
    # 单独启动 Master 节点
    ./bin/hbase-daemon.sh start master
    # 单独停止 Master 节点
    ./bin/hbase-daemon.sh stop master
    

1.3 HBase 系统服务配置(hbase.service)

  1. 以 root 权限创建服务文件:

    sudo vi /etc/systemd/system/hbase.service
    
  2. 编辑服务文件内容:

    [Unit]
    Description=HBase service
    After=network.target
    
    [Service]
    WorkingDirectory=/usr/local/hbase/hbase-2.4.17
    ExecStart=/usr/local/hbase/hbase-2.4.17/bin/hbase-daemon.sh start master
    ExecStop=/usr/local/hbase/hbase-2.4.17/bin/hbase-daemon.sh stop master
    
    User=root
    Group=root
    Restart=on-failure
    RestartSec=5s
    # 后台运行模式
    Type=forking
    StandardOutput=append:/usr/local/hbase/1.log
    StandardError=append:/usr/local/hbase/1.log
    
    [Install]
    WantedBy=multi-user.target
    
  3. 刷新 systemd 配置并管理服务:

    # 刷新配置
    sudo systemctl daemon-reload
    # 启动服务
    sudo systemctl start hbase
    # 设置开机自启
    sudo systemctl enable hbase
    # 查看服务状态
    sudo systemctl status hbase
    

1.4 OpenTSDB 安装与配置

  1. 下载 opentsdb-2.4.1.tar.gz 并解压,进入目录后构建项目(注:原文档版本号存在不一致,统一为 2.4.1):

    tar -zxvf opentsdb-2.4.1.tar.gz
    cd opentsdb-2.4.1
    # 创建构建目录并复制依赖
    mkdir build
    cp -r third_party ./build	
    # 执行构建
    ./build.sh
    
  2. 生成配置文件:

    ./configure
    
  3. 编辑 src/opentsdb.conf 配置文件:

    vim src/opentsdb.conf
    

    修改以下关键参数:

    # 1)第4行:服务端口
    tsd.network.port = 4242
    # 2)第29行:静态资源目录
    tsd.http.staticroot = /usr/local/opentsdb/opentsdb-2.4.1/build/staticroot
    # 3)第33行:HTTP 缓存目录
    tsd.http.cachedir = /tmp/tsd
    # 4)第38行:自动创建指标
    tsd.core.auto_create_metrics = true
    # 5)第70行:ZooKeeper 地址
    tsd.storage.hbase.zk_quorum = localhost:2181
    # 6)新增:重复数据覆盖策略
    tsd.storage.fix_duplicates = true
    
  4. 修改表创建脚本并初始化 HBase 表:

    # 编辑脚本关闭 LZO 压缩(第19行)
    vim tools/create_table.sh
    # 修改内容:COMPRESSION=${COMPRESSION-'NONE'}
    # 执行建表命令
    ./tools/create_table.sh
    
  5. 启动 OpenTSDB:

    cd /usr/local
    nohup ./opentsdb/opentsdb-2.4.1/build/tsdb tsd --config=/usr/local/opentsdb/opentsdb-2.4.1/src/opentsdb.conf > ./opentsdb/opentsdb-2.4.1/1.log &
    
  6. 验证安装:在浏览器访问 http://192.168.2.102:4242,显示控制台页面即为成功。

  7. OpenTSDB 系统服务配置(opentsdb.service):
    创建服务文件:

    sudo vi /etc/systemd/system/opentsdb.service
    

    编辑内容:

    [Unit]
    Description=OpenTSDB service
    After=network.target
    
    [Service]
    WorkingDirectory=/usr/local
    ExecStart=/usr/local/opentsdb/opentsdb-2.4.1/build/tsdb tsd --config=/usr/local/opentsdb/opentsdb-2.4.1/src/opentsdb.conf
    
    User=root
    Group=root
    Restart=always
    StandardOutput=append:/usr/local/opentsdb/opentsdb-2.4.1/1.log
    StandardError=append:/usr/local/opentsdb/opentsdb-2.4.1/1.log
    
    [Install]
    WantedBy=multi-user.target
    

1.5 OpenTSDB 数据备份与还原

方法一:HBase 快照备份
  1. 创建表快照(需 HBase 运行中):

    hbase shell
    # 格式:snapshot '<表名>','<快照名称>'
    snapshot '<表名>','<快照名称>'
    
  2. 查看快照列表:

    hbase shell
    list_snapshots
    

    快照存储路径:/usr/local/hbase/hbase-2.4.17/.hbase-snapshot

  3. 快照还原:

    • 先删除现有表(若存在):
      hbase shell
      disable '<表名>'
      drop '<表名>'
      exit
      
    • 从快照恢复:
      hbase shell
      clone_snapshot '<快照名称>', '<表名>'
      
方法二:Export + Import 备份
  1. 全量导出备份:

    hbase org.apache.hadoop.hbase.mapreduce.Export -Dhbase.export.scanner.batch=2000 -D mapred.output.compress=true tsdb file:///opt/soft/hbase/hbase_bak/hbase_bak
    

    参数说明:

    • -Dhbase.export.scanner.batch=2000:每次扫描 2000 行
    • -D mapred.output.compress=true:启用压缩
    • tsdb:目标表名
    • file:///opt/soft/hbase/hbase_bak/hbase_bak:备份文件路径
  2. 清空表数据:

    hbase shell
    truncate 'tsdb'
    exit
    
  3. 导入备份数据:

    hbase org.apache.hadoop.hbase.mapreduce.Driver import tsdb file:///opt/soft/hbase/hbase_bak/hbase_bak
    
  4. 增量备份:

    hbase org.apache.hadoop.hbase.mapreduce.Export -Dhbase.export.scanner.batch=2000 -D mapred.output.compress=true tsdb file:///opt/soft/hbase/hbase_bak/hbase_bak_1715875200-1715933805 1715875200 1715933805
    

    参数说明:

2. iptables 配置

2.1 常用命令

  1. 查看 iptables 规则:

    sudo iptables -L -v -n
    
  2. 开放指定端口(示例:3306):

    sudo iptables -A OUTPUT -p tcp --dport 3306 -j ACCEPT
    
  3. 保存并重启 iptables 服务:

    sudo service iptables save
    sudo service iptables restart
    ```# OpenTSDB 部署与运维技术文档
    

1. OpenTSDB 安装

1.1 ZooKeeper 安装

  1. 下载 apache-zookeeper-3.9.2-bin.tar.gz 安装包,解压后进入配置目录,复制模板配置文件并更名:

    tar -zxvf apache-zookeeper-3.9.2-bin.tar.gz
    cd apache-zookeeper-3.9.2-bin/conf
    cp zoo_sample.cfg zoo.cfg
    
  2. 编辑 zoo.cfg 配置文件,关键参数如下:

    # 时间单位(毫秒)
    tickTime=2000
    # 初始化同步阶段允许的最大 tick 数
    initLimit=10
    # 发送请求到接收应答的最大 tick 数
    syncLimit=5
    # 快照存储目录(需提前创建)
    dataDir=/usr/local/zookeeper/apache-zookeeper-3.9.2-bin/zkdata
    # 客户端连接端口
    clientPort=2181
    # 避免占用默认 8080 端口
    admin.serverPort=8090
    
  3. 启动 ZooKeeper 服务:

    cd ../bin
    ./zkServer.sh start
    

1.2 HBase 安装

方法一:使用 HBase 自带 ZooKeeper(推荐)
  1. 下载 hbase-2.4.17-bin.tar.gz 并解压,修改 conf/hbase-env.sh 配置文件:

    tar -zxvf hbase-2.4.17-bin.tar.gz
    cd hbase-2.4.17/conf
    vi hbase-env.sh
    

    添加以下配置:

    # 配置 JDK 安装目录
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b09-4.el9.x86_64/jre
    # 开启内置 ZooKeeper
    export HBASE_MANAGES_ZK=true
    
  2. 编辑 conf/hbase-site.xml 配置文件:

    <configuration>
      <property>
        <name>hbase.cluster.distributed</name>
        <value>false</value>
      </property>
      <property>
        <name>hbase.tmp.dir</name>
        <value>./tmp</value>
      </property>
      <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
      </property>
      <property>
        <name>hbase.rootdir</name>
        <!-- HBase 安装目录 -->
        <value>file:///home/hbase/hbase-2.4.17</value>
      </property>
      <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <!-- 内置 ZooKeeper 数据目录 -->
        <value>/home/hbase/hbase-2.4.17/zookeeper</value>
      </property>
    </configuration>
    
  3. 启动与停止命令:

    # 启动 HBase
    ./bin/start-hbase.sh
    # 停止 HBase(注:原文档此处为 typo,正确命令为 stop-hbase.sh)
    ./bin/stop-hbase.sh
    
  4. 配置 HBase 环境变量:

    vi ~/.bashrc
    

    添加以下内容:

    export HBASE_HOME=/usr/local/hbase/hbase-2.4.17
    export PATH=$HBASE_HOME/bin:$PATH
    

    使配置生效并验证:

    source ~/.bashrc
    echo $HBASE_HOME
    
方法二:使用系统已安装的 ZooKeeper
  1. 下载 hbase-2.4.17-bin.tar.gz 并解压,修改 conf/hbase-env.sh 配置文件:

    tar -zxvf hbase-2.4.17-bin.tar.gz
    cd hbase-2.4.17/conf
    vi hbase-env.sh
    

    添加以下配置:

    # 配置 JDK 安装目录
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b09-4.el9.x86_64/jre
    # 关闭 HBase 内置 ZooKeeper
    export HBASE_MANAGES_ZK=false
    
  2. 编辑 conf/hbase-site.xml 配置文件:

    <configuration>
      <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
      </property>
      <property>
        <name>hbase.tmp.dir</name>
        <value>./tmp</value>
      </property>
      <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
      </property>
      <property>
        <name>hbase.rootdir</name>
        <value>file:///usr/local/hbase/hbase-2.4.17</value>
      </property>
      <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/usr/local/zookeeper/apache-zookeeper-3.9.2-bin/zkdata</value>
      </property>
      <!-- 单机模式 ZooKeeper 地址 -->
      <property>
        <name>hbase.zookeeper.quorum</name>
        <value>localhost</value>
      </property>
      <!-- ZooKeeper 客户端端口 -->
      <property>
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2181</value>
      </property>
    </configuration>
    
  3. 启动与停止命令:

    # 集群模式启动
    ./bin/start-hbase.sh
    # 停止 HBase(注:原文档此处为 typo,正确命令为 stop-hbase.sh)
    ./bin/stop-hbase.sh
    
    # 单独启动 Master 节点
    ./bin/hbase-daemon.sh start master
    # 单独停止 Master 节点
    ./bin/hbase-daemon.sh stop master
    

1.3 HBase 系统服务配置(hbase.service)

  1. 以 root 权限创建服务文件:

    sudo vi /etc/systemd/system/hbase.service
    
  2. 编辑服务文件内容:

    [Unit]
    Description=HBase service
    After=network.target
    
    [Service]
    WorkingDirectory=/usr/local/hbase/hbase-2.4.17
    ExecStart=/usr/local/hbase/hbase-2.4.17/bin/hbase-daemon.sh start master
    ExecStop=/usr/local/hbase/hbase-2.4.17/bin/hbase-daemon.sh stop master
    
    User=root
    Group=root
    Restart=on-failure
    RestartSec=5s
    # 后台运行模式
    Type=forking
    StandardOutput=append:/usr/local/hbase/1.log
    StandardError=append:/usr/local/hbase/1.log
    
    [Install]
    WantedBy=multi-user.target
    
  3. 刷新 systemd 配置并管理服务:

    # 刷新配置
    sudo systemctl daemon-reload
    # 启动服务
    sudo systemctl start hbase
    # 设置开机自启
    sudo systemctl enable hbase
    # 查看服务状态
    sudo systemctl status hbase
    

1.4 OpenTSDB 安装与配置

  1. 下载 opentsdb-2.4.1.tar.gz 并解压,进入目录后构建项目(注:原文档版本号存在不一致,统一为 2.4.1):

    tar -zxvf opentsdb-2.4.1.tar.gz
    cd opentsdb-2.4.1
    # 创建构建目录并复制依赖
    mkdir build
    cp -r third_party ./build	
    # 执行构建
    ./build.sh
    
  2. 生成配置文件:

    ./configure
    
  3. 编辑 src/opentsdb.conf 配置文件:

    vim src/opentsdb.conf
    

    修改以下关键参数:

    # 1)第4行:服务端口
    tsd.network.port = 4242
    # 2)第29行:静态资源目录
    tsd.http.staticroot = /usr/local/opentsdb/opentsdb-2.4.1/build/staticroot
    # 3)第33行:HTTP 缓存目录
    tsd.http.cachedir = /tmp/tsd
    # 4)第38行:自动创建指标
    tsd.core.auto_create_metrics = true
    # 5)第70行:ZooKeeper 地址
    tsd.storage.hbase.zk_quorum = localhost:2181
    # 6)新增:重复数据覆盖策略
    tsd.storage.fix_duplicates = true
    
  4. 修改表创建脚本并初始化 HBase 表:

    # 编辑脚本关闭 LZO 压缩(第19行)
    vim tools/create_table.sh
    # 修改内容:COMPRESSION=${COMPRESSION-'NONE'}
    # 执行建表命令
    ./tools/create_table.sh
    
  5. 启动 OpenTSDB:

    cd /usr/local
    nohup ./opentsdb/opentsdb-2.4.1/build/tsdb tsd --config=/usr/local/opentsdb/opentsdb-2.4.1/src/opentsdb.conf > ./opentsdb/opentsdb-2.4.1/1.log &
    
  6. 验证安装:在浏览器访问 http://192.168.2.102:4242,显示控制台页面即为成功。

  7. OpenTSDB 系统服务配置(opentsdb.service):
    创建服务文件:

    sudo vi /etc/systemd/system/opentsdb.service
    

    编辑内容:

    [Unit]
    Description=OpenTSDB service
    After=network.target
    
    [Service]
    WorkingDirectory=/usr/local
    ExecStart=/usr/local/opentsdb/opentsdb-2.4.1/build/tsdb tsd --config=/usr/local/opentsdb/opentsdb-2.4.1/src/opentsdb.conf
    
    User=root
    Group=root
    Restart=always
    StandardOutput=append:/usr/local/opentsdb/opentsdb-2.4.1/1.log
    StandardError=append:/usr/local/opentsdb/opentsdb-2.4.1/1.log
    
    [Install]
    WantedBy=multi-user.target
    

1.5 OpenTSDB 数据备份与还原

方法一:HBase 快照备份
  1. 创建表快照(需 HBase 运行中):

    hbase shell
    # 格式:snapshot '<表名>','<快照名称>'
    snapshot '<表名>','<快照名称>'
    
  2. 查看快照列表:

    hbase shell
    list_snapshots
    

    快照存储路径:/usr/local/hbase/hbase-2.4.17/.hbase-snapshot

  3. 快照还原:

    • 先删除现有表(若存在):
      hbase shell
      disable '<表名>'
      drop '<表名>'
      exit
      
    • 从快照恢复:
      hbase shell
      clone_snapshot '<快照名称>', '<表名>'
      
方法二:Export + Import 备份
  1. 全量导出备份:

    hbase org.apache.hadoop.hbase.mapreduce.Export -Dhbase.export.scanner.batch=2000 -D mapred.output.compress=true tsdb file:///opt/soft/hbase/hbase_bak/hbase_bak
    

    参数说明:

    • -Dhbase.export.scanner.batch=2000:每次扫描 2000 行
    • -D mapred.output.compress=true:启用压缩
    • tsdb:目标表名
    • file:///opt/soft/hbase/hbase_bak/hbase_bak:备份文件路径
  2. 清空表数据:

    hbase shell
    truncate 'tsdb'
    exit
    
  3. 导入备份数据:

    hbase org.apache.hadoop.hbase.mapreduce.Driver import tsdb file:///opt/soft/hbase/hbase_bak/hbase_bak
    
  4. 增量备份:

    hbase org.apache.hadoop.hbase.mapreduce.Export -Dhbase.export.scanner.batch=2000 -D mapred.output.compress=true tsdb file:///opt/soft/hbase/hbase_bak/hbase_bak_1715875200-1715933805 1715875200 1715933805
    

    参数说明:

2. iptables 配置

2.1 常用命令

  1. 查看 iptables 规则:

    sudo iptables -L -v -n
    
  2. 开放指定端口(示例:3306):

    sudo iptables -A OUTPUT -p tcp --dport 3306 -j ACCEPT
    
  3. 保存并重启 iptables 服务:

    sudo service iptables save
    sudo service iptables restart
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值