Hadoop1.2中配置伪分布式的实例
发布时间:2023-01-26 12:20:56
1、设置ssh
安装ssh相关软件包:
sudo apt-get install openssh-client openssh-server
然后使用下面两个命令之一启动/关闭sshd:
sudo /etc/init.d/ssh start|stop
sudo service ssh start|stop
若成功启动sshd,我们能看到如下类似结果:
$ ps -e | grep ssh
2766 ? 00:00:00 ssh-agent
10558 ? 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:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
<final>true</final>
</property>
</configuration>
fs.default.name来指定HDFS的uri,如果value中没有提供端口,默认为8020。
配置文件hadoop-1.2.1/conf/hdfs-site.xml:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.name.dir</name>
<value>~/hadoop-env/dfs/name1</value>
<final>true</final>
</property>
<property>
<name>dfs.data.dir</name>
<value>~/hadoop-env/dfs/data1,~/hadoop-env/dfs/data2</value>
<final>true</final>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>~/hadoop-env/dfs/checkpoint1</value>
<final>true</final>
</property>
</configuration>
dfs.name.dir指定namenode存储元数据的目录,可以指定多个目录,这些目录要用逗号分开;dfs.data.dir指定datanode存放数据的目录,可以指定多个目录;fs.checkpoint.dir指定辅助namenode存放检查点的目录。
配置文件hadoop-1.2.1/conf/mapred-site.xml:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
<final>true</final>
</property>
</configuration>
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),应该有如下类似输出:
$ jps
13592 DataNode
13728 SecondaryNameNode
13837 JobTracker
12864 NameNode
13955 TaskTracker
16069 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 items
drwxr-xr-x - user supergroup 0 2013-10-22 22:07 /test
drwxr-xr-x - user supergroup 0 2013-10-22 21:58 /tmp
$ ./hadoop-1.2.1/bin/hadoop dfs -ls /test
Found 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
OK,配置完成。
注:本文使用的系统是linux mint 15 64bit,hadoop使用的是1.2.1版本。
猜你喜欢
- Java基于对象流实现银行系统的具体代码,供大家参考,具体内容如下系统特点:数据持久化到文件中,系统启动后,加载文件中数据到集合中,相当于做
- 在学会了java中io流的使用后,我们对于数组的排序,又多了一种使用方法。大家知道流处理数据的效率是比较理想的,那么在具体操作数组排序上,很
- SlidingDrawer效果想必大家也见到过,它就是1.5模拟器上进入应用程序列表的效果。下面是截图一、简介 SlidingDr
- 一、堆栈内存堆栈内存,顾名思义,指的是堆内存以及栈内存,其中,堆内存是由Java GC进行管理的内存区域,而栈内存则是线程内存。关于栈内存,
- IoC的概念介绍控制反转(IOC)模式(又称DI:Dependency Injection)就是Inversion of Control,控
- PreparedStatement介绍可以通过调用 Connection 对象的 prepareStatement(String sql)
- 一、获取接口请求的数据可以在Interceptor的afterCompletion中实现但是要重写RequestWrapper代码记录如下:
- 前言SpringBoot是我们经常使用的框架,那么你能不能针对SpringBoot实现自动配置做一个详细的介绍。如果可以的话,能不能画一下实
- 在java项目开发过程中,使用properties文件作为配置基本上是必不可少的,很多如系统配置信息,文件上传配置信息等等都是以这种方式进行
- 本文实例讲述了Android+SQLite数据库实现的生词记事本功能。分享给大家供大家参考,具体如下:主activity命名为Dict:代码
- yml 文件规则yml文件的好处,天然的树状结构,一目了然,实质上跟properties是差不多的。不支持tab缩进可以使用 "-
- 本文主要介绍在SpringMVC框架整合Junit框架进行单元测试。闲话少述,让我们直入主题。系统环境软件版本spring-webmvc4.
- 项目介绍springboot搭建的访客管理系统,针对高端基地做严格把控来访人员信息管理,用户后端可以设置多个管理员帐号,给予不同部门的管理层
- 1: .net framework 由两个部分组成:CLR 和 FCL。2:在CLR中,所有错误都是通过异常来报告的。3:智能感知功能主要是
- 本文实例为大家分享了iOS新浪微博分享功能的具体代码,供大家参考,具体内容如下做新浪分享 需先去http://open.weibo.com/
- 查询返回Map<String,Object>类型mybatis 查询返回Map<String,Object> 类型,
- import java.io.IOException;import javax.xml.parsers.*;import javax.xml
- 如下面代码以交灯为示例:public class Test { public static
- 在Servlet2.5中,我们要实现文件上传功能时,一般都需要借助第三方开源组件,例如Apache的commons-fileupload组件
- 1、使用JPA 的@Enumerated 注解 ,可以直接将Enum映射到数据库中。但是value的值只有两种方式选择,一种是使用枚举的序号