hadoop2.2.0 第三方jar包引入的操作方法
- 行业动态
- 2023-12-24
- 1
什么是Hadoop?
Hadoop是一个开源的分布式存储和计算框架,它可以在大规模数据集上进行高效的分布式处理,Hadoop的核心组件包括HDFS(Hadoop Distributed FileSystem)和MapReduce,HDFS是一个高度容错的分布式文件系统,可以在廉价的硬件上提供高吞吐量的数据访问,MapReduce是一种编程模型,用于处理和生成大型数据集,通过将计算任务分布到集群中的多个节点上,Hadoop可以有效地处理大量数据。
如何安装Hadoop?
1、下载Hadoop安装包
从Apache Hadoop官网下载相应版本的Hadoop安装包:https://hadoop.apache.org/releases.html
2、解压安装包
将下载的压缩包解压到指定目录,/usr/local/hadoop
3、配置环境变量
编辑~/.bashrc文件,添加以下内容:
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
然后执行source ~/.bashrc使配置生效。
4、配置Hadoop
编辑$HADOOP_HOME/etc/hadoop/core-site.xml文件,添加以下内容:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
编辑$HADOOP_HOME/etc/hadoop/hdfs-site.xml文件,添加以下内容:
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
5、格式化HDFS
执行以下命令格式化HDFS:
$HADOOP_HOME/bin/hdfs namenode -format
6、启动Hadoop集群
执行以下命令启动Hadoop集群:
$HADOOP_HOME/sbin/start-all.sh
7、验证Hadoop是否安装成功
执行以下命令查看Hadoop集群状态:
$HADOOP_HOME/bin/jps
如果看到NameNode、DataNode等进程,则说明Hadoop安装成功。
如何引入第三方jar包?
在Hadoop中引入第三方jar包有两种方法:一种是将jar包复制到Hadoop的lib目录下;另一种是使用Hadoop的类加载器机制动态加载jar包,下面分别介绍这两种方法。
1、将jar包复制到Hadoop的lib目录下
将需要引入的第三方jar包复制到Hadoop的lib目录下,/usr/local/hadoop/lib,在运行MapReduce作业时,使用-libjars参数指定需要加载的jar包,
$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-*.jar -files hdfs://localhost:9000/user/input.txt -files hdfs://localhost:9000/user/output.txt -mapper "python my_mapper.py" -reducer "python my_reducer.py" -inputformat org.apache.hadoop.mapred.TextInputFormat -outputformat org.apache.hadoop.mapred.TextOutputFormat -jobconf mapred.job.name="my_job" -libjars /usr/local/hadoop/lib/*.jar -verbose hdfs://localhost:9000/user/my_job_output
2、使用Hadoop的类加载器机制动态加载jar包
在运行MapReduce作业时,可以使用-archives参数指定需要加载的jar包,
$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-*.jar -files hdfs://localhost:9000/user/input.txt -files hdfs://localhost:9000/user/output.txt -mapper "python my_mapper.py" -reducer "python my_reducer.py" -inputformat org.apache.hadoop.mapred.TextInputFormat -outputformat org.apache.hadoop.mapred.TextOutputFormat -jobconf mapred.job.name="my_job" -archives hdfs://localhost:9000/user/my_job_input.zip,hdfs://localhost:9000/user/my_job_output.zip -verbose hdfs://localhost:9000/user/my_job_output
hdfs://localhost:9000/user/my_job_input.zip和hdfs://localhost:9000/user/my_job_output.zip分别是需要加载的两个jar包,它们的路径可以是本地文件系统或者HDFS上的路径,注意,这两个jar包必须是zip格式。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/356862.html