HBase與Hadoop在Debian上的集成步驟
sudo apt-get update && sudo apt-get upgrade
,確保系統軟件包為最新版本。sudo apt install openjdk-11-jdk
,驗證安裝:java -version
(需顯示Java版本信息)。.tar.gz
格式):
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
wget https://archive.apache.org/dist/hbase/2.4.9/hbase-2.4.9-bin.tar.gz
。/usr/lib/hadoop
(或其他指定目錄):tar -zxvf hadoop-3.3.4.tar.gz -C /usr/lib/hadoop/
。/etc/profile
,添加以下內容(替換版本號為實際版本):export HADOOP_HOME=/usr/lib/hadoop/hadoop-3.3.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
運行source /etc/profile
使配置生效。$HADOOP_HOME/etc/hadoop/core-site.xml
):設置HDFS的默認URI,指向本地NameNode:<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
$HADOOP_HOME/etc/hadoop/hdfs-site.xml
):配置HDFS副本數(單節點設為1):<property>
<name>dfs.replication</name>
<value>1</value>
</property>
hadoop namenode -format
。start-dfs.sh && start-yarn.sh
。jps
,應看到NameNode
、DataNode
、ResourceManager
、NodeManager
等進程。/usr/lib/hbase
(或其他指定目錄):tar -zxvf hbase-2.4.9-bin.tar.gz -C /usr/lib/hbase/
。/etc/profile
,添加以下內容:export HBASE_HOME=/usr/lib/hbase/hbase-2.4.9
export PATH=$PATH:$HBASE_HOME/bin:$HBASE_HOME/sbin
運行source /etc/profile
使配置生效。$HBASE_HOME/conf/hbase-env.sh
):設置Java路徑:export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
$HBASE_HOME/conf/hbase-site.xml
):配置HBase與Hadoop、ZooKeeper的集成:<configuration>
<!-- 指向HDFS的根目錄 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
<!-- 啟用分布式模式 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- ZooKeeper數據目錄 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/var/lib/zookeeper</value>
</property>
<!-- ZooKeeper集群地址(單節點設為localhost) -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost</value>
</property>
</configuration>
sudo mkdir -p /var/lib/zookeeper
,并設置權限:sudo chown -R $USER:$USER /var/lib/zookeeper
。bin
目錄,運行./start-hbase.sh
。jps
,應看到HMaster
和HRegionServer
進程(分布式模式下會有多個HRegionServer
)。http://localhost:16010
(HBase默認端口),查看集群狀態。./hbase shell
),執行以下命令驗證:create 'test_table', 'cf' # 創建表
put 'test_table', 'row1', 'cf:name', 'John' # 插入數據
get 'test_table', 'row1' # 查詢數據
exit # 退出shell
/hbase
、本地/var/lib/zookeeper
)具有正確的讀寫權限。