Hadoop学习记录(1)|伪分布安装
本文转载自向着梦想奋斗博客
Hadoop是什么?
适合大数据的分布式存储于计算平台
不适用小规模数据
作者:Doug Cutting
受Google三篇论文的启发
Hadoop核心项目
HDFS(Hadoop Distrubuted File System) 分布式文件系统
MapReduce 并行计算框架
版本
Apache
官方版本
Cloudera
使用下载最多的版本,稳定,有商业支持,在Apache的基础上打上了一些补丁(Patch)。推荐使用。
Yahoo
Yahoo内部使用的版本,发不过两次,已有的版本放到Apache上,后续不在继承发布,而是继承在Apache的版本上。
Intel、IBM、微软等等。。。
HDFS架构
主从结构
主节点,只有一个namenode
从节点,有很多歌datanode
namenode负责:
接收用户操作的请求
维护文件系统的目录结构
管理文件与block之间关系,block与datanode的关系
datanode负责:
存储文件
文件被分成block存储在磁盘上
为了保证数据安全,文件会有多个副本
MapReduce架构
主从结构
主节点:只有一个JobTracker
从节点:有很多歌TaskTrackers
JobTracker负责
接收客户提交的计算任务
把计算任务分给TaskTrackers执行
监控TaskTrackers的执行情况
TaskTrackers负责
执行JobTracker分配的计算任务
Hadoop的特点
扩容能力,可以存储PB级别数据
成本低,可以用普通组装服务器做集群
高效率,可以分发数据并行处理
可靠性,自动维护多个副本,任务使用可以自动部署计算任务
Hadoop集群的物理分布

单点结构图

