Hadoop 集群配置步骤
Hadoop 集群配置需要在多个节点上进行协调设置,主要包括以下步骤:
-
环境准备
- 所有节点间 SSH 无密码登录
- 统一的 JDK 安装路径
- 同步的时间服务
-
核心配置文件
core-site.xml- Hadoop 核心配置hdfs-site.xml- HDFS 配置mapred-site.xml- MapReduce 配置yarn-site.xml- YARN 资源管理器配置
-
节点角色分配
- NameNode (主节点)
- DataNode (数据节点)
- ResourceManager (资源管理)
- NodeManager (节点管理)
使用 SCP 扩展配置的方法
在配置 Hadoop 集群时,使用scp命令可以高效地同步配置文件到所有节点:
bash
# 示例:将主节点的配置文件同步到所有从节点
for node in slave1 slave2 slave3; do
scp /etc/hadoop/core-site.xml $node:/etc/hadoop/
scp /etc/hadoop/hdfs-site.xml $node:/etc/hadoop/
scp /etc/hadoop/mapred-site.xml $node:/etc/hadoop/
scp /etc/hadoop/yarn-site.xml $node:/etc/hadoop/
done
# 或者使用函数简化操作
function scp_to_all {
for node in slave1 slave2 slave3; do
scp $1 $node:$2
done
}
# 使用函数同步配置
scp_to_all /etc/hadoop/core-site.xml /etc/hadoop/
scp_to_all /etc/hadoop/hdfs-site.xml /etc/hadoop/
高级扩展:使用并行 SCP 工具
对于大规模集群,推荐使用pssh(Parallel SSH)工具提高效率:
bash
# 安装pssh
yum install pssh -y # CentOS/RHEL
apt-get install pssh -y # Ubuntu/Debian
# 创建节点列表文件
echo "slave1" > nodes.txt
echo "slave2" >> nodes.txt
echo "slave3" >> nodes.txt
# 并行复制配置文件
pscp -h nodes.txt /etc/hadoop/core-site.xml /etc/hadoop/
pscp -h nodes.txt /etc/hadoop/hdfs-site.xml /etc/hadoop/
配置文件示例
以下是 Hadoop 核心配置文件的基本示例:
core-site.xml
xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop/tmp</value>
</property>
</configuration>
hdfs-site.xml
xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/hadoop/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/hadoop/datanode</value>
</property>
</configuration>
配置验证方法
配置完成后,可以通过以下命令验证集群状态:
bash
# 格式化NameNode(首次启动)
hdfs namenode -format
# 启动HDFS服务
start-dfs.sh
# 启动YARN服务
start-yarn.sh
# 查看集群状态
hdfs dfsadmin -report
yarn node -list