🛠️1.所有节点安装 Hadoop
虽然不使用完整的 Hadoop,但 HDFS 仍然属于 Hadoop 组件,因此需要下载 Hadoop 并配置 HDFS。
wget https://mirrors.aliyun.com/apache/hadoop/core/hadoop-3.3.6/hadoop-3.3.6.tar.gz
解压并移动到目标目录:
tar -xzvf hadoop-3.3.6.tar.gz
sudo mv hadoop-3.3.6 /usr/local/hadoop
然后在 所有节点 配置环境变量(编辑 ~/.bashrc
或 /etc/profile
):
sudo vim ~/.bashrc
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
生效:
source ~/.bashrc
🛠️ 2. 配置 Hadoop
(1)配置 core-site.xml
(所有节点相同)
sudo vim /usr/local/hadoop/etc/hadoop/core-site.xml
namenode
替换为你的主 NameNode 服务器 IP 或主机名
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
</configuration>
(2)配置 hdfs-site.xml
📌 NameNode (node1
) 配置
路径:/usr/local/hadoop/etc/hadoop/hdfs-site.xml
sudo vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///data/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
📌 说明:NameNode 只存元数据,不存数据块,所以 不需要
dfs.datanode.data.dir
DataNode (node2
& node3
) 配置
<configuration>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///data/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
📌 说明:DataNode 只存数据块,不存元数据,所以 不需要
dfs.namenode.name.dir
在 每个节点 执行:
sudo mkdir -p /data/hadoop/dfs/name /data/hadoop/dfs/data
sudo chown -R $USER:$USER /data/hadoop/dfs
sudo chmod 700 /data/hadoop/dfs/*
🛠️ 3. 配置 slaves
(所有节点相同)
编辑 /usr/local/hadoop/etc/hadoop/workers
(Hadoop 3.x 之后 slaves
改名为 workers
):
sudo vim /usr/local/hadoop/etc/hadoop/workers
node2
node3
sudo vim /etc/hosts
192.168.108.107 node1
192.168.108.228 node2
192.168.108.31 node3
🛠️ 4. 格式化 NameNode
在 node1
运行:
/usr/local/hadoop/bin/hdfs namenode -format
🛠️ 5. 启动 HDFS
1️⃣ 确保 用户可以 SSH 免密登录
在 主节点 node1
(Hadoop NameNode)上执行:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
然后把公钥复制到所有节点:
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3
jdk的JAVA_HOME自行配置,
Hadoop 配置:
sudo vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
在 node1
启动整个 HDFS 集群:
/usr/local/hadoop/sbin/start-dfs.sh
停止所有 Hadoop 进程 (启动存在错误的时候,需要再次启动的时候,先执行停止进程的命令)
/usr/local/hadoop/sbin/stop-dfs.sh
/usr/local/hadoop/sbin/stop-yarn.sh
检查 DataNode 状态:
/usr/local/hadoop/bin/hdfs dfsadmin -report
如果一切正常,你会看到 两个 DataNode 在线。
🛠️ 6. 安装 HBase
在 所有节点 下载:
wget https://mirrors.huaweicloud.com/apache/hbase/2.4.17/hbase-2.4.17-bin.tar.gz
tar -xzvf hbase-2.4.17-bin.tar.gz
sudo mv hbase-2.4.17 /usr/local/hbase
配置环境变量:
sudo vim ~/.bashrc
export HBASE_HOME=/usr/local/hbase
export PATH=$HBASE_HOME/bin:$PATH
export HBASE_CONF_DIR=$HBASE_HOME/conf
source ~/.bashrc
🛠️ 7. 配置 HBase
(1)配置 hbase-site.xml
sudo vim /usr/local/hbase/conf/hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://node1:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>node1,node2,node3</value>
</property>
</configuration>
(2)配置 regionservers
(所有节点相同)
修改 /usr/local/hbase/conf/regionservers
:
sudo vim /usr/local/hbase/conf/regionservers
表示 node2
和 node3
运行 RegionServer。
node2
node3
🛠️ 8. 启动 HBase
(1)检查 hbase-env.sh
配置文件
HBase 使用 hbase-env.sh
配置文件来设置 Java 环境变量。你可以在 HBase 安装目录下找到这个文件并进行编辑:
sudo vim /usr/local/hbase/conf/hbase-env.sh
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
(2)在 NameNode (node1
) 启动 HBase Master
/usr/local/hbase/bin/start-hbase.sh
(3)检查 HBase 运行状态
/usr/local/hbase/bin/hbase shell
hbase(main):001:0> status
如果一切正常,你会看到 2 个 RegionServer 正常运行。