目前我们使用的是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分布式文件系统的模型分析,Hadoop 分布式文件系统是遵循Google 文件系统... 本文有助于研究者系统、 深入地研究 Hadoop 分布式文件系统的设计与实 现,并为云计算背景下的分布式文件系统设计提供重要的参考。
Linux Hadoop 分布式配置 和使用 Hadoop分布式配置 Hadoop使用: HDFS、Hadoop用户管理、Hadoop作业提交、Hadoop应用程序编写
Hadoop分布式文件系统使用指南Hadoop分布式文件系统使用指南Hadoop分布式文件系统使用指南Hadoop分布式文件系统使用指南Hadoop分布式文件系统使用指南Hadoop分布式文件系统使用指南Hadoop分布式文件系统使用指南...
Hadoop分布式文件系统翻译
使用Hadoop HDFS作为文件存储系统、HBase作为数据存储仓库,采用SpringMVC+Spring框架实现,包括用户注册与登录、我的网盘、关注用户、我的分享、我收到的分享等五大功能模块。其中我的网盘包括查看文件列表,多文件...
Hadoop分布式文件系统使用指南.pdf
完整的Hadoop分布式文件系统架构,以及源码分析报告
工作中搭建的hadoop分布式文件系统和hive ,mysql等的搭建的具体步骤
centos7安装和基础环境配置:Hadoop分布式搭建前期准备工作.docx
Hadoop 分布式集群配置环境一共六台服务器(包括三台腾讯云主机/三台阿里云主机).服务器环境为 Ubuntu 14.04 64 位 跟 CentOS 7.2
Hadoop集群配置指南,成功实现了由5台计算机构成的集群,并成功运行wordcount处理大型数据(大于50G)
第四章(Hadoop大数据处理实战)Hadoop分布式文件系统.pdf第四章(Hadoop大数据处理实战)Hadoop分布式文件系统.pdf第四章(Hadoop大数据处理实战)Hadoop分布式文件系统.pdf第四章(Hadoop大数据处理实战)Hadoop分布式文件...
《高可用性的HDFS——Hadoop分布式文件系统深度实践》专注于Hadoop分布式文件系统(hdfs)的主流ha解决方案,内容包括:hdfs元数据解析、hadoop元数据备份方案、hadoop backup node方案、avatarnode解决方案以及最新...
如果用的是 CentOS/RedHat 系统,请查看相应的CentOS安装Hadoop教程_单机伪分布式配置。 本教程基于原生 Hadoop 2,在 Hadoop 2.6.0 (stable) 版本下验证通过,可适合任何 Hadoop 2.x.y 版本,如 Hadoop 2.7.1、...
Linux Hadoop 伪分布式配置 一个节点,线程模仿分布式
Hadoop分布式大数据系统.pptx
Hadoop分布式文件系统-架构和设计要点
Hadoop分布式文件系统:架构和设计要点.pdf