1. 系统初始化与环境准备
在Debian系统上部署Hadoop前,需完成基础环境配置:
sudo apt update && sudo apt upgrade -y确保系统软件包为最新版本。sudo ufw disable,避免防火墙阻止节点间通信。hostnamectl set-hostname <主节点名>(如master)设置主机名;编辑/etc/hosts文件,添加所有节点的IP与主机名映射(如192.168.1.100 master、192.168.1.101 node1),确保节点间可通过主机名互相访问。2. 安装Java环境(JDK)
Hadoop依赖Java运行环境,推荐安装OpenJDK 8或11(兼容性更好):
sudo apt install openjdk-11-jdk -y(或openjdk-8-jdk)。java -version,确认输出显示Java版本信息。/etc/profile文件,添加export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64(路径根据实际JDK版本调整),然后运行source /etc/profile使变量生效。3. 下载并解压Hadoop
wget命令下载:wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz。/usr/local目录:sudo tar -xzvf hadoop-3.3.6.tar.gz -C /usr/local/。sudo mv /usr/local/hadoop-3.3.6 /usr/local/hadoop,简化后续命令。4. 配置Hadoop环境变量
编辑~/.bashrc(当前用户)或/etc/profile(全局)文件,添加以下内容:
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
运行source ~/.bashrc(或source /etc/profile)使变量立即生效。
5. 配置Hadoop核心文件
进入Hadoop配置目录($HADOOP_HOME/etc/hadoop),修改以下关键文件:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value> <!-- 主节点主机名 -->
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value> <!-- 临时目录,需提前创建 -->
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value> <!-- 测试环境设为1 -->
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/hdfs/namenode</value> <!-- NameNode数据目录 -->
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/hdfs/data</value> <!-- DataNode数据目录 -->
</property>
</configuration>
mapred-site.xml.template的副本):设置MapReduce运行框架为YARN:cp mapred-site.xml.template mapred-site.xml
编辑内容:<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</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>
slaves文件):列出所有DataNode的主机名(每行一个),如:node1
node2
(主节点无需列入)6. 设置SSH无密码登录
Hadoop节点间需通过SSH无密码通信,步骤如下:
ssh-keygen -t rsa -b 4096 -C "hadoop@example.com",按回车键接受默认路径和空密码。ssh-copy-id hadoop@master(主节点自身)、ssh-copy-id hadoop@node1、ssh-copy-id hadoop@node2(替换为实际节点主机名)。ssh master、ssh node1,确认无需输入密码即可登录。7. 格式化NameNode
NameNode是HDFS的核心,首次启动前需格式化其存储目录:
hdfs namenode -format,等待格式化完成(会提示“NameNode formatted successfully”)。8. 启动Hadoop集群
start-dfs.sh,启动NameNode和所有DataNode服务。start-yarn.sh,启动ResourceManager和NodeManager服务。hdfs dfsadmin -report,确认NameNode和DataNode已启动。yarn node -list,确认ResourceManager和NodeManager已启动。http://master:9870)、YARN ResourceManager界面(http://master:8088),通过浏览器查看集群状态。9. 部署Hadoop生态系统组件(可选)
Hadoop生态包含多个工具,可根据需求部署:
/usr/local,配置环境变量(HIVE_HOME),修改hive-site.xml(设置Hive Metastore地址为HDFS路径,如hdfs://master:9000/user/hive/warehouse),启动Hive:hive。PIG_HOME),启动Pig:pig。hbase-site.xml(设置HBase根目录为HDFS路径,如hdfs://master:9000/hbase),启动HBase:start-hbase.sh。注意事项
/opt/hadoop/tmp、/opt/hadoop/hdfs/namenode)具有正确的读写权限(chown -R hadoop:hadoop /opt/hadoop)。dfs.replication=1),生产环境需调整副本数(≥3)、启用 Kerberos认证、配置机架感知等。