Hadoop在Linux上的安装步骤(以Ubuntu 22.04为例)
1. 环境准备
- 操作系统:推荐使用Ubuntu 22.04 LTS(64位)或其他稳定Linux发行版(如CentOS 7)。
- 硬件要求:至少4GB内存、20GB可用磁盘空间(生产环境需更高配置)。
- 软件依赖:需安装Java(JDK 8或11)、SSH服务(用于节点间通信)。
2. 安装Java环境
Hadoop基于Java开发,需先安装JDK并配置环境变量:
- 安装OpenJDK 11(推荐):
sudo apt update sudo apt install openjdk-11-jdk -y - 验证Java安装:
输出应包含Java版本信息(如java -versionopenjdk version "11.0.xx")。
3. 配置SSH免密登录(单机/集群必需)
Hadoop通过SSH进行节点间通信,需配置本地免密登录:
- 生成SSH密钥对:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa - 添加公钥到授权文件:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys # 设置文件权限 - 测试免密登录:
若无需输入密码即可登录,则配置成功。ssh localhost
4. 下载并解压Hadoop
- 下载Hadoop(以3.3.5为例,可从Apache官网或镜像站获取):
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz - 解压到指定目录(如
/usr/local):sudo tar -zxvf hadoop-3.3.5.tar.gz -C /usr/local sudo mv /usr/local/hadoop-3.3.5 /usr/local/hadoop # 重命名便于管理 - 修改目录权限(避免权限问题):
sudo chown -R $USER:$USER /usr/local/hadoop
5. 配置Hadoop环境变量
编辑~/.bashrc文件,添加Hadoop相关环境变量:
nano ~/.bashrc
在文件末尾添加以下内容(根据实际路径调整):
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HADOOP_HOME/lib/native
使配置生效:
source ~/.bashrc
- 验证Hadoop安装:
输出应显示Hadoop版本及编译信息。hadoop version
6. 配置Hadoop核心文件
Hadoop的配置文件位于$HADOOP_HOME/etc/hadoop目录下,需修改以下核心文件:
6.1 hadoop-env.sh
设置Java路径(若JAVA_HOME已在环境变量中定义,可跳过):
nano $HADOOP_HOME/etc/hadoop/hadoop-env.sh
找到# export JAVA_HOME=行,取消注释并修改为:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 根据实际Java路径调整
6.2 core-site.xml
配置HDFS的默认文件系统URI(指向NameNode):
nano $HADOOP_HOME/etc/hadoop/core-site.xml
替换为以下内容:
<configuration>
<property>
<name>fs.defaultFSname>
<value>hdfs://localhost:9000value>
property>
configuration>
6.3 hdfs-site.xml
配置HDFS数据存储路径及副本数(单机模式副本数为1):
nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml
替换为以下内容:
<configuration>
<property>
<name>dfs.replicationname>
<value>1value>
property>
<property>
<name>dfs.namenode.name.dirname>
<value>/usr/local/hadoop/tmp/dfs/namevalue>
property>
<property>
<name>dfs.datanode.data.dirname>
<value>/usr/local/hadoop/tmp/dfs/datavalue>
property>
configuration>
6.4 mapred-site.xml
配置MapReduce框架为YARN(需先创建该文件,若不存在则复制模板):
cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml
nano $HADOOP_HOME/etc/hadoop/mapred-site.xml
替换为以下内容:
<configuration>
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
configuration>
6.5 yarn-site.xml
配置YARN资源管理器:
nano $HADOOP_HOME/etc/hadoop/yarn-site.xml
替换为以下内容:
<configuration>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
configuration>
7. 格式化HDFS NameNode
首次启动HDFS前,需格式化NameNode(会清除原有数据,仅第一次需要):
hdfs namenode -format
8. 启动Hadoop服务
- 启动HDFS:
start-dfs.sh - 启动YARN:
start-yarn.sh - 查看进程状态:
正常输出应包含以下进程:jpsNameNode(HDFS主节点)DataNode(HDFS数据节点)ResourceManager(YARN资源管理器)NodeManager(YARN节点管理器)
9. 验证Hadoop功能
- 查看HDFS根目录:
hdfs dfs -ls / - 上传本地文件到HDFS(如
localfile.txt):hdfs dfs -put localfile.txt /user/$USER/ - 下载HDFS文件到本地:
hdfs dfs -get /user/$USER/localfile.txt . - 运行MapReduce示例(如WordCount):
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.5.jar wordcount /user/$USER/input /user/$USER/output
10. 可选:配置防火墙(若启用)
若系统启用了防火墙,需允许Hadoop相关端口通信:
sudo firewall-cmd --permanent --zone=public --add-port=9000/tcp # HDFS NameNode
sudo firewall-cmd --permanent --zone=public --add-port=50070/tcp # HDFS Web UI
sudo firewall-cmd --permanent --zone=public --add-port=8088/tcp # YARN Web UI
sudo firewall-cmd --reload
通过以上步骤,即可在Linux系统上完成Hadoop的单机部署。如需扩展为集群,需在多台机器上重复上述步骤,并配置slaves文件(指定DataNode节点)及集群间的SSH免密登录。
以上就是关于“Hadoop在Linux上的安装步骤”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm