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的集成,构建分布式存储与计算环境。