目前我们使用的是hadoop的核心功能,在hadoop的网站上就是hadoop-core,里面包括两个部分,一个是HDFS,也就是hadoop distributed filesysem.一个是mapred,一个map/reduce的框架。
在hadoop的架构中,对于hdfs,存在一个namenode,多个datanode,namenode存储的是各个datanode的元数据,比如他所在的服务器地址,存储了那些数据块等。当客户端访问hdfs时,他首先和namenode交互,得到他要的具体的datanode的信息,然后就可以和datanode进行交互了。也就相当于namenode是个路由表一样的情况。对于mapred,存在一个jobtracker,多个tasktracker,jobtracker的客户端组装job,描述map任务,reduce任务,输入输出的类型,最后把这个job提交给jobtracker。jobtracker会和namenode沟通,了解要操作的数据所在的位置,尽量的让任务在数据所在的服务器上执行。现在配置的服务器有3台,IP地址分别为192.168.16.107, 192.168.16.108,192.168.16.109.其中107这台会同时作为namenode和jobtracker,而108和109作为datanode和tasktracker.
下面我们开始配置分布式的hadoop,一,首先给几台服务器取名,这里107取名为m1,108为s1,109为s2.107上修改为
192.168.16.107 m1
192.168.16.108 s1
192.168.16.109 s2运行命令hostname m1测试一下,确定ping m1,ping s1,ping s2都能ping到。中间可能需要重启服务器。108上修改为
192.168.16.107 m1
192.168.16.108 s1运行命令hostname s1
测试一下,确定ping m1,ping s1都能ping到。中间可能需要重启服务器。109上修改为
192.168.16.107 m1
192.168.16.109 s2运行命令hostname s2
测试一下,确定ping m1,ping s2都能ping到。中间可能需要重启服务器。二,配置ssh证书,保证m1在执行ssh s1,ssh s2这样的命令时不需要输入密码。在m1服务器上执行ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys拷贝id_dsa.pub到s1服务器上,执行cat id_dsa.pub >> ~/.ssh/authorized_keys
拷贝id_dsa.pub到s2服务器上,执行cat id_dsa.pub >> ~/.ssh/authorized_keys
执行上面的命令时如果没有相应目录,则先创建测试一下,第一次执行ssh s1,ssh s2需要确认一下,是为了增加known host。三,修改nutch/conf下的几个配置文件,1)master的内容修改为
m1,2)salves的内容修改为
s1
s23)hadoop-env.sh,
export JAVA_HOME=/opt/java/latest
export HADOOP_HOME=/root/nutch_bin
export HADOOP_CONF_DIR=/root/nutch_bin/conf4)修改hadoop-site.xml<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://m1:9000</value>
</property><property>
<name>mapred.job.tracker</name>
<value>m1:9001</value>
</property><property>
<name>hadoop.tmp.dir</name>
<value>/root/nutch_bin/tmp</value>
</property><property>
<name>dfs.name.dir</name>
<value>/root/nutch_bin/filesystem/name</value>
</property><property>
<name>dfs.data.dir</name>
<value>/root/nutch_bin/filesystem/data</value>
</property><property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>5)如3所示,nutch_bin目录在/root下。cd到root目录下,运行scp -r nutch_bin s1:/root/.再scp -r nutch_bin s2:/root/.6)运行nutch使用分布式的hadoopbin/start-all.sh
bin/hadoop namenode -format
bin/hadoop dfs -put urls urls
bin/nutch crawl urls -dir crawl
7)修改tomcat下的nutch.war,使其使用hdfs<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://m1:9000</value>
</property>
<property>
<name>searcher.dir</name>
<value>crawl</value>
</property>
</configuration>
更多信息请查看 java进阶网 http://www.javady.com
分享到:
相关推荐
为了搭建Hadoop分布式系统,需要先进行 CentOS7 的安装和基础环境配置。本期知识概览将指导您完成 CentOS7 的安装和基础环境配置,逐步构建伪式分布式系统。 一、虚拟机准备 在开始安装 CentOS7 之前,需要准备...
### Linux下Hadoop分布式配置和使用 #### 一、Hadoop分布式配置 ##### 1. 集群网络环境介绍 在配置Hadoop集群之前,首先需要了解集群的基本网络环境。本例中集群由三个节点组成,其中包括1个Namenode(主节点)和...
根据给定文件的信息,本文将详细介绍如何在 CentOS 6.4 系统中安装 Hadoop 2.6.0,并实现单机模式与伪分布式模式的配置。 ### 环境准备 #### 操作系统环境 - **操作系统**: CentOS 6.4 32位 - **虚拟化平台**: ...
在搭建Hadoop伪分布式环境的过程中,常常会遇到与文件系统权限相关的错误,特别是在CentOS这样的Linux发行版上。本文将详细解析标题和描述中提到的两个常见问题,并提供解决方案。 问题1:启动集群时出错:`mkdir: ...
在配置过程中,确保所有节点使用相同的Linux发行版(这里是CentOS 7)并以root用户操作,或使用具有足够权限的用户。安装的Hadoop版本为2.6.5,Spark版本为2.2.0,两者需要兼容。Scala版本为2.11.8,因为Spark是基于...
在搭建Hadoop完全分布式集群时,我们需要遵循一系列步骤,确保所有组件正确配置并协同工作。以下是基于三台机器的集群安装部署过程的详细说明: 1. **所需软件及版本** - Hadoop: 1.0.4 - JDK: 1.7.0_07 - 系统:...
根据提供的文件信息,本文档是一份关于如何在VirtualBox5虚拟环境中使用CentOS6.8操作系统安装Hadoop2.5.2完全分布式集群的傻瓜教程。这份教程不是独立的完全分布式安装教程,而是在先前已经安装了VirtualBox5和...
在本文中,我们将深入探讨如何在服务器环境中安装和配置CentOS 6.7,以及如何利用它来搭建一个分布式系统。CentOS是一款基于Linux的开源操作系统,以其稳定性和可靠性而广受IT专业人士的喜爱,是搭建企业级服务器的...
##### 5、Hadoop伪分布式环境配置 接下来需要配置Hadoop以支持伪分布式环境。 ###### 5.1 设置Hadoop的环境变量 编辑`/etc/profile`文件,添加Hadoop环境变量: ```bash export HADOOP_HOME=/usr/local/hadoop ...
### Hadoop伪分布式环境下Linux CentOS的安装与配置详解 #### 一、Hadoop伪分布模式简介 Hadoop是一种能够处理海量数据的分布式计算框架。它主要用于大数据存储与处理任务,支持大量的并行处理作业。Hadoop的核心...
在搭建Hadoop伪分布式集群的过程中,首先需要在Linux环境下配置VMware的NAT网络,确保虚拟机能够稳定地运行和通信。NAT网络允许虚拟机通过宿主机与外部网络进行通信,同时保持IP地址的固定性。具体操作包括取消DHCP...
为搭建 Hadoop 分布式环境,需要安装 Linux 系统。在这里,我们选择 CentOS 6.5 作为操作系统。下载 CentOS 6.5 的镜像文件,并将其烧录到安装媒体中。启动安装程序,选择 Install CentOS 6.5,回车,继续安装。选择...
在当今的大数据时代,Hadoop作为处理海量数据的分布式存储与计算平台,受到了广泛的关注和应用。Hadoop的版本不断迭代更新,而Hadoop 2.x版本引入了YARN,进一步优化了资源管理和任务调度。本文将详细介绍Hadoop 2.x...
【Hadoop完全分布式安装】教程主要讲解如何在CentOS环境下构建一个由Master主节点和Slave1从节点组成的Hadoop集群。以下是对整个安装过程的详细解释: 1. **用户与权限准备** 首先,为了安全和管理,创建一个新的...
《Hadoop完全分布式搭建详解》 Hadoop完全分布式搭建是一项重要的技术实践,旨在构建一个高可用、高扩展的...通过这样的实践,我们可以更好地理解和掌握Hadoop分布式计算框架的运作机制,为大数据处理提供强大的支撑。
- HDFS:Hadoop分布式文件系统,提供高容错性和高吞吐量的数据访问。 2.1 术语、定义 - Node:Hadoop集群中的一个节点,可以是NameNode、DataNode或TaskTracker等角色。 - Namenode:Hadoop集群的主节点,负责元...
在CentOS7系统中搭建Hadoop伪分布式环境是学习和测试Hadoop功能的基础步骤。这里我们将详细讲解如何创建Hadoop用户、安装JDK、配置Hadoop环境以及在Eclipse中集成Hadoop开发环境。 首先,为了安全和管理的方便,...