在CentOS上實現HBase與Hadoop的集成,可以按照以下步驟進行:
Hadoop和HBase都需要Java環境。首先確保你的CentOS系統上已經安裝了Java。
sudo yum install java-1.8.0-openjdk-devel
從Apache Hadoop官方網站下載最新版本的Hadoop,并解壓到指定目錄。
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 /opt
編輯Hadoop的配置文件,主要包括core-site.xml
, hdfs-site.xml
, 和 yarn-site.xml
。
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
在首次啟動Hadoop之前,需要格式化HDFS。
hdfs namenode -format
啟動HDFS和YARN。
start-dfs.sh
start-yarn.sh
從Apache HBase官方網站下載最新版本的HBase,并解壓到指定目錄。
wget https://archive.apache.org/dist/hbase/2.4.10/hbase-2.4.10-bin.tar.gz
tar -xzvf hbase-2.4.10-bin.tar.gz -C /opt
編輯HBase的配置文件,主要包括hbase-site.xml
。
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/var/lib/hbase/zookeeper</value>
</property>
</configuration>
啟動HBase Master和RegionServer。
start-hbase.sh
你可以通過HBase shell來驗證HBase是否正常運行。
hbase shell
在HBase shell中,你可以創建表、插入數據、查詢數據等操作。
create 'test_table', 'cf1'
put 'test_table', 'row1', 'cf1:col1', 'value1'
scan 'test_table'
確保防火墻允許Hadoop和HBase所需的端口。
sudo firewall-cmd --permanent --zone=public --add-port=9000/tcp
sudo firewall-cmd --permanent --zone=public --add-port=54310/tcp
sudo firewall-cmd --permanent --zone=public --add-port=60000/tcp
sudo firewall-cmd --permanent --zone=public --add-port=60010/tcp
sudo firewall-cmd --permanent --zone=public --add-port=60020/tcp
sudo firewall-cmd --permanent --zone=public --add-port=60030/tcp
sudo firewall-cmd --reload
通過以上步驟,你應該能夠在CentOS上成功集成HBase和Hadoop。