在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。