一、环境准备
1. 集群规划
首先,需要为集群中的每台机器设置角色和网络配置。在此示例中,我们使用三台机器:
角色 | 主机名 | IP地址 |
NameNode | master | 192.168.1.101 |
DataNode1 | slave1 | 192.168.1.102 |
DataNode2 | slave2 | 192.168.1.103 |
2. 软件要求
- 操作系统:CentOS 7或Ubuntu 20.04
- Java JDK:Hadoop需要JDK 8或更高版本
安装Java JDK
在所有节点上安装Java:
sudo apt-get update # Ubuntu sudo apt-get install openjdk-8-jdk -y # 或者在CentOS上 sudo yum install java-1.8.0-openjdk-devel -y
验证Java安装:
java -version
3. 配置SSH免密登录
为了让Hadoop可以在各节点之间无缝通信,需要在master节点上配置SSH免密登录。
在master节点上生成SSH密钥对:
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
将公钥复制到所有节点:
ssh-copy-id master ssh-copy-id slave1 ssh-copy-id slave2
测试免密登录是否成功:
ssh slave1 ssh slave2
二、下载并安装Hadoop
1. 下载Hadoop
在所有节点上下载Hadoop安装包:
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz tar -xzvf hadoop-3.3.6.tar.gz --no-check-certificate sudo mv hadoop-3.3.6 /usr/local/hadoop
2. 配置环境变量
在每个节点的~/.bashrc
文件中添加以下内容:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 # 根据实际路径调整 export HADOOP_HOME=/usr/local/hadoop export HADOOP_INSTALL=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export HADOOP_YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
执行以下命令使配置生效:
source ~/.bashrc
四、修改Hadoop配置文件
在master节点上修改配置文件,然后将修改后的配置文件分发(文末有分发脚本)到所有节点。
1. 配置core-site.xml
编辑$HADOOP_HOME/etc/hadoop/core-site.xml
:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/tmp</value> <description>A base for other temporary directories.</description> </property> </configuration>
2. 配置hdfs-site.xml
编辑$HADOOP_HOME/etc/hadoop/hdfs-site.xml
:
<configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///usr/local/hadoop/hadoop_data/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///usr/local/hadoop/hadoop_data/hdfs/datanode</value> </property> </configuration>
Hadoop入门基础(二):Hadoop集群安装与部署详解(超详细教程)(二):https://developer.aliyun.com/article/1597086