HBase與Hadoop在Debian上的集成步驟
sudo apt update && sudo apt upgrade -y
sudo apt install openjdk-11-jdk -y
java -version # 驗證安裝(需顯示Java版本信息)
HBase需運行在Hadoop的HDFS之上,因此需先完成Hadoop的部署。
/opt
目錄(系統級軟件推薦路徑)。wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
sudo tar -xzvf hadoop-3.3.4.tar.gz -C /opt
sudo mv /opt/hadoop-3.3.4 /opt/hadoop # 創建符號鏈接簡化命令
~/.bashrc
(用戶級)或/etc/profile
(系統級),添加Hadoop路徑。echo 'export HADOOP_HOME=/opt/hadoop' >> ~/.bashrc
echo 'export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >> ~/.bashrc
source ~/.bashrc # 使配置生效
$HADOOP_HOME/etc/hadoop/
),適配Debian環境。
localhost
,集群模式替換為NameNode主機名)。<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/data/datanode</value>
</property>
</configuration>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
hdfs namenode -format
start-dfs.sh # 啟動HDFS
start-yarn.sh # 啟動YARN
jps # 驗證進程(需看到NameNode、DataNode、ResourceManager、NodeManager)
HBase需依賴Hadoop的HDFS和YARN,因此需在Hadoop運行后安裝。
/opt
目錄。wget https://archive.apache.org/dist/hbase/2.4.9/hbase-2.4.9-bin.tar.gz
sudo tar -xzvf hbase-2.4.9-bin.tar.gz -C /opt
sudo mv /opt/hbase-2.4.9 /opt/hbase # 創建符號鏈接簡化命令
~/.bashrc
,添加HBase路徑及Java環境變量。echo 'export HBASE_HOME=/opt/hbase' >> ~/.bashrc
echo 'export PATH=$PATH:$HBASE_HOME/bin' >> ~/.bashrc
echo 'export HBASE_MANAGES_ZK=false' >> $HBASE_HOME/conf/hbase-env.sh # 關閉HBase內置ZooKeeper(使用獨立集群)
source ~/.bashrc
$HBASE_HOME/conf/
),關聯Hadoop服務。
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value> <!-- 指向HDFS的hbase目錄 -->
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value> <!-- 啟用分布式模式 -->
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost</value> <!-- ZooKeeper地址(本地模式用localhost) -->
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/hbase/zookeeper</value> <!-- ZooKeeper數據目錄 -->
</property>
</configuration>
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> $HBASE_HOME/conf/hbase-env.sh
start-hbase.sh
jps # 驗證進程(需看到HMaster、HRegionServer)
hbase shell
hbase(main):001:0> create 'test_table', 'cf' # 創建表
hbase(main):002:0> put 'test_table', 'row1', 'cf:name', 'John' # 插入數據
hbase(main):003:0> get 'test_table', 'row1' # 查詢數據
hbase(main):004:0> status # 查看HBase集群狀態(需顯示“running”)
hbase.rootdir
配置是否正確(需與Hadoop的fs.defaultFS
一致),并確認HDFS已啟動。/opt/hbase/data
)和日志目錄(如/opt/hbase/logs
)屬于hbase
用戶(若以hbase
用戶運行),可通過chown -R hbase:hbase /opt/hbase
修復。通過以上步驟,即可在Debian系統上完成HBase與Hadoop的集成,構建分布式存儲與計算環境。