最近项目闲下来,正好学习下目前流行的分布式系统框架,目前最火的就属hadoop了,
我这里首先是下当前最新的版本然后在公司的几台虚拟机上面进行折腾一翻,且看如下配置.
且参考出处:http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html
版本:2.2.0
这里的linux都是centos的系统.分别有以下三台机器做集群:
节点 IP 主机名
Master: 192.168.103.66 test66
slave1: 192.168.103.58 test58
slave2: 192.168.103.69 test69
1.设置对应的主机名:vi /etc/hosts
192.168.103.66 test66 192.168.103.69 test69 192.168.103.58 test58
注:每台节点的机器都设置一遍.
2.设置各节点间实现ssh无密码登录.
也就是一个无密码登录的公钥认证,其原理:Master(NameNode | JobTracker)作为客户端,要实现无密码公钥认证,连接到服务器Salve(DataNode | Tasktracker)上时,需要在Master上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的Slave上。当Master通过SSH连接Salve时,Salve就会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master。Master收到加密数之后再用私钥解密,并将解密数回传给Slave,Slave确认解密数无误之后就允许Master进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密码。重要过程是将客户端Master复制到Slave上。
请确保ssh和rsync已经安装了,查看命令:
rpm –qa | grep openssh rpm –qa | grep rsync
生成密钥对.
ssh-keygen –t rsa –P ''
这条命是生成其无密码密钥对,询问其保存路径时直接回车采用默认路径。生成的密钥对:id_rsa和id_rsa.pub,默认存储在"~/.ssh"目录下。
接着在Master节点上做如下配置,把id_rsa.pub追加到授权的key里面去
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
用root用户登录服务器修改SSH配置文件"/etc/ssh/sshd_config"的下列内容。
RSAAuthentication yes # 启用 RSA 认证 PubkeyAuthentication yes # 启用公钥私钥配对认证方式 AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
设置完之后记得重启SSH服务,才能使刚才设置有效.
service sshd restart
退出登录.然后重新登录之后执行如下:
ssh localhost
看是否需要输入密码登录,如果自动登录说明我们设置成功了.
同样的原理将Master机器上的公钥文件(id_rsa.pub)分别拷贝到slave1和slave2上面,执行如下命令:
scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/
例如:
scp ~/.ssh/id_rsa.pub test58:~/
这里到slave1(192.168.103.58)节点~/执行如下命令:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
同样slave2节点的部分同样,这里略,这种设置可以实现各节点机器无密码登录Master机器.
还有记得修改各节点的/etc/ssh/sshd_config 文件同Master机器配置的时候的步骤一样
同理反过来,Master无密码访问节点的设置一样,这里大家应该清楚了,有疑问可以留言,谢谢!
3.设置Java环境以及安装Hadoop.
在各节点机器上安装java环境,路径等最好保持一致.
这里的JAVA_HOME=/usr/java/jdk1.6.0_12/
讲下载下来的最新版本的hadoop-2.2.0.tar.gz解压到/var/opt/:
cd /var/opt tar -zxf hadoop-2.2.0.tar.gz
添加Java环境变量以及hadoop环境变量:
在"/etc/profile"文件的尾部添加以下内容:
#set java environment export JAVA_HOME=/usr/java/jdk1.6.0_12/ export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export HADOOP_HOME=/var/opt/hadoop export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$HADOOP_HOME/bin::$HADOOP_HOME/sbin
使其生效命令:
source /etc/profile
注:这里各节点机器步骤同样.
然后在Master机器上面分别进行配置:
vi /var/opt/hadoop/etc/hadoop/hadoop-env.sh vi /var/opt/hadoop/etc/hadoop/yarn-env.sh
都是修改 export JAVA_HOME=/usr/java/jdk1.6.0_12
其它节点的同样这样修改.
同样在Master(192.168.103.66)节点机器上:
vi /var/opt/hadoop/etc/hadoop/core-site.xml
配置如下内容:
<configuration> <property> <name>hadoop.tmp.dir</name> (备注:请先在 /var/opt/hadoop 目录下建立 tmp 文件夹) <value>/var/opt/hadoop/tmp</value> <description>A base for other temporary directories.</description> </property> <!-- file system properties --> <property> <name>fs.default.name</name> <value>hdfs://192.168.103.66:9000</value> </property> </configuration>
备注:如没有配置hadoop.tmp.dir参数,此时系统默认的临时目录为:/tmp/hadoo-hadoop。而这个目录在每次重启后都会被干掉,必须重新执行format才行,否则会出错。
配置hdfs-site.xml文件
vi /var/opt/hadoop/etc/hadoop/hdfs-site.xml
配置内容如下:
<property> <name>dfs.replication</name> <value>1</value> </property>
注:同样各节点机器配置相同.
配置mapred-site.xml文件:
vi /var/opt/hadoop/etc/hadoop/mapred-site.xml
配置内容如下:
<configuration> <property> <name>mapred.job.tracker</name> <value>http://192.168.103.66:9001</value> </property> </configuration>
注:同样各节点机器配置相同.
配置masters:
vi /var/opt/hadoop/etc/hadoop/masters
内容如下:
192.168.103.66
注:如果没有就新建这个文件.
注:同样各节点机器配置相同.
配置slaves(只有主机Master上面才进行配置):
vi /var/opt/hadoop/etc/hadoop/slaves
内容如下:
192.168.103.58 192.168.103.69
注:如果没有就新建.只在Master上进行配置.
4.启动以及验证.
格式化HDFS文件系统:
hadoop namenode -format
在"Master"上进行操作。(备注:只需一次,下次启动不再需要格式化,只需 start-all.sh)
准备启动hadoop,
准备启动hadoop之前集群中各机器上的防火墙需要关闭,不然会出现datanode开后又自动关闭。
service iptables stop
启动hadoop:
start-all.sh
启动 hadoop成功后,在 Master 中的 tmp 文件夹中生成了 dfs 文件夹,在Slave 中的 tmp 文件夹中均生成了 dfs 文件夹和 nm-local-dir 文件夹。
验证方法一:用"jps"命令
jps
验证方式二:用"hadoop dfsadmin -report"
hadoop dfsadmin -report
web查看:
界面如下展示:
NameNode 'test66:9000' (active)
Started: | Tue Dec 31 22:50:08 CST 2013 |
Version: | 2.2.0, 1529768 |
Compiled: | 2013-10-07T06:28Z by hortonmu from branch-2.2.0 |
Cluster ID: | CID-e4416aea-3eac-4a56-b130-c580b981732a |
Block Pool ID: | BP-1148259589-127.0.0.1-1388165246645 |
Browse the filesystem
NameNode Logs
Cluster Summary
Configured Capacity | : | 34.67 GB | |||
DFS Used | : | 48 KB | |||
Non DFS Used | : | 14.91 GB | |||
DFS Remaining | : | 19.76 GB | |||
DFS Used% | : | 0.00% | |||
DFS Remaining% | : | 56.99% | |||
Block Pool Used | : | 48 KB | |||
Block Pool Used% | : | 0.00% | |||
DataNodes usages | : | Min % | Median % | Max % | stdev % |
0.00% | 0.00% | 0.00% | 0.00% | ||
Live Nodes | : | 2 (Decommissioned: 0) | |||
Dead Nodes | : | 0 (Decommissioned: 0) | |||
Decommissioning Nodes | : | 0 | |||
Number of Under-Replicated Blocks | : | 0 |
NameNode Journal Status:
Current transaction ID: 8
Journal Manager | State |
FileJournalManager(root=/var/opt/hadoop/tmp/dfs/name) | EditLogFileOutputStream(/var/opt/hadoop/tmp/dfs/name/current/edits_inprogress_0000000000000000008) |
NameNode Storage:
Storage Directory | Type | State |
/var/opt/hadoop/tmp/dfs/name | IMAGE_AND_EDITS | Active |
Startup Progress
Loading fsimage /var/opt/hadoop/tmp/dfs/name/current/fsimage_0000000000000000002 (196 B) | 100.00% | 0sec |
inodes (1/1) | 100.00% | 0sec |
delegation keys (0/0) | 100.00% | 0sec |
delegation tokens (0/0) | 100.00% | 0sec |
Loading edits | 100.00% | 0sec |
/var/opt/hadoop/tmp/dfs/name/current/edits_0000000000000000003-0000000000000000003 (1 MB) (1/1) | 100.00% | 0sec |
Saving checkpoint | 100.00% | 0sec |
Safe mode | 100.00% | 0sec |
awaiting reported blocks (0/0) | 100.00% | 0sec |
Hadoop, 2013.
可以点击活动节点查看集群节点状态,至此hadoop已经部署成功,后面在进一步学习使用.
相关推荐
**Hadoop学习笔记详解** Hadoop是一个开源的分布式计算框架,由Apache基金会开发,主要用于处理和存储海量数据。它的核心组件包括HDFS(Hadoop Distributed File System)和MapReduce,两者构成了大数据处理的基础...
Hadoop是一种开源的分布式存储和计算系统,它由Apache软件基金会开发。在初学者的角度,理解Hadoop的组成部分以及其架构...随着技术的深入学习,应逐步掌握其安装部署、性能调优、故障处理以及与其他工具的集成使用。
【Hadoop集群环境搭建】 Hadoop是一个开源的分布式计算框架,它允许在大规模集群中运行应用程序,处理海量数据。在本文中,我们将详细介绍如何搭建一个Hadoop集群环境,包括必要的步骤和配置。首先,我们需要准备...
《Hadoop学习笔记》 Hadoop,作为大数据处理的核心框架,是开源社区的杰作,由Apache软件基金会维护。这份文档旨在深入解析Hadoop的基本概念、架构及其在大数据处理中的应用,帮助读者全面掌握这一重要技术。 一、...
### VMware下完全分布式Hadoop集群安装笔记 #### 一、准备工作与环境搭建 **1. 安装VMware** 在开始之前,首先需要一个虚拟化平台来模拟多台计算机之间的交互,这里选择的是VMware。根据您的操作系统选择合适的...
### Hadoop平台安装学习笔记知识点总结 #### 一、硬件与软件环境准备 - **硬件需求**:至少需要三个节点,这些节点可以是物理服务器或者是虚拟机。虚拟化方案推荐使用VMware ESXi来创建虚拟服务器,并通过VMware ...
【Hadoop学习笔记】 Hadoop 是一个开源框架,主要用于处理和存储大数据。它源自于解决互联网公司面临的海量数据处理问题,特别是Google发布的三篇技术论文,即GFS(Google File System)、MapReduce以及BigTable。...
### Hadoop 安装及详细学习笔记 #### Hadoop 概述 Hadoop 是一个能够对大量数据进行分布式处理的软件框架,它旨在提供高扩展性、可靠性和高效性,适用于处理PB级别的数据集。Hadoop 的核心组件包括 HDFS(Hadoop ...
Cloudera Manager是Cloudera提供的一种集群管理工具,可以快速部署和监控Hadoop集群。Hadoop的Common辅助工具集成了HDFS的数据存储、MapReduce的计算和资源调度功能。YARN(Yet Another Resource Negotiator)是...
【大数据云计算技术 Hadoop运维笔记】的PPT涵盖了Hadoop在蓝汛公司的应用实践,以及Cloudera的产品和运维经验。...通过学习这些内容,我们可以更好地掌握如何在复杂环境中部署、管理和优化Hadoop系统。
【Hadoop集群安装在VMware虚拟机中的详细步骤】 Hadoop是一种开源的分布式计算框架,源于谷歌的两份开创性白皮书。随着大数据时代的到来,Hadoop因其强大的分布式处理能力,被广泛视为下一个Linux级别的操作系统。...
### Hadoop Hive 入门学习笔记 #### 一、Hadoop Hive 概述 Hadoop Hive 是一个基于 Hadoop 的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能,使得 Hadoop 上的数据可以被...
手把手教你搭建分布式Hadoop家族集群视频教程(视频+讲义+笔记+配置),内容包括 Hadoop,SQOOP,Hive,Hbase的安装配置及集群搭建。内容包括但不限于: 01_回顾集群架构及配置集群时间同步 02_配置主节点与从节点...
### IT十八掌徐培成HADOOP笔记解析 #### Hadoop概述 Hadoop是一个开源的分布式计算框架,它能够高效地处理大型数据集,并通过在集群中的多台计算机上分配数据来实现高度的并行性。Hadoop的核心组成部分包括HDFS...
本学习笔记将深入探讨这两个工具的核心概念、应用场景以及如何将它们结合使用。 **Hadoop** 是一个开源框架,主要用于分布式存储和计算。它的核心组件包括HDFS(Hadoop Distributed File System)和MapReduce。HDFS...
- **安装指南**: 提供了详细的步骤来指导用户如何在本地或集群环境中安装和配置Hadoop。 - **API文档**: 针对Hadoop的各种API提供详细的说明,包括Java API文档,这对于开发者来说是非常宝贵的资源。 - **最佳...