Hadoop部署方式
本地模式(不使用)
伪分布模式(实验学习使用,模拟集群模式)
集群模式(生产环境使用)
安装前软件准备
虚拟机(VitualBox/Vmware/Xen)
操作系统(Centos/RedHat..)
Jdk
Hadoop安装包
Hadoop伪分布安装步骤
1、关闭防火墙
chkconfig iptables off 关闭开机启动
service iptables stop 关闭运行的防火墙
2、修改ip
vi /etc/sysconfig/network-script/ifcfg-eth0
3、修改hostname
vi /etc/sysconfig/network
修改hostname
4、设置ssh密钥登陆
ssh-keygen -t rsa
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
5、安装jdk
chmod 755 jdk* 设置执行权限
./ jdk-6u24-linux-i586.bin 解压
cp -rf jdk1.6.0_24/ /usr/local/jdk 拷贝目录指定目录,可以自己指定
vi /etc/profile 设置环境变量
添加export JAVA_HOME=/usr/local/jdk
export PATH=.:$JAVA_HOME/bin:$PATH
source /etc/profile 立即生效
验证
java –version
出现以下内容表示成功
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode)
6、安装hadoop
解压
tar -zxvf hadoop-1.1.2.tar.gz -C /usr/src/
[root@h1 soft]# cd /usr/src/
[root@h1 src]# cp -rf hadoop-1.1.2/ /usr/local/hadoop
修改环境变量
vi /etc/profile
添加
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
source /etc/profile 立即生效
修改配置文件
修改hadoop-env.sh
添加jdk环境变量配置
export JAVA_HOME=/usr/local/jdk
修改core-site.xml
<configuration>
设置默认名称和端口号
<property>
<name>fs.default.name</name>
<value>hdfs://h1:9000</value>
</property>
设置临时目录存储位置,一般放在单独磁盘目录
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
修改hdfs-site.xml
<configuration>
副本数量
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
关闭权限验证
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
修改mapred-site.xml
<configuration>
<!-- setting mapreduce name and port -->
<property>
<name>mapred.job.track</name>
<value>h1:9001</value>
</property>
</configuration>
格式化文件系统
hadoop namenode -format
启动
start-all.sh
验证
[root@h1 conf]# jps
6366 TaskTracker
5844 NameNode
6466 Jps
6135 SecondaryNameNode
6223 JobTracker
5989 DataNode
http://h1:55070/访问namenode监控首页
http://h1:50030/访问mapreduce监控首页
本文转载自向着梦想奋斗博客
Hadoop学习记录(1)|伪分布安装的更多相关文章
- 启动原生Hadoop集群或伪分布环境
一:启动Hadoop 集群或伪分布安装成功之后,通过执行./sbin/start-all.sh启动Hadoop环境 通过jps命令查看当前启动进程是否正确~ [root@neusoft-master ...
- hadoop 2.6伪分布安装
hadoop 2.6的“伪”分式安装与“全”分式安装相比,大部分操作是相同的,主要区别在于不用配置slaves文件,而且其它xxx-core.xml里的参数很多也可以省略,下面是几个关键的配置: (安 ...
- 2015.07.12hadoop伪分布安装
hadoop伪分布安装 Hadoop2的伪分布安装步骤[使用root用户用户登陆]other进去超级用户拥有最高的权限 1.1(桥接模式)设置静态IP ,,修改配置文件,虚拟机IP192.168. ...
- CentOS 6.5 伪分布安装
CentOS 6.5 伪分布安装 软件准备 jdk-6u24-linux-i586.bin .hadoop-1.2.1.tar.gz.hadoop-eclipse-plugin-1.2.1.jar ...
- hadoop 2.7.3伪分布式安装
hadoop 2.7.3伪分布式安装 hadoop集群的伪分布式部署由于只需要一台服务器,在测试,开发过程中还是很方便实用的,有必要将搭建伪分布式的过程记录下来,好记性不如烂笔头. hadoop 2. ...
- Hadoop生态圈-hbase介绍-伪分布式安装
Hadoop生态圈-hbase介绍-伪分布式安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HBase简介 HBase是一个分布式的,持久的,强一致性的存储系统,具有近似最 ...
- centos 7下Hadoop 2.7.2 伪分布式安装
centos 7 下Hadoop 2.7.2 伪分布式安装,安装jdk,免密匙登录,配置mapreduce,配置YARN.详细步骤如下: 1.0 安装JDK 1.1 查看是否安装了openjdk [l ...
- hadoop: hbase1.0.1.1 伪分布安装
环境:hadoop 2.6.0 + hbase 1.0.1.1 + mac OS X yosemite 10.10.3 安装步骤: 一.下载解压 到官网 http://hbase.apache.org ...
- hadoop伪分布安装
解压 将安装包hadoop-2.2.0.tar.gz存放到/home/haozhulin/install/目录下,并解压 #将hadoop解压到/home/haozhulin/install路径下,定 ...
随机推荐
- BZOJ 2173 整数的lqp拆分
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2173 题意:给出输出n.设一种拆分为n=x1+x2+x3,那么这种拆分的价值为F(x1) ...
- 安装hadoop
生成yum源 cd /var/ftp/pub/cdh/5 createrepo --update . 从节点 yum clean all 配置yum库 /etc/yum.repos.d # cat / ...
- 【转+分析】JAVA: 为什么要使用"抽象类"? 使用"抽象类"有什么好处?
老是在想为什么要引用抽象类,一般类不就够用了吗.一般类里定义的方法,子类也可以覆盖,没必要定义成抽象的啊. 看了下面的文章,明白了一点. 其实不是说抽象类有什么用,一般类确实也能满足应用,但是现实中确 ...
- HDU 3294 (Manacher) Girls' research
变形的求最大回文子串,要求输出两个端点. 我觉得把'b'定义为真正的'a'是件很无聊的事,因为这并不会影响到最大回文子串的长度和位置,只是在输出的时候设置了一些不必要的障碍. 另外要注意一下原字符串s ...
- 另类方法解决设计Web页面出现:Error Creating Control
在B/S开发的过程中,经常会遇到这样的提示:Error Creating Control ,而这些页面明明之前是可以打开的,但还是出现如下图所示: 网上找到的方法是把控件初始化放在OnInit里去写, ...
- UIDevice通知
UIDevice通知 UIDevice类提供了一个单例对象,它代表着设备,通过它可以获得一些设备相关的信息,比如电池电量值(batteryLevel).电池状态(batteryState).设备的类型 ...
- iPad中控制器view初始的width和height
1> 规律 * width 是宽高中最小的那个值 * height 是宽高中最大的那个值 2> 举例(比如窗口根控制器的view,有状态栏的情况下) * 横屏 width = 748,h ...
- toB的产品经理和toc产品经理区别
腾讯产品经理现身说法 曾经在UC做过2年to c的app,现在在腾讯做to b的产品. 做to c产品的时候,我很瞧不起做to b产品的同学,认为他们不过是做支撑的. 后来,我参与了一个to b平台级 ...
- ecshop 调用指定分类的推荐,热卖,新品
未测试 1.includes/lib_goods.php文件.把SQL语句改一下,与category表关联即可 将 $sql = 'SELECT g.goods_id,g.goods_name, g. ...
- ThreadPoolExecutor使用和思考(上)-线程池大小设置与BlockingQueue的三种实现区别
工作中多处接触到了ThreadPoolExecutor.趁着现在还算空,学习总结一下. 前记: jdk官方文档(javadoc)是学习的最好,最权威的参考. 文章分上中下.上篇中主要介绍ThreadP ...