Hadoop集群的安装

(一)配置环境
1.1.硬件:
三台机器:ubuntu12.04-64 server
1.2 软件:
jdk 1.6.0_45 64位
hadoop-1.0.3 
1.3 分工如下:
node00:NameNode/JobTracker/SecondaryNameNode(这里最好用一台机来单独做SecondaryNameNode)
node01:DataNode/TaskTracker
node02:DataNode/TaskTracker
假定三台虚拟机的Ip地址如下:
node00:192.168.0.145
node01:192.168.0.146
node02:192.168.0.147
(二)准备工作
2.1 首先在三台机器上创建相同用户(Hadoop集群基本要求)
创建用户的方法:
(1)sudo addgroup hadoop
(2)sudo adduser --ingroup hadoop hadoop
编辑/etc/sudoers编辑文件,在root ALL=(ALL)ALL行下添加haduser ALL=(ALL)ALL。如果不添加这行,haduser将不能执行sudo操作。
或者:在root ALL=(ALL)ALL行下添加haduser ALL =NOPASSWD :ALL,这样的话,sudo的时候就不用输密码。
2.2 安装jdk1.6.0_45
$ tar xvf jdk1.6.0_45.tar.gz
$ sudo mv jdk1.6.0_45 /usr/lib/java
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/java/jdk1.6.0_45/bin/java 300
$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_45/bin/javac 300
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac
hadoop@node00:~$ java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
jdk配置成功!
ps: jdk卸载非常简单,仅需要删除jdk的安装目录和/etc/profile的环境配置信息即可。
2.3 分别给三台机器设置:/etc/hosts 和/etc/hostname (好处是直接可以通过别名进行相互间访问)
(1)将三台机分别设置成nod00,node01,node02 。vim /etc/hostname
(2)将三台机器的/etc/hosts都设置成主机名和IP地址之间的映射关系
    127.0.0.1            localhost
    192.168.0.145    node00
    192.168.0.146    node01
    192.168.0.147    node02
(3)重启机器让hostname修改生效。
(4)验证以上配置是否成功:在node00机器上ping /node00/node01/node02
如果都能ping通,则说明这步配置成功。
2.4 配置ssh及无密码访问
(1)一般来说系统都是会默认安装sshd服务的。如果没有,或者版本比较老,可以重新安装:sudo apt-get install ssh
(2)设置node00可以无密码访问node01,node02
具体步骤如下:
    1)ssh-keygen -t rsa 一路回车(产生密钥)
    2)把id_rsa.pub追加到授权的key里面去(cat id_rsa.pub >> authorized_keys)
    3)重启SSH服务命令使其生效.(sudo /etc/init.d/ssh )
(4)将生成的authorized_keys文件拷贝到node01,node02这两台从节点的相同文件夹下。
    cd .ssh/
    scp authorized_keys node01@hadoop:~/.ssh/
    scp authorized_keys node01@hadoop:~/.ssh/
(4)配置到这里应该就可以进行ssh的无密码登录,验证是否无密码登录访问配置成功。
    $ssh localhost (验证是否可以无密码访问localhost)
    $ssh node01
    $ssh node02
    ps:这步骤有时候配置会出现问题,自己再将报错帖到网上搜索下。
以上步骤完成并配置成功后,接下来就正式开始安装Hadoop
ps:以上操作都是以hadoop用户登录进行操作
(三)Hadoop安装
Description: Hadoop集群中每个机器上面的配置基本相同,所以我们只需要在一台机器上配置部署好之后,直接scp将hadoop安装目录下所以文件复制到其他节点即可。
3.1下载并解压
下载:hadoop-1.0.3.tar.gz 
ps:最新版本的hadoop-2.2.0.tar.gz不支持64位。要自己下载源码重写编译。
解压:
$cd /home/hadoop/
$tar xvf hadoop-1.0.3.tar.gz
3.2配置hadoop
配置文件在hadoop-1.0.3/conf文件夹下,需要配置的主要包括:hadoop-env.sh,core-site.xml,mapred-site.xml,masters,slaves.
1. vim hdfs-site.xml
<configuration>
        <property>
                <name>dfs.name.dir</name>
                <value>/home/hadoop/hadoop-1.0.3/hddata/dfs/name</value>
        </property>
        <property>
                <name>dfs.data.dir</name>
                <value>/home/hadoop/hadoop-1.0.3/hddata/dfs/data</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>
</configuration>
2. vim core-site.xml
<configuration>
        <property>
                <name>fs.default.name</name>
                <value>hdfs://node00:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/home/hadoop/hadoop-1.0.3/hddata/tmp</value>
        </property>
</configuration>
3 vim mapred-site.xml
<configuration>
        <property>
                <name>mapred.job.tracker</name>
                <value>node00:9001</value>
        </property>
        <property>
                <name>mapred.local.dir</name>
                <value>/home/hadoop/hadoop-1.0.3/hddata/localData</value>
        </property>
</configuration>
4. vim master
    node00
5. vim slaves
    node01
    node02

3.3 同步到其他机器
1 cd /home/hadoop/
2 scp -r hadoop-1.0.3 hadoop@node01:~/
3 scp -r hadoop-1.0.3 hadoop@node02:~/

3.4 启动namenode节点(即node00节点)
    cd /home/hadoop/hadoop-1.0.3
    bin/hadoop namenode -format
ps:这一步没有格式化hdfs文件系统成功的话,后面的就不用浪费时间了,一定要重写仔细检查下哪里配错了,再进行下去。另外,排除错误之后一定要把本次操作生产的那些临时文件删掉才能再次格式化。我这里配置在/home/hadoop/hadoop-1.0.3/hddata/dfs/data(即删除dfs文件夹)。

3.5 检查hadoop启动是否成功
1.jps
    8379 JobTracker
    8290 SecondaryNameNode
    7943 NameNode
    14298 Jps
2.netstat -nl
​
3.HDFS测试
Description:
hadoop环境启动成功,我们进行一下hdfs的简单测试。
通过命令在hdfs上面,创建一个目录bin/hadoop fs -mkdir /test
通过命令复制一个本地文件到hdfs文件系统中,bin/hadoop fs -copyFormLocal README.txt /test
通过命令查看刚刚上传的文件bin/hadoop fs -ls /test
代码部分:
node00:
    cd /home/hadoop/hadoop-1.0.3
    bin/hadoop fs -mkdir test
    bin/hadoop fs -copyFormLocal README.txt test
    bin/hadoop fs -ls test
    Found 1 items
        -rw-r--r--   2 hadoop supergroup       1366 2012-08-30 02:05 /test/README.txt
到这里,hadoop完全分布式安装就大功告成了!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值