阅读量:3
一、前置准备:安装Java环境
Hadoop依赖Java运行环境,需先安装OpenJDK 11(推荐):
sudo apt update
sudo apt install openjdk-11-jdk
# 验证安装
java -version # 应输出Java版本信息
javac -version # 验证编译器
二、下载并解压Hadoop
- 从Apache官网下载稳定版Hadoop(如3.3.1):
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz - 解压到
/usr/local目录(需管理员权限):sudo tar -xzvf hadoop-3.3.1.tar.gz -C /usr/local/ - (可选)重命名解压后的目录以便管理:
sudo mv /usr/local/hadoop-3.3.1 /usr/local/hadoop
三、配置环境变量
编辑当前用户的~/.bashrc文件(仅影响当前用户),添加Hadoop路径:
nano ~/.bashrc
在文件末尾添加以下内容(替换/usr/local/hadoop为实际解压路径):
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
保存后使配置生效:
source ~/.bashrc
验证环境变量:
echo $HADOOP_HOME # 应输出Hadoop安装路径
hadoop version # 应显示Hadoop版本信息
四、配置Hadoop核心文件
进入Hadoop配置目录($HADOOP_HOME/etc/hadoop),修改以下文件:
1. core-site.xml(HDFS默认文件系统)
<configuration>
<property>
<name>fs.defaultFSname>
<value>hdfs://localhost:9000value>
property>
configuration>
2. hdfs-site.xml(HDFS配置)
<configuration>
<property>
<name>dfs.replicationname>
<value>1value>
property>
<property>
<name>dfs.namenode.name.dirname>
<value>/usr/local/hadoop/data/namenodevalue>
property>
<property>
<name>dfs.datanode.data.dirname>
<value>/usr/local/hadoop/data/datanodevalue>
property>
configuration>
3. mapred-site.xml(MapReduce框架)
若文件不存在,先复制模板:
cp mapred-site.xml.template mapred-site.xml
修改内容:
<configuration>
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
configuration>
4. yarn-site.xml(YARN配置)
<configuration>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.classname>
<value>org.apache.hadoop.mapred.ShuffleHandlervalue>
property>
<property>
<name>yarn.resourcemanager.hostnamename>
<value>localhostvalue>
property>
configuration>
五、格式化HDFS并启动集群
- 格式化HDFS(首次启动前必须执行,清除旧数据):
hdfs namenode -format - 启动HDFS和YARN:
start-dfs.sh # 启动HDFS(NameNode、DataNode) start-yarn.sh # 启动YARN(ResourceManager、NodeManager) - 验证进程:
正常输出应包含以下进程:jpsNameNode(HDFS主节点)DataNode(HDFS数据节点)ResourceManager(YARN资源管理器)NodeManager(YARN节点管理器)
六、常用Hadoop命令行操作
1. HDFS文件系统操作
- 查看HDFS根目录文件列表:
hdfs dfs -ls / - 递归查看目录内容:
hdfs dfs -ls -R / - 创建HDFS目录(
-p参数自动创建父目录):hdfs dfs -mkdir -p /user/hadoop/input - 上传本地文件到HDFS:
hdfs dfs -put ~/local_file.txt /user/hadoop/input/ - 下载HDFS文件到本地:
hdfs dfs -get /user/hadoop/input/local_file.txt ~/downloaded_file.txt - 删除HDFS文件/目录(
-r递归删除目录):hdfs dfs -rm -r /user/hadoop/input/
2. MapReduce作业提交
运行Hadoop自带的WordCount示例(统计文本词频):
# 输入目录(需提前创建并上传文件)
hdfs dfs -mkdir -p /input
hdfs dfs -put ~/local_text.txt /input/
# 执行WordCount
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /input /output
# 查看输出结果
hdfs dfs -cat /output/part-r-00000
七、常见问题排查
- 端口占用:若启动时报“端口已被占用”,可通过
sudo lsof -i :9000(HDFS端口)或sudo lsof -i :8088(YARN端口)查看占用进程,用kill -9终止。 - 权限问题:确保HDFS数据目录(
dfs.namenode.name.dir、dfs.datanode.data.dir)有正确的读写权限(chown -R $USER:$USER /usr/local/hadoop/data)。 - Java环境错误:若出现
JAVA_HOME not set,需检查~/.bashrc中的JAVA_HOME配置并重新加载。
以上就是关于“如何在Ubuntu上使用Hadoop命令行”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm