hadoop伪分布模式配置
时间:2019-08-09
本文章向大家介绍hadoop伪分布模式配置,主要包括hadoop伪分布模式配置使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1. 伪分布配置
实验条件:1台ubuntu服务器,jdk版本1.8.X,Hadoop 版本1.2.X
1.1 ssh localohost
如果不输入口令就无法用ssh登陆localhost,即ssh免密登陆,则执行下面的命令,产生公私钥对,
将私钥放入authorized_keys
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
坑1 ssh端口不对
ssh默认端口是22,但是服务器往往基于安全考虑会修改默认端口,这里要注意,如果修改了ssh端口,
则需要修改默认端口,或者再加一个ssh端口
ps:跟另一个服务器管理员互相该端口和配置文件
1.2 配置/cong/core-site.xml
- 设置hdfs的tmp目录,hadoop会默认把data和name目录放在tmp中
- hdfs默认端口号地址,临时文件存放目录信息
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
1.3 配置/cong/hdfs-site.xml
设置hdfs的节点个数和信息,包括hdfs的节点路径、数据路径!
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
坑2 hdfs-site.xml中手动设置namenode和datanode的路径和文件
错误示范
如此设置后我碰到的错误是:hadoop namenode -format 无效,报错NameNode is not formatted.
启动hdfs后,namenode无法启动,因为我这个版本目前无需手动设置namenode和datanode路径。
1.4 /cong/mapred-site.xml
设置jobtracker的地址和端口号!
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
2. 验证伪分布式开发环境是否搭建成功
2.1 格式化hadoop的namenode
$HADOOP_HOME/bin/hadoop namenode -format
2.2 启动服务
$HADOOP_HOME//bin/start-all.sh
2.3 用 jps 命令看启动情况
2.3.1 如果NameNode和DataNode进程未启动
到hadoop的logs目录查看日志,查看未启动进程的相应日志,如hadoop-username-namenode-XXXXXXX.log,根据最近的未启动报错查找原因。
- 如果报错是NameNode is not formatted.,则尝试查看start-all.sh前是否执行了format ,如果没有,则先结束服务(见2.4),然后删除且重建$HADOOP_HOME/tmp,接着执行format,再启动服务(见2.2)试试。如果执行了format,则进入下一步。
- 如果出现1中的错误,且执行过format,则尝试查看cong文件中的hdfs-site.xml的配置是否合适,参考1.3中的坑2
- DataNode等的日志报错也是同样的处理思路。
2.4 结束服务
$HADOOP_HOME//bin/stop-all.sh
参考
给我带来帮助,同时也引入坑的参考:
https://hadoop.apache.org/docs/r1.0.4/cn/quickstart.html
https://blog.csdn.net/henni_719/article/details/77732815
https://www.cnblogs.com/hopelee/p/7049819.html
原文地址:https://www.cnblogs.com/ChengzhiYang/p/11329442.html
- 在Managed Code通过Google Gmail发送邮件以及如何通过Outlook配置Gmail
- 平方根的C语言实现(一) —— 浮点数的存储
- 用awk写递归
- bc计算A股上市新股依次涨停股价
- ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式
- python访问http的GET/POST
- 用openssl库RSA加密解密
- Kobject浅析
- ASP.NET Core应用的错误处理[2]:DeveloperExceptionPageMiddleware中间件如何呈现“开发者异常页面”
- RSA简介(二)——模幂算法
- 为虚拟机vCPU绑定物理CPU
- RSA简介(三)——寻找质数
- RSA简介(四)——求逆算法
- 平方根的C语言实现(三) ——最终程序实现
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法