hadoop分布式文件系统的安装与配置

3台机器:master(192.168.0.210),slave1(192.168.0.211),slave2(192.168.0.212) , slave2(192.168.0.213)  
系统都为Centos 5

假设将master做为namenonde,将slaver1,slaver2和slaver3做为datanode

1、分别设置的主机名,即修改/etc/sysconfig/network,添加以下内容:

HOSTNAME=<hostname>

其中<hostname>在各台机器上分别设为master/slaver1/slaver2/slaver3

2.在master/slaver1/slaver2上修改/etc/hosts,添加以下内容:

192.168.0.210  master
192.168.0.211  slaver1
192.168.0.212  slaver2
192.168.0.213  slaver3

3.用root登陆,建立hadoop用户
useradd hadoop
passwd hadoop
输入123456做为密码

4.设置master和各slaver之间无密码访问ssh:

先分别在各台机器上执行如下命令:
  su - hadoop       #进入hadoop用户目录
  ssh-keygen -t rsa #建立ssh目录,敲回车到底,这样会创建.ssh目录,在该目录下会创建两个文件:id_rsa和id_rsa.pub,即公钥和私钥文件。
  cd .ssh

然后在master上执行如下指令:
  scp -r id_rsa.pub hadoop@slave1:/home/hadoop/.ssh/authorized_keys_m   #将master上的密钥传到slave1的hadoop用户下,重命名为authorized_keys_m
  scp -r id_rsa.pub hadoop@slave2:/home/hadoop/.ssh/authorized_keys_m   #将master上的密钥传到slave2的hadoop用户下,重命名为authorized_keys_m

用hadoop用户进入slave1,执行如下指令
  scp -r id_rsa.pub hadoop@master:/home/hadoop/.ssh/authorized_keys_s1 #将slave1上的密钥传到master的hadoop用户下

用hadoop用户进入slave2,执行如下指令
  scp -r id_rsa.pub hadoop@master:/home/hadoop/.ssh/authorized_keys_s2  #将slave2上的密钥传到master的hadoop用户下

在maste上执行以下操作:
  cat id_rsa.pub >> authorized_keys          #将本地密钥添加authorized_keys
  cat authorized_keys_s1 >> authorized_keys  #将slaver1的公钥添加authorized_keys
  cat authorized_keys_s2>> authorized_keys   #将slaver2的公钥添加authorized_keys

在slaver1上执行以下操作:
  cat id_rsa.pub >> authorized_keys          #将本地密钥添加authorized_keys
  cat authorized_keys_m >> authorized_keys  #将master的公钥添加authorized_keys

在slaver2上执行以下操作:
  cat id_rsa.pub >> authorized_keys          #将本地密钥添加authorized_keys
  cat authorized_keys_m >> authorized_keys   #将master的公钥添加authorized_keys

特别注意 authorized_keys 文件的访问权限 必须设置成600

登录每台机器 执行 chmod 600 authorized_keys

这样主节点和从节点之间就可以不用密码直接ssh访问

5.安装JDK到/usr/local下命名为jdk1.6  然后编辑三台机器的/etc/profile,增加如下内容
export JAVA_HOME=/usr/local/jdk1.6
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

#注意:在Asianux3.0上,jdk已经是1.6版本了,所以这步可以省略

export HADOOP_HOME=/home/hadoop/hadoop-1.0.1 
export PATH=$PATH:$HADOOP_HOME/bin

 

-----------------------------------------
6.hadoop配置:

1.将下载好的hadoop-1.0.1.tar.gz文件上传到各台机器的的/home/hadoop目录中并解压


2.在各台机器上的/home/hadoop/hadoop-1.0.1/conf下的三个xml文件:core-site.xml,hdfs-site.xml,mapred-site.xml

core-site.xml:

<?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://192.168.0.210:9000</value>

    </property>

    <property>

        <name>hadoop.tmp.dir</name>

        <value>/home/hadoop/tmp/</value>

    </property>

  <property>

    <name>hadoop.security.authentication</name>

    <value>simple</value>

  </property>

</configuration>


hdfs-site.xml:

<?xml version="1.0"?>

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

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

<configuration>

    <property>

        <name>dfs.name.dir</name>

        <value>/data/hadoop/name</value>

        <final>true</final>

    </property>

    <property>

        <name>dfs.data.dir</name>

        <value>/data/hadoop/data</value>

        <final>true</final>

    </property>

    <property>

        <name>dfs.replication</name>

        <value>2</value>

    </property>

    <property>

        <name>dfs.permissions</name>

        <value>false</value>

    </property>

</configuration>


mapred-site.xml:

<?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>hdfs://192.168.0.210:9001</value>

        </property>

</configuration>


3.修改各台机器的/home/hadoop/hadoop-1.0.1/conf/hadoop-env.sh文件,增加如下内容
export JAVA_HOME=/usr/local/jdk1.6

注意:在Asianux3.0上,默认的jdk路径为/usr/lib/jdk,故文件内容修改为:
export JAVA_HOME=/usr/lib/jdk

4.修改master上/home/hadoop/hadoop-1.0.1/conf目录下的两个文件 masters,slaves

masters:
192.168.0.210

slaves:
192.168.0.211
192.168.0.212
192.168.0.213

5.在各台机器上/home/hadoop下建立tmp目录

6.在各台机器上格式化分布式文件系统:
进入hadoop的bin目录后执行:hadoop namenode -format

7.启动服务
进入hadoop的bin目录后执行:start-dfs.sh 启动namenode上的hadoop
进入hadoop的bin目录后执行:start-all.sh 启动namenode上的所有服务

注意:只需在master上启动即可,无需在slaver上启动,只要保证datanode开机即可


这样hadoop就配置完成了

8.可以列出本机所有java进程的pid查看服务是否正常启动:
jps

在master上列出的Java进程如下:
3631 NameNode
4164 JobTracker
3807 SecondaryNameNode
5692 Jps

在slaver上列出的Java进程如下:

3792 DataNode
3910 TaskTracker
4474 Jps

9、Hadoop 的web 方式管理:http://192.168.0.210:50070

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值