当前位置: 首页 > Linux

Hadoop伪分布式环境搭建

时间:2023-04-07 00:36:40 Linux

实验题目:Hadoop单机伪分布式环境搭建及WordCount程序测试实验硬件环境:Inteli5-8250u1.6GHzRAM8GBddr4软件环境:Ubuntu18.04.1LTS、IDEA、Hadoop2.7.7实验步骤:1.创建hadoop用户(以下操作均在hadoop用户下完成)useraddhadoop-s/bin/hash#创建名为hadoop的用户passwdhadoop#设置hadoop用户的密码adduserhadoopsudo#可选,为了后面hadoop用户下的环境配置方便2.安装SSH并配置无密码登录sudoapt-getinstallopenssh-server安装成功后,运行以下命令完成无密码登录的配置sshlocalhost#登录ssh,要求输入当前用户的密码exit#退出登录cd~/.ssh/#进入.ssh目录ssh-keygen-trsa#生成秘钥cat./id_rsa.put>>./authorized_keys#添加授权完成配置,3.安装JDK添加JDK安装路径exportJAVA_HOME=/usr/lib/jvm/jdk-11.0.2exportJRE_HOME=$JAVA_HOME/jreexportCLASSPATH=.:$JAVA_HOMEinbashrcfile/lib:$JRE_HOME/lib:$CLASSPATHexportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH使bashrc完成后生效source~/.bashrcjava-version#查看java版本图片说明4、安装Hadoop2.7。7官网下载Hadoop2.7.7(不推荐使用Hadoop3.*版本,问题多,论坛解决方案少)解压Hadoop文件到/usr/local/hadoop,配置Hadoop路径#bashrc,添加如下三行exportHADOOP_HOME=/usr/local/hadoopexportHADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/nativeexportPATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin#启用bashrcsource~/.bashrchadoop-version#查看hadoop是否安装成功图片说明5.修改配置文件(1)修改hadoop-env。sh(/usr/local/hadoop/etc/hadoop/)主要改JAVA_HOMEexportJAVA_HOME=/usr/lib/jvm/jdk-11.0.2(部分配置文件为$exportJAVA_HOME=${JAVA_HOME}),(2)修改core-site.xml(/usr/local/hadoop/etc/hadoop/)hadoop.tmp.dirfile:/usr/local/hadoop/tmp其他临时目录的基础fs.defaultFShdfs://localhost:9000(3)修改hdfs-site.xml(/usr/local/hadoop/etc/hadoop/)dfs.replication1dfs.namenode.name.dirfile:/usr/local/hadoop/tmp/dfs/namedfs.datanode.data.dirfile:/usr/local/hadoop/tmp/dfs/data(4)配置完成,格式化Namenodecd/usr/local/hadoop/bin./hdfsnamenode-formatseeStorage目录×××已经格式化成功。andExitingwithStatus0表示格式正确(5)打开守护进程/usr/local/hadoop/sbin/start-dfs.sh#Start/usr/local/hadoop/sbin/stop-dfs.sh#Closeand开始通过jps查看java进程的状态图描述至此,单机伪分布式集群配置完成。5.在IDEA上编写并运行MapReduce程序(1)创建一个Maven项目(2)在新建项目中,依次选择File->ProjectStructure,在新窗口中选择ProjectSetting下的Modules,添加一个随机的Module姓名在右侧窗口选择Dependencies页面,添加JAR或目录,添加的文件主要有/usr/local/hadoop/share/hadoop/common、/usr/local/hadoop/share/hadoop/common/lib、/usr/local/hadoop/share/hadoop/hdfs,/usr/local/hadoop/share/hadoop/hdfs/lib,/usr/local/hadoop/share/hadoop/mapreduce,/usr/local/hadoop/share/hadoop/mapreduce/lib、/usr/local/hadoop/share/hadoop/tools/lib、/usr/local/hadoop/share/hadoop/yar/lib下的jar包(建议全部添加)6.编写MapReduce程序7.Stand-单独运行MapReduce程序(1)依次点击Run->EditConfiguration,添加一个Application配置,名称可选,MainClass为MapReduce的主程序,Programarguments为运行程序所需的参数,即程序的输入目录和输出目录(2)点击运行,在单机上运行MapReduce程序(输出文件夹会在项目根目录下由程序自己创建,不需要在提前,否则会出现错误)对于海伦凯勒的“我的生活故事。txt”为WordCount部分结果显示图片说明8.使用伪分布式集群运行MapReduce程序(1)使用IDEA生成jar包依次点击File->ProjectStructure,在ProjectSettings下选择Artifacts,添加一个JAR,点击OK。在主界面依次点击Build->BuildArtifacts->Build,IDEA会在根目录下生成一个out文件夹,在/out/artifacts/下是一个打包好的jar包字数。(2)上传数据文件到HDFS首先点开HDFS的安全模式hdfsdfsadmin-safemodeleave查看/user目录下的文件hdfsdfs-ls/user#如果提示没有这个文件夹,可以createhdfsdfs-mkdir/user使用-put命令上传本地数据文件到HDFSshdfsdfs-mkdir/user/hadoophdfsdfs-mkdir/user/hadoop/input#创建输入目录hdfsdfs-put/localfilepath/user/input#上传文件将IDEA生成的jar包复制到hadoop目录下,使用hadoop运行jar包hadoopjarWordCount.jarWordCountinputoutput运行后HDFS会生成一个/user/hadoop/output目录存放程序运行状态及结果hdfsdfs-ls/user/hadoop/输出图像说明使用HDFS命令-copyToLocal下载part-r-00000文件查看程序运行结果。参考文档:搭建hadoop的具体步骤—第一章(伪分布式)[https://zhuanlan.zhihu.com/p/...]SSH配置无密码登录后,仍然需要输入密码——解决方法[https://blog.csdn.net/xiaoyi3...]《深入理解大数据——大数据处理与编程实践》