溫馨提示×

CentOS HBase與Hadoop集成實踐

小樊
50
2025-10-01 01:43:59
欄目: 智能運維

CentOS環境下HBase與Hadoop集成實踐指南

一、前置準備

在開始集成前,需完成以下基礎準備工作:

  1. 系統環境配置:確保CentOS系統已更新至最新版本,安裝了wget、tar、vim等常用工具;關閉防火墻(systemctl stop firewalld)或開放必要端口(如Hadoop的9000、50070,HBase的16010);配置/etc/hosts文件,將主機名與IP地址映射(如192.168.1.100 hadoop-master)。
  2. JDK安裝:Hadoop與HBase均依賴JDK 8或11,建議使用OpenJDK(yum install java-11-openjdk-devel),并通過java -version驗證安裝;設置JAVA_HOME環境變量(在~/.bashrc中添加export JAVA_HOME=/usr/lib/jvm/java-11-openjdk,執行source ~/.bashrc生效)。

二、Hadoop集群安裝與配置

Hadoop是HBase的數據存儲底座,需先完成Hadoop的部署:

  1. 下載與解壓:從Apache官網下載Hadoop穩定版(如3.3.4),解壓至/usr/local/目錄:
    wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
    tar -xzvf hadoop-3.3.4.tar.gz -C /usr/local/
    ln -s /usr/local/hadoop-3.3.4 hadoop  # 創建軟鏈接便于管理
    
  2. 配置核心文件:進入Hadoop配置目錄(/usr/local/hadoop/etc/hadoop),修改以下文件:
    • core-site.xml:設置HDFS的默認文件系統URI(需替換namenode為主機名):
      <configuration>
          <property>
              <name>fs.defaultFS</name>
              <value>hdfs://namenode:9000</value>
          </property>
      </configuration>
      
    • hdfs-site.xml:配置HDFS副本數(測試環境設為1,生產環境建議≥3):
      <configuration>
          <property>
              <name>dfs.replication</name>
              <value>1</value>
          </property>
      </configuration>
      
    • yarn-site.xml:指定YARN的shuffle服務(支持MapReduce shuffle):
      <configuration>
          <property>
              <name>yarn.nodemanager.aux-services</name>
              <value>mapreduce_shuffle</value>
          </property>
      </configuration>
      
    • mapred-site.xml(若未自動生成,從mapred-site.xml.template復制):設置MapReduce運行框架為YARN:
      <configuration>
          <property>
              <name>mapreduce.framework.name</name>
              <value>yarn</value>
          </property>
      </configuration>
      
  3. 環境變量設置:在~/.bashrc中添加Hadoop環境變量:
    export HADOOP_HOME=/usr/local/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    
    執行source ~/.bashrc使變量生效。
  4. 格式化HDFS與啟動集群:首次啟動前需格式化HDFS(刪除原有數據,僅執行一次):
    hdfs namenode -format
    
    啟動HDFS(start-dfs.sh)和YARN(start-yarn.sh),通過jps命令驗證進程(應看到NameNode、DataNode、ResourceManager、NodeManager)。

三、HBase安裝與配置

HBase依賴Hadoop存儲數據,需正確關聯Hadoop集群:

  1. 下載與解壓:從Apache官網下載HBase穩定版(如2.4.13),解壓至/usr/local/目錄:
    wget https://archive.apache.org/dist/hbase/2.4.13/hbase-2.4.13-bin.tar.gz
    tar -xzvf hbase-2.4.13-bin.tar.gz -C /usr/local/
    ln -s /usr/local/hbase-2.4.13 hbase  # 創建軟鏈接
    
  2. 配置核心文件:進入HBase配置目錄(/usr/local/hbase/conf),修改以下文件:
    • hbase-env.sh:取消JAVA_HOME注釋,指定JDK路徑(與Hadoop一致):
      export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
      
    • hbase-site.xml:關鍵配置項如下(需替換namenode為Hadoop NameNode主機名):
      <configuration>
          <!-- 指向HDFS的HBase根目錄 -->
          <property>
              <name>hbase.rootdir</name>
              <value>hdfs://namenode:9000/hbase</value>
          </property>
          <!-- 啟用分布式模式 -->
          <property>
              <name>hbase.cluster.distributed</name>
              <value>true</value>
          </property>
          <!-- 指定ZooKeeper集群地址(單機部署用localhost) -->
          <property>
              <name>hbase.zookeeper.quorum</name>
              <value>namenode</value>
          </property>
          <!-- ZooKeeper數據存儲目錄 -->
          <property>
              <name>hbase.zookeeper.property.dataDir</name>
              <value>/usr/local/hbase/zookeeper</value>
          </property>
      </configuration>
      
    • regionservers:指定RegionServer節點(單機部署添加localhost,集群添加所有RegionServer主機名)。
  3. 環境變量設置:在~/.bashrc中添加HBase環境變量:
    export HBASE_HOME=/usr/local/hbase
    export PATH=$PATH:$HBASE_HOME/bin
    
    執行source ~/.bashrc使變量生效。

四、集成配置關鍵點

HBase與Hadoop的集成需通過以下配置實現無縫通信:

  1. HBase指向HDFShbase.rootdir必須設置為HDFS的URI(如hdfs://namenode:9000/hbase),確保HBase數據存儲在HDFS中。
  2. 分布式模式啟用hbase.cluster.distributed設為true,啟用HBase分布式模式(若為單機測試,可設為false,但生產環境必須為true)。
  3. ZooKeeper協同:HBase通過ZooKeeper管理集群狀態,hbase.zookeeper.quorum需指向ZooKeeper集群地址(單機用localhost),且hbase.zookeeper.property.dataDir指定的目錄需存在(用于存儲ZooKeeper數據)。
  4. Hadoop服務可用性:確保HDFS的NameNode和DataNode已啟動,YARN的ResourceManager和NodeManager正常運行,HBase才能連接HDFS。

五、啟動與驗證集成

  1. 啟動服務
    • 啟動Hadoop集群(若未啟動):
      start-dfs.sh && start-yarn.sh
      
    • 啟動HBase集群:
      start-hbase.sh
      
  2. 驗證進程:使用jps命令檢查進程(Hadoop主節點應有NameNode、ResourceManager;HBase主節點應有HMaster;RegionServer節點應有HRegionServer)。
  3. 訪問Web UI
    • Hadoop NameNode Web UI:http://namenode:9870(查看HDFS狀態);
    • HBase Web UI:http://namenode:16010(查看HBase集群狀態)。
  4. Shell操作驗證
    • 進入HBase Shell:
      hbase shell
      
    • 執行基本命令:
      create 'test_table', 'cf'  # 創建表
      put 'test_table', 'row1', 'cf:name', 'John'  # 插入數據
      scan 'test_table'  # 查詢數據
      exit  # 退出
      
    若命令執行成功,說明HBase與Hadoop集成正常。

六、常見問題排查

  1. 連接超時:檢查hbase.rootdir中的HDFS主機名是否正確,/etc/hosts文件是否包含主機名映射,防火墻是否阻止端口(如9000、16010)。
  2. 權限問題:確保HDFS目錄(如/hbase)存在且有寫入權限(hdfs dfs -mkdir -p /hbase,hdfs dfs -chmod -R 777 /hbase)。
  3. 版本兼容:HBase與Hadoop版本需兼容(如HBase 2.4.x兼容Hadoop 3.3.x),避免因版本沖突導致啟動失?。▍⒖脊俜郊嫒菪跃仃嚕?。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女