Linux如何支持Hadoop大数据处理
1. 准备Linux基础环境
选择稳定的Linux发行版(如Ubuntu Server 20.04 LTS、CentOS 7),确保系统已更新至最新版本(sudo apt update &
&
sudo apt upgrade
)。安装必要工具(如wget
、vim
),用于下载和解压Hadoop安装包。
2. 安装Java运行环境(JRE/JDK)
Hadoop依赖Java环境,推荐安装OpenJDK 8或11(兼容性更好)。以Ubuntu为例,执行以下命令:
sudo apt install openjdk-11-jdk
验证安装:java -version
(需显示Java版本信息)、javac -version
(验证编译器是否可用)。
3. 下载并解压Hadoop
从Apache Hadoop官网下载最新稳定版本(如3.3.5),解压至指定目录(如/usr/local
):
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz
sudo tar -zxvf hadoop-3.3.5.tar.gz -C /usr/local/
为方便使用,可将Hadoop目录重命名:sudo mv hadoop-3.3.5 hadoop
。
4. 配置Hadoop环境变量
编辑用户家目录下的.bashrc
文件(或全局配置文件/etc/profile
),添加以下内容:
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 根据实际Java安装路径调整
使配置生效:source ~/.bashrc
。
5. 配置Hadoop核心文件
进入$HADOOP_HOME/etc/hadoop
目录,修改以下关键配置文件:
- core-site.xml:设置HDFS的默认文件系统地址(单机模式为
localhost
,集群模式为NameNode IP/主机名):< configuration> < property> < name> fs.defaultFS< /name> < value> hdfs://localhost:9000< /value> < /property> < /configuration>
- hdfs-site.xml:配置NameNode和DataNode的数据存储路径,以及副本数(单机模式设为1,集群模式根据节点数量调整):
< configuration> < property> < name> dfs.replication< /name> < value> 1< /value> < /property> < property> < name> dfs.namenode.name.dir< /name> < value> /usr/local/hadoop/data/dfs/namenode< /value> < /property> < property> < name> dfs.datanode.data.dir< /name> < value> /usr/local/hadoop/data/dfs/datanode< /value> < /property> < /configuration>
- mapred-site.xml(若未存在,可复制
mapred-site.xml.template
生成):指定MapReduce运行框架为YARN:< configuration> < property> < name> mapreduce.framework.name< /name> < value> yarn< /value> < /property> < /configuration>
- yarn-site.xml:配置YARN的ResourceManager地址和Shuffle服务:
< 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> ```。
6. 配置SSH免密登录(集群模式必需)
若搭建多节点集群,需配置NameNode与其他节点(DataNode、ResourceManager等)之间的SSH免密登录:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa # 生成密钥对
cat ~/.ssh/id_rsa.pub >
>
~/.ssh/authorized_keys # 将公钥添加至授权文件
ssh-copy-id hadoop@node2 # 复制公钥到其他节点(替换node2为实际主机名/IP)
测试免密登录:ssh hadoop@node2
(无需输入密码)。
7. 格式化HDFS并启动集群
HDFS首次启动前需格式化NameNode(注意:格式化会清除HDFS中的所有数据,仅首次启动时执行):
hdfs namenode -format
启动HDFS(NameNode和DataNode)和YARN(ResourceManager和NodeManager)服务:
start-dfs.sh
start-yarn.sh
验证服务是否启动成功:
- 使用
jps
命令查看进程(应包含NameNode
、DataNode
、ResourceManager
、NodeManager
); - 访问Hadoop Web界面(HDFS:
http://localhost:50070
,YARN:http://localhost:8088
)。
8. 运行Hadoop MapReduce作业
通过命令行操作HDFS,上传本地数据并运行示例作业(以WordCount为例):
- 创建HDFS输入目录并上传本地文件:
hdfs dfs -mkdir -p /user/hadoop/input hdfs dfs -put /local/path/to/input.txt /user/hadoop/input/
- 运行MapReduce作业(需提前编译打包为JAR文件,如
wordcount.jar
):hadoop jar /path/to/wordcount.jar WordCount /user/hadoop/input /user/hadoop/output
- 查看作业结果:
hdfs dfs -cat /user/hadoop/output/part-r-00000 ```。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux如何支持Hadoop大数据处理
本文地址: https://pptw.com/jishu/716327.html