Centos7 Hadoop 环境安装
以 Hadoop 3.x 为例,采用伪分布式模式(Pseudo-Distributed Mode)进行安装,适合学习和测试
1、环境要求
1-1、系统要求
操作系统:CentOS 7(最小化安装即可)
Java:Hadoop 依赖 Java,推荐 OpenJDK 8 或 11
SSH:Hadoop 需要 SSH 免密登录(即使单机模式也需要)
1-2、更新系统并安装依赖
sudo yum update -y
sudo yum install -y java-1.8.0-openjdk-devel openssh-server openssh-clients wget vim
1-3、配置 Java 环境
# 检查 Java 是否安装成功
java -version
# 设置 JAVA_HOME(需根据实际路径修改)
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))
echo "export JAVA_HOME=$JAVA_HOME" >> ~/.bashrc
source ~/.bashrc
2、配置 SSH 免密登录
2-1、Hadoop 使用 SSH 管理节点,即使单机模式也需要配置免密登录。
# 生成 SSH 密钥(一直按 Enter 即可)
ssh-keygen -t rsa
# 将公钥加入授权列表
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
# 测试 SSH 免密登录
ssh localhost
# 如果成功,输入 exit 退出
exit
3、下载并安装 Hadoop
3-1、下载 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
sudo mv hadoop-3.3.6 /usr/local/hadoop
3-2、配置 Hadoop 环境变量
echo 'export HADOOP_HOME=/usr/local/hadoop' >> ~/.bashrc
echo 'export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >> ~/.bashrc
source ~/.bashrc
4、配置 Hadoop(伪分布式模式)
4-1、修改 Hadoop 配置文件
4-1-1、进入 $HADOOP_HOME/etc/hadoop/ 目录,修改以下文件:
4-1-2、hadoop-env.sh(设置 JAVA_HOME)
echo "export JAVA_HOME=$JAVA_HOME" >> $HADOOP_HOME/etc/hadoop/hadoop-env.sh
4-1-3、core-site.xml(配置 HDFS 地址)
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
4-1-4、hdfs-site.xml(配置 HDFS 副本数)
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/local/hadoop/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///usr/local/hadoop/data/datanode</value>
</property>
</configuration>
4-1-5、mapred-site.xml(配置 MapReduce 使用 YARN)
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
4-1-6、yarn-site.xml(配置 YARN)
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
5、初始化并启动 Hadoop
5-1、格式化 HDFS
hdfs namenode -format
5-2、启动 HDFS 和 YARN
# 启动 HDFS
start-dfs.sh
# 启动 YARN
start-yarn.sh
5-3、检查进程
5-3-1、查看命令
jps
5-3-2、如果成功,应该看到:
NameNode
DataNode
ResourceManager
NodeManager
SecondaryNameNode
6、访问 Hadoop Web UI
HDFS NameNode UI: http://localhost:9870
YARN ResourceManager UI: http://localhost:8088
7、测试 Hadoop
7-1、在 HDFS 上创建目录
hdfs dfs -mkdir /test
hdfs dfs -ls /
7-2、运行 MapReduce 示例(计算 Pi)
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar pi 2 10
8、停止 Hadoop
stop-yarn.sh
stop-dfs.sh