博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hadoop分布式配置(服务器系统为centos5,配置时使用的用户是root)
阅读量:5108 次
发布时间:2019-06-13

本文共 2729 字,大约阅读时间需要 9 分钟。

 

        目前我们使用的是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>

ITeye推荐

转载于:https://www.cnblogs.com/mixer/archive/2012/04/14/2448349.html

你可能感兴趣的文章
练习--LINUX进程间通信之消息队列MSG
查看>>
Sublime Text学习笔记
查看>>
PHP上传多个Excel表格里的数据到数据库然后在页面显示
查看>>
类的加载机制(一)
查看>>
C++ STL stack和queue
查看>>
Djiango路由分发/伪静态页面/request对象/FBV CBV/文件上传
查看>>
Linux下php安装memcache扩展
查看>>
[转]VC++中对文件的写入和读取
查看>>
[转]dataTables-使用详细说明整理
查看>>
Linux下的一些头文件
查看>>
Yii GridView Ajax 刷新
查看>>
Dell Technology Summit(2018.10.17)
查看>>
Android系统--输入系统(十四)Dispatcher线程情景分析_dispatch前处理
查看>>
(剑指Offer)面试题59:对称的二叉树
查看>>
几种在Linux下查询外网IP的办法
查看>>
二进制中1的个数
查看>>
多重部分和问题 (dp)
查看>>
jquery给net里面的RadioButtonList添加选项改变事件
查看>>
仿QQ5.0以上新版本侧滑效果
查看>>
[Luogu 3224] HNOI2012 永无乡
查看>>