博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
配置hadoop伪分布模式
阅读量:5838 次
发布时间:2019-06-18

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

hot3.png

使用的linux mint 15 64bit,hadoop使用的是1.2.1版本。
1、设置ssh
安装ssh相关软件包:
sudo apt-get install openssh-client openssh-server
然后使用下面两个命令之一启动/关闭sshd:
sudo /etc/init.d/ssh start|stopsudo service ssh start|stop
若成功启动sshd,我们能看到如下类似结果:
$ ps -e | grep ssh 2766 ?        00:00:00 ssh-agent10558 ?        00:00:00 sshd
这时候,如果运行如下ssh登录本机的命令,会提示输入密码:
ssh localhost
现在我们要做的就是让它不需要输入密码:
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa  #一个空密码的SSH密钥$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
这样的话就行了。如果仍不凑效,可能是密钥文件的权限设置不当。
2、配置hadoop
将hadoop-1.2.1解压到~/下,同时在~/下建立目录hadoop-env,继续在hadoop-env下建立如下的目录结构:
├── dfs│   ├── checkpoint1│   ├── data1│   ├── data2│   └── name1└── test    └── input
配置文件hadoop-1.2.1/conf/core-site.xml:
fs.default.name
hdfs://localhost:9000
true
fs.default.name来指定HDFS的uri,如果value中没有提供端口,默认为8020。
配置文件hadoop-1.2.1/conf/hdfs-site.xml:
dfs.name.dir
~/hadoop-env/dfs/name1
true
dfs.data.dir
~/hadoop-env/dfs/data1,~/hadoop-env/dfs/data2
true
fs.checkpoint.dir
~/hadoop-env/dfs/checkpoint1
true
dfs.name.dir指定namenode存储元数据的目录,可以指定多个目录,这些目录要用逗号分开;dfs.data.dir指定datanode存放数据的目录,可以指定多个目录;fs.checkpoint.dir指定辅助namenode存放检查点的目录。
配置文件hadoop-1.2.1/conf/mapred-site.xml:
mapred.job.tracker
localhost:9001
true
3、测试
先格式化HDFS:
./hadoop-1.2.1/bin/hadoop namenode -format
启动HDFS和MapReduce进程:
$ ./hadoop-1.2.1/bin/start-dfs.sh $ ./hadoop-1.2.1/bin/start-mapred.sh

启动时候如果报错,例如localhost: Error: JAVA_HOME is not set.,需要在./hadoop-1.2.1/conf/hadoop-env.sh文件中export JAVA_HOME,例如:

export JAVA_HOME=~/jdk1.7.0_25
如何检查是否成功启动了:
第一种方法是使用jps命令(Java Virtual Machine Process Status Tool),应该有如下类似输出:
$ jps13592 DataNode13728 SecondaryNameNode13837 JobTracker12864 NameNode13955 TaskTracker16069 Jps
第二种方法是浏览器登录http://localhost:50030查看jobtracker,http://localhost:50070查看namenode。如果在使用翻墙软件,那么在访问时可能会报错,最简单的解决方法是关掉翻墙软件。
还有一种方法就是查看日志文件。
现在我们在~/hadoop-env/test/input目录下建立两个文件:
$ echo "hello world" > test1.txt $ echo "hi,world" > test2.txt
把这两个文件导入HDFS:
./hadoop-1.2.1/bin/hadoop dfs -put hadoop-env/test/input/  output/
查看:
$ ./hadoop-1.2.1/bin/hadoop dfs -ls /Found 2 itemsdrwxr-xr-x   - user supergroup          0 2013-10-22 22:07 /testdrwxr-xr-x   - user supergroup          0 2013-10-22 21:58 /tmp$ ./hadoop-1.2.1/bin/hadoop dfs -ls /testFound 2 items-rw-r--r--   3 user supergroup         12 2013-10-22 22:07 /test/test1.txt-rw-r--r--   3 user supergroup          9 2013-10-22 22:07 /test/test2.txt
完成。
本文转到 ,欢迎访问。

转载于:https://my.oschina.net/letiantian/blog/170661

你可能感兴趣的文章
Immutable.js 以及在 react+redux 项目中的实践
查看>>
一文带你看懂cookie,面试前端不用愁
查看>>
安卓数据库 greenDAO3 使用之一项目配置、增删改查及升级
查看>>
每天学习一点JVM之:JAVA内存区域浅析
查看>>
聊一聊随机数安全
查看>>
Java 基础(十三)线程——上
查看>>
使用CentOS7安装配置Jenkins
查看>>
007-Cobbler批量自动化部署Windows10和Server 2019及激活
查看>>
RxJava 系列-3:使用 Subject
查看>>
makefile--函数定义与调用
查看>>
如何使用神器Stetho调试Volley
查看>>
《Java8实战》-第六章读书笔记(用流收集数据-01)
查看>>
JavaScript基础——回调(callback)是什么
查看>>
1小时学会:最简单的iOS直播推流(六)h264、aac、flv介绍
查看>>
慕课网Flask构建可扩展的RESTful API-6. 模型对象的序列化
查看>>
世界顶级公司的前端面试都问些什么
查看>>
前端代码规范
查看>>
记一次网络模块的小规模重构
查看>>
浅析Join关键字
查看>>
sketch-code让草图秒变HTML
查看>>