Linux学习之hadoop(一)--hadoop的安装

Linux学习之hadoop(一)–hadoop的安装

最近,开始学习hadoop的相关知识,因此开始安装hadoop。装了好几遍,也遇到不少问题,因此记录下来。

老师直接给了一个虚拟机,里面包含了hadoop-1.21.tar.gz以及jdk.6u45-linux-i586-rpm.bin

1. 安装jdk

  • 先确认操作系统是否已安装jdk
[root@localhost Desktop]# rpm -qa | grep java


这样代表并没有安装jdk

  • 解压安装bin包至合适的目录

    [root@localhost Desktop]# chmod 755 jdk-6u45-linux-i586-rpm.bin
    [root@localhost Desktop]# ./jdk-6u45-linux-i586-rpm.bin	//默认在当前目录
    
  • 配置jdk的环境变量

[root@localhost Desktop]# vi /etc/profile

添加如下:

export JAVA_HOME=/usr/java/jdk1.6.0_45

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export path=$PATH:$JAVA_HOME/bin

JAVA_HOME的路径可以到/usr/java/下找名字为jdkxxxxxxx的文件(xxxxxxx代表后面的版本号,因人而异)

[root@localhost Desktop]# source /etc/profile	//使配置生效

2. 配置SSH免密码登陆

  • 修改ssh配置文件
[root@localhost Desktop]# vi /etc/ssh/sshd_config

注释掉:

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

这里是已经注释掉了。

  • 重启ssh服务

    [root@localhost Desktop]# service sshd restart
    Stopping sshd:                                             [  OK  ]
    Starting sshd:                                             [  OK  ]
    
  • 用hadoop用户设置无密码登陆

    (注意是在/root下)

    [root@localhost Desktop]# cd /root
    [root@localhost ~]# ssh-keygen -t rsa
    

    一直回车

    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): 
    Created directory '/root/.ssh'.
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    0d:f0:28:46:d9:d2:e8:05:81:39:6c:71:3a:b8:7b:d1 root@localhost.localdomain
    The key's randomart image is:
    +--[ RSA 2048]----+
    |      o=.++o     |
    |     .ooO+. .    |
    |      oo*+..     |
    |     . . *..     |
    |        S E      |
    |         o .     |
    |        . .      |
    |                 |
    |                 |
    +-----------------+
    [root@localhost ~]#
    

    进入.ssh目录(虚拟目录)

    [root@localhost ~]# cd .ssh/
    [root@localhost .ssh]# cp id_rsa.pub authorized_keys
    [root@localhost .ssh]# chmod 600 authorized_keys
    

3. 安装hadoop

(我把hadoop放在/home/hadoop/Documents下)

[hadoop@localhost Documents]# tar xvf hadoop-1.2.1.tar.gz	//解压在当前目录
[hadoop@localhost Documents]# ls
hadoop-1.2.1         VMwareTools-10.1.6-5214329.tar.gz
hadoop-1.2.1.tar.gz  vmware-tools-distrib
[hadoop@localhost Documents]# cd hadoop-1.2.1

4. 配置hadoop

  • 环境hadoop变量配置conf/hadoop-env.sh

    [hadoop@localhost hadoop-1.2.1]# vi conf/hadoop-env.sh
    

    添加或修改JAVA_HOME路径(跟前面一样)

    export JAVA_HOME=/usr/java/jdk1.6.0_45/

  • 配置conf/core-site.xml文件,Hadoop的核心文件,配置的是HDFS的地址和端口号

    <configuration>
    
            <property>
    
                    <name>fs.default.name</name>
    
                    <value>hdfs://localhost:9000</value>
    
            </property>
    
    </configuration>
    
  • 配置conf/hdfs-site.xml,Hadoop中的HDFS的配置,配置的备份方式默认是

    <configuration>
    
            <property>
    
                    <name>dfs.replication</name>
    
                    <value>1</value>
    
            </property>
    
    </configuration>
    
  • 配置conf/mapred-site.xml,Hadoop中MapReduce配置文件,配置JobTracker的地址和端口

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

5. 启动hadoop

  • 格式化hdfs

    [root@localhost hadoop-1.2.1]# ./bin/hadoop namenode -format
    

    启动hadoop

    [root@localhost hadoop-1.2.1]# ./bin/start-all.sh
    

    注意:这个不要一直按回车!!!要填yes!!! ,否则会出现

    尽管输入localhost:50030能显示网站,但是注意红圈位置,Nodes个数是0

    比如你想将某个文件放入某个文件夹,也是会报错的

    这里将song.txt放入input文件夹

    [root@localhost hadoop-1.2.1]# ./bin/hadoop fs -put /home/hadoop/Desktop/song.txt /input
    

    会提示错误:

    19/10/13 03:45:06 WARN hdfs.DFSClient: DataStreamer Exception: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /input could only be replicated to 0 nodes, instead of 1
    

    所以正确的做法是!!! 规规矩矩地在(yes/no)?中填上yes

  • 检测
    在浏览器中输入http://localhost:50030
    成功是这样:

    这样就结束安装了

总结

要认真看反馈回来的信息,不要一味看着教程安装,很多路径因人而异(?)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值