Hadoop使用(一)
hadoop框架
Hadoop使用主/从(Master/Slave)架构,主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracker组成。
其中NameNode,secondary NameNode,JobTracker运行在Master节点上,DataNode和TaskTracker运行在Slave节点上。
1,NameNode
NameNode是HDFS的守护程序,负责记录文件是如何分割成数据块的,以及这些数据块被存储到哪些数据节点上。它的功能是对内存及I/O进行集中管理。
2,DataNode
集群中每个从服务器都运行一个DataNode后台程序,后台程序负责把HDFS数据块读写到本地文件系统。需要读写数据时,由NameNode告诉客户端去哪个DataNode进行具体的读写操作。
3,Secondary NameNode
Secondary NameNode是一个用来监控HDFS状态的辅助后台程序,如果NameNode发生问题,可以使用Secondary NameNode作为备用的NameNode。
4,JobTracker
JobTracker后台程序用来连接应用程序与Hadoop,用户应用提交到集群后,由JobTracker决定哪个文件处理哪个task执行,一旦某个task失败,JobTracker会自动开启这个task。
4,TaskTracker
TaskTracker负责存储数据的DataNode相结合,位于从节点,负责各自的task。
hadoop的安装
1)安装SSH
sudo apt-get install ssh
2)安装java
3)安装hadoop
下载并解压缩
tar -zxvf hadoop-0.21.0.tar.gz
4)改变配置
指定java安装路径
使用vi
vi conf/hadoop-env.sh
添加
export JAVA_HOME = /usr/java/jdk1.7.0_01
可以使用三种模式安装,测试阶段可以使用单机模式。
在启动的时候可能会遇到很多问题,比如 22 connection refused
可以安装openssh,使用apt-get
sudo apt-get install openssh-client
sudo apt-get install openssh-server
sudo apt-get install chkconfig
使用chkconfig --list | grep sshd查看服务是否启动
使用ssh localhost
出现如下提示
输入密码后
出现欢迎页面,配置成功
免密码登录
ssh-keygen -t rsa
进入.ssh目录
执行
cp id_rsa.pub authorized_keys
重新ssh localhost,可以不输入密码
单机伪分布式:
进入目录/hadoop/conf
编辑 ~/hadoop/conf/core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop/hadoop-${user.name}</value>
</property>
</configuration>
编辑 ~/hadoop/conf/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
编辑 ~/hadoop/conf/mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
然后进入hadoop/bin目录
执行 ./hadoop namenode -format
执行start-all.sh
启动完成
打开浏览器,输入http://localhost:50030
就可以看到如下界面
运行示例 bin/hadoop jar hadoop-mapred-examples-0.21.0.jar wordcount in out
得到输出结果,配置成功!
安装eclipse插件
插件的路径在0.21下有所更改,路径如下
将插件拷到eclipse pluglin目录下
重启eclipse
启动后多出一个目录
就可以使用eclipse进行编程了。
- 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 数组属性和方法