博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows下Hadoop安装部署
阅读量:2055 次
发布时间:2019-04-28

本文共 2800 字,大约阅读时间需要 9 分钟。

 

Hadoop依赖于Java运行环境,因此需要先安装Java运行环境,再安装部署Hadoop。

安装

以2.9.2为例进行说明(因winutils最高支持到2.9.2)。

  • 到Hadoop网站http://hadoop.apache.org/releases.html下载二进制版本;解压到目标路径(如D:\hadoop);
  • 到github网站https://github.com/cdarlint/winutils下载winutils(编译好的hadoop的windows版本二进制文件);复制到hadoop安装目录下的bin目录。

启动

文件复制好后,按照第二节的方式修改配置文件,然后格式化文件系统。在bin目录下执行:hdfs namenode -format

格式化完成后,到sbin目录下,启动hadoop:start-all.cmd

通过执行stop-all.cmd停止Hadoop。

查看

在浏览器中访问http://localhost:50070查看Hadoop状态。

访问http://localhost:8088查看集群状态。

配置文件修改

配置文件在安装目录的etc目录下,修改以下文件后,格式化完文件系统即可启动Hadoop了。

core-site.xml

添加

    
        
fs.defaultFS
        
hdfs://localhost:9000
    
    

hdfs-site.xml

replication设置为1,避免standalone模式时提示文件复制出错(默认情况下,文件需要存放三份)。

    
        
dfs.replication
        
1
    
    
            
dfs.namenode.name.dir
            
file:///D:/hadoop/data/dfs/namenode
        
        
            
dfs.datanode.data.dir
            
file:///D:/hadoop/data/dfs/datanode
      

mapred-site.xml

将mapred-site.xml.template重命名为mapred-site.xml,然后添加(以使用yarn管理资源为例)

    
        
mapreduce.framework.name
        
yarn
    

yarn-site.xml

添加

    
        
yarn.nodemanager.aux-services
        
mapreduce_shuffle
    
    
        
yarn.nodemanager.aux-services.mapreduce.shuffle.class
        
org.apache.hadoop.mapred.ShuffleHandler
    

常用端口说明

参数 说明 默认值 配置文件 示例
fs.default.name namenode namenode RPC交互端口 8020 core-site.xml hdfs://master:8020/
dfs.http.address NameNode web管理端口 50070 hdfs- site.xml 0.0.0.0:50070
dfs.datanode.address datanode 控制端口 50010 hdfs- site.xml 0.0.0.0:50010
dfs.datanode.ipc.address datanode的RPC服务器地址和端口 50020 hdfs- site.xml 0.0.0.0:50020
dfs.datanode.http.address datanode的HTTP服务器和端口 50075 hdfs- site.xml 0.0.0.0:50075

出错处理

JAVA_HOME带空格

Hadoop在处理带有空格的Java路径时,会存在问题。若Java安装在带空格的目录下,需修改libexec\hadoop-config.cmd文件:

  • %JAVA_HOME%\bin\java.exe加上双引号 "%JAVA_HOME%\bin\java.exe"
  • set JAVA=%JAVA_HOME%\bin\java加上双引号set JAVA="%JAVA_HOME%\bin\java"
  • for循环中增加usebackq选项:for /f "usebackq delims=" %%A in ('%JAVA% -Xmx32m %HADOOP_JAVA_PLATFORM_OPTS% -classpath "%CLASSPATH%" org.apache.hadoop.util.PlatformName') do set JAVA_PLATFORM=%%A

启动出错

通过start-all启动Hadoop时,若报找不到文件:

  • 设置环境变量HADOOP_BIN_PATH为Hadoop的bin目录;
  • 修改start-dfs.cmd和start-yarn.cmd两个批处理文件,在start hadoop **start yarn **前设定当前目录为HADOOP_BIN_PATH(即添加cd /d %HADOOP_BIN_PATH%)。

停止出错

通过Stop-all停止Hadoop时,若提示找不到活动的任务,则说明TaskKill杀进程时未找到对应的运行程序(通过查找窗口标题):

  • 修改stop-dfs.cmd和stop-yarn.cmd中的TaskKill /FI "WINDOWTITLE eq **"(把要查找的标题,修改为真实的命令行窗口标题即可)。

转载地址:http://kgnlf.baihongyu.com/

你可能感兴趣的文章
【面试】一份自我介绍模板
查看>>
【自动化测试】自动化测试需要了解的的一些事情。
查看>>
【selenium】selenium ide的安装过程
查看>>
【手机自动化测试】monkey测试
查看>>
【英语】软件开发常用英语词汇
查看>>
Fiddler 抓包工具总结
查看>>
【雅思】雅思需要购买和准备的学习资料
查看>>
【雅思】雅思写作作业(1)
查看>>
【雅思】【大作文】【审题作业】关于同不同意的审题作业(重点)
查看>>
【Loadrunner】通过loadrunner录制时候有事件但是白页无法出来登录页怎么办?
查看>>
【Python】Python 读取csv的某行或某列数据
查看>>
【Loadrunner】性能测试:通过服务器日志获取性能需求
查看>>
【python】BeautifulSoup的应用
查看>>
【Python】接口自动化测试-Fidder的使用(未完待续……)
查看>>
【Python】自动化测试框架-共通方法汇总
查看>>
【Python】if相关知识点
查看>>
【Python】xpath中为什么粘贴进去代码后老报错?如何在定位元素的时候准确找到定位切入点?...
查看>>
Loadrunner解决启动浏览器后页面显示空白
查看>>
【Python】唯品会购买商品
查看>>
【JMeter】如何录制创建及得到曲线图
查看>>