Ubuntu 16.04下Hadoop完全分布式搭建实战教程
本教程将详细介绍如何在Ubuntu 16.04操作系统下搭建Hadoop完全分布式环境。以下是搭建过程的步骤:
步骤一:安装Java
- 打开终端,输入以下命令安装Java:
shell
sudo apt-get update
sudo apt-get install default-jdk
- 验证Java安装是否成功:
shell
java -version
如果成功安装,将显示Java的版本信息。
步骤二:配置SSH免密码登录
- 生成SSH密钥:
shell
ssh-keygen -t rsa -P \"\"
- 将公钥复制到所有节点上:
shell
ssh-copy-id -i ~/.ssh/id_rsa.pub user@hostname
其中,user
是用户名,hostname
是节点的主机名或IP地址。
- 验证SSH免密码登录是否成功:
shell
ssh user@hostname
如果成功登录,将无需输入密码即可登录。
步骤三:下载和配置Hadoop
- 下载Hadoop压缩包:
shell
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
- 解压缩Hadoop压缩包:
shell
tar -xzvf hadoop-3.3.0.tar.gz
- 配置Hadoop环境变量:
打开~/.bashrc
文件,并添加以下内容:
shell
export HADOOP_HOME=/path/to/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
替换/path/to/hadoop-3.3.0
为Hadoop的实际路径。
- 更新环境变量:
shell
source ~/.bashrc
步骤四:配置Hadoop集群
- 编辑Hadoop配置文件:
shell
cd $HADOOP_HOME/etc/hadoop
nano core-site.xml
在<configuration>
标签中添加以下内容:
xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
- 编辑
hdfs-site.xml
文件:
shell
nano hdfs-site.xml
在<configuration>
标签中添加以下内容:
xml
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
这将设置数据的副本数为3。
- 配置
mapred-site.xml
文件:
shell
cp mapred-site.xml.template mapred-site.xml
nano mapred-site.xml
在<configuration>
标签中添加以下内容:
xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
- 配置
yarn-site.xml
文件:
shell
nano yarn-site.xml
在<configuration>
标签中添加以下内容:
xml
<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>
- 格式化Hadoop文件系统:
shell
hdfs namenode -format
步骤五:启动Hadoop集群
- 启动Hadoop集群:
shell
start-dfs.sh
start-yarn.sh
这将启动Hadoop的分布式文件系统和资源管理器。
- 验证Hadoop集群是否正常运行:
打开浏览器,访问http://localhost:9870
,将显示Hadoop集群的管理界面。
示例一:上传和运行MapReduce作业
- 创建一个输入目录并上传文件:
shell
hdfs dfs -mkdir /input
hdfs dfs -put /path/to/input/file /input
替换/path/to/input/file
为实际文件路径。
- 运行MapReduce作业:
shell
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.0.jar wordcount /input /output
这将对输入目录中的文件进行单词计数,并将结果输出到/output
目录。
- 查看作业结果:
shell
hdfs dfs -cat /output/part-r-00000
这将显示作业的输出结果。
示例二:运行HDFS命令
- 创建一个新目录:
shell
hdfs dfs -mkdir /newdir
- 查看目录列表:
shell
hdfs dfs -ls /
这将显示根目录下的文件和目录列表。
以上就是在Ubuntu 16.04下搭建Hadoop完全分布式环境的完整攻略。通过示例,你可以学习如何上传和运行MapReduce作业以及使用HDFS命令进行文件操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ubantu 16.4下Hadoop完全分布式搭建实战教程 - Python技术站