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

  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文件

 1 127.0.0.1       localhost
 2 127.0.1.1       ubuntu.ubuntu-domain    ubuntu
 3 222.27.111.121  master
 4 222.27.111.122  slaver
 5 # The following lines are desirable for IPv6 capable hosts
 6 ::1     ip6-localhost ip6-loopback
 7 fe00::0 ip6-localnet
 8 ff00::0 ip6-mcastprefix
 9 ff02::1 ip6-allnodes
10 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查看相关信息

 

你可能感兴趣的:(hadoop)