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

基于hadoop+nutch+solr的搜索引擎环境搭载<一>hadoop完全分布式环境搭建

2013-05-05 13:54 716 查看
hadoop完全分布式环境搭建

还算那句话:能看官方文档就尽量看官方文档 hadoop1.0.4完全分布式官方文档

先扯点题外话,这个项目是我的比赛项目,可能比较简陋,主要还是想学习关于hadoop和搜索引擎方面的一些知识。这一两个月看了<hadoop实战>,<hadoop权威指南>

<信息检索导论>等一些书吧,初步了解了一下hadoop和搜索引擎。马上项目就要上交了,所以昨天把两个月的心血给删了,重新来一遍,重装系统,复习一遍之前的吧。

好了,正文开始了。

环境版本:

ubuntu:ubuntu 12.0.4 32bit

hadoop:hadoop1.0.4

jdk:jdk1.7.0.21

ssh+rsync

另外

master IP:222.27.111.121

slaver IP: 222.27.111.122

ubuntu的用户名均为hadoop,你可以根据自己的情况新建用户

一,修改hosts

修改/etc/hosts

这里我插入了第3和第4行 ,大家可以根据自己的情况修改hosts文件

127.0.0.1       localhost
127.0.1.1       ubuntu.ubuntu-domain    ubuntu
222.27.111.121  master
222.27.111.122  slaver
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters


二,配置ssh免密码远程登录

在每台机器上安装ssh

sudo apt-get install ssh
sudo apt-get install rsync


在namenode机器即master上生成密钥

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys


namenode本机回环测试一下

ssh localhost
结果是这个,可以多测试几下

Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 3.2.0-29-generic-pae i686)

* Documentation: https://help.ubuntu.com/
。。。。

Last login: Sat May 4 18:15:34 2013 from localhost

修改.ssh和authorized_keys权限以保证scp操作的条件

sudo chmod 700 /home/hadoop/.ssh
sudo chmod 600 /home/hadoop/.ssh/authorized_keys


远程拷贝:

namenode上

scp /home/hadoop/.ssh/id_dsa.pub  hadoop@slaver:/home/hadoop


datanode上

cat id_dsa.pub >> ~/.ssh/authorized_keys


namenode连接datanode

ssh slaver


结果应该是

Welcome to Ubuntu 12.04.1 LTS (GNU/Linux 3.2.0-29-generic-pae i686)

* Documentation:  https://help.ubuntu.com/ 
411 packages can be updated.
137 updates are security updates.

Last login: Sun May  5 11:14:09 2013 from master


如果这个模块有问题可以多重复几次,可以在dataname上也安装ssh 测试本机是否可用,dataname测试后记得删除.ssh文件夹

三,配置hadoop环境

  3.1安装JDK

解压jdk,cp到/usr下,配置/etc/profile 添加:

export JAVA_HOME=/usr/jdk1.7.0_21
export JRE_HOME=/usr/jdk1.7.0_21/jre
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib


大家相应修改版本就好,然后更新一下

source /etc/profile


测试JDK安装

hadoop@ubuntu:~$ java -version
结果为:
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) Server VM (build 23.21-b01, mixed mode)


3.2配置hadoop(可以参照Ubuntu12.04下安装hadoop1.0.4 测试下)

解压hadoop,我放在了/home/hadoop下

修改hadoop/conf/hadoop-env.sh:

配置JDK

# The java implementation to use.  Required.
export JAVA_HOME=/usr/jdk1.7.0_21


修改hadoop/conf/hdfs-site.xml

dfs.data.dir:数据的本机存放位置,datanode

dfs.name.dir:命名空间的本机存放位置,namenode

dfs.replication:数据的备份数:一般为3,必须小于等于datanode数

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/data</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop/name</value>
</property>
</configuration>


修改hadoop/conf/core-site.xml

hadoop.tmp.dir:一定要修改,详见ubuntu下hadoop的重启后namenode无法启动的解决方法

fs.default.name:URI of NameNode


<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>

<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>
</configuration>


修改hadoop/conf/mapred-site.xml

mapred.job.tracker:Host or IP and port ofJobTracker.


<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
</configuration>


修改hadoop/conf/masters

master


修改hadoop/conf/slaves

slaver


远程给slaver拷贝hadoop

scp -r hadoop-1.0.4/ hadoop@slaver:/home/hadoop


四,启动hadoop

在namnode上。

格式化namenode

hadoop@ubuntu:~/hadoop-1.0.4$ bin/hadoop namenode -format


启动hadoop

hadoop@ubuntu:~/hadoop-1.0.4$ bin/start-all.sh


查看进程:

namenode

jps


应该看到:

xxx Jps
xxx JobTracker
xxx SecondaryNameNode
xxx NameNode

dataname看到的是

TaskTracker和DataNode

另外还可以通过
http://master:50070和 http://master:50030ch查看相关信息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: