您的位置:首页 > 运维架构

Hadoop—搭建伪分布和分布式实验环境

2014-11-25 12:00 393 查看


hadoop项目简介及伪分布环境搭建

1. Hadoop是什么?

适合大数据的分布式存储与计算平台
作者:Doug Cutting
受Google三篇论文的启发

2. 版本

Apache 官方版本(1.0.4)
Cloudera 使用下载最多的版本,稳定,有商业支持,在Apache的基础上打上了一些patch。推荐使用。
Yahoo Yahoo内部使用的版本,发布过两次,已有的版本都放到了Apache上,后续不再继续发布,而是集中在Apache的版本上。

3. Hadoop核心项目

HDFS: Hadoop Distributed File System 分布式文件系统

主从结构
主节点,只有一个: namenode
从节点,有很多个: datanodes
namenode负责:
维护文件系统的目录结构
管理文件与block之间关系,block与datanode之间关系
datanode负责:
存储文件
文件被分成block存储在磁盘上
为保证数据安全,文件会有多个副本

MapReduce:并行计算框架

主从结构
主节点,只有一个: JobTracker
从节点,有很多个: TaskTrackers
JobTracker负责:
接收客户提交的计算任务
把计算任务分给TaskTrackers执行
监控TaskTracker的执行情况
TaskTrackers负责:
执行JobTracker分配的计算任务

4. Hadoop的特点

扩容能力(Scalable):能可靠地(reliably)存储和处理千兆字节(PB)数据。
成本低(Economical):可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。
高效率(Efficient):通过分发数据,hadoop可以在数据所在的节点上并行地(parallel)处理它们,这使得处理非常的快速。
可靠性(Reliable):hadoop能自动地维护数据的多份副本,并且在任务失败后能自动地重新部署(redeploy)计算任务。

5. Hadoop物理集群分布

6. Hadoop部署方式

本地模式
伪分布模式
集群模式

7. 安装前准备软件

VitualVox 虚拟机
rhel-server-6.3-i386-dvd.iso linux系统
jdk-6u24-linux-xxx.bin jdk
hadoop-1.1.2.tar.gz hadoop

8. 伪分布模式安装步骤

(1) 关闭防火墙
(2)修改ip
(3)修改hostname
(4)设置ssh自动登录
(5)安装jdk
(6)安装hadoop

9. 伪分布模式安装步骤命令

1.搭建hadoop的伪分布环境
1.1修改ip
桌面右上角的网络连接图标上,右键修改。
执行命令service network restart
验证:执行命令ifconfig
注意:如果是host-only,ip段是192.168.56.xxx;如果是networking,ip段是192.168.3.xxx

1.2关闭防火墙
执行命令service iptables status 查看防火墙状态
执行命令service iptables stop 关闭防火墙
验证:执行命令service iptables status 查看防火墙状态,显示Firewall is not running成功

1.3关闭防火墙的自动运行
执行命令chkconfig --list|grep iptables 如果显示有on,意味着自动启动
执行命令chkconfig iptables off 关闭防火墙自动运行
验证:执行命令chkconfig --list|grep iptables 如果显示全部是off,意味着关闭了自动启动

1.4修改主机名
执行命令hostname查看当前主机名
执行命令hostname hadoop修改当前会话的主机名
执行命令vi /etc/sysconfig/network 修改文件配置中的主机名
验证:执行命令hostname或者重启linux

1.5绑定ip与主机名
执行命令ping hadoop发现无法解析,意味着没有绑定
执行命令vi /etc/hosts修改配置文件,增加一行记录 192.168.1.241 主机名
验证:执行命令ping hadoop发现有响应,以为着绑定成功
注意:如果在windows下使用,需要修改文件c:\windows\system32\drivers\etc\hosts

1.6ssh的免密码登录
执行命令ssh-keygen -t rsa产生密钥文件,回车4次,发现~/.ssh/多了两个文件
执行命令cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
验证:执行命令ssh itcast241 如果不需要输入密码,意味着成功

1.7安装jdk
使用winscp把jdk文件传到linux上的/usr/local文件夹下
执行命令chmod u+x jdk...赋予执行权限
执行命令./jdk...解压缩
执行命令mv jdk... jdk重命令
执行命令vi /etc/profile编辑环境变量文件,增加以下内容
export JAVA_HOME=/usr/local/jdk
export PATH=.:$JAVA_HOME/bin:$PATH
保存退出
执行命令source /etc/profile 使得环境配置立即生效
验证:执行命令java -version查看,显示HotSpot就成功了。

1.8安装hadoop

1.8.1 设置环境变量

使用winscp把hadoop-1.1.2.tar.gz文件传到linux上的/usr/local文件夹下
执行命令tar -zxvf hadoop-1.1.2.tar.gz解压缩
执行命令mv hadoop-1.1.2 hadoop重命名
执行命令vi /etc/profile配置环境变量,增加一行内容
export HADOOP_HOME=/usr/local/hadoop
修改一行内容
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
:wq 保存退出
执行命令source /etc/profile 使得环境配置立即生效

1.8.2 修改配置文件
修改了4个配置文件,分别是
(1)vi usr/local/hadoop/conf/hadoop-env.sh、将JAVA_HOME前#去掉改为
JAVA_HOME=/usr/local/jdk
(2)vi
usr/local/hadoop/conf/core-site.xml、
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>

(3)vi
usr/local/hadoop/conf/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

(4) vi
usr/local/hadoop/conf/mapred-site.xml。
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop:9001</value>
</property>
</configuration>
注意:其中core-site.xml和mapred-site.xml中的hadoop0改为自己的主机名。

1.8.2 启动
执行命令hadoop namenode -format格式化
执行命令start-all.sh启动hadoop
验证:(1)执行命令jps看到5个java进程,分别是
NameNode、
DataNode、
JobTracker、
TaskTracker、
SecondaryNameNode
(2)通过浏览器查看50070、50030端口 http://hadoop:50070 http://hadoop:50030

1.9常见hadoop启动时namenode启动失败的原因
*忘记格式化
*网络配置,如ip、hostname、绑定等
*复制了ppt的配置文件内容,但是忘记了修改hostname
*ssh免密码配置失败

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: