打造基于hadoop的网站日志分析系统:(1)Hadoop的安装

环境:

Ubuntu14.04

Hadoop 2.4.0,Hive  0.13.1

一.单机模式

1.安装全新的Ubuntu系统,用sudo apt-get update 和 sudo apt-get upgrade 更新系统,这步属个人习惯,可以不做。

2.创建hadoop用户组和hadoop帐号:

   sudo addgroup hadoop

   sudo adduser -ingroup hadoop hadoop

3.编辑/etc/sudoer文件给hadoop帐号开与root一样的权限 hadoop  ALL=(ALL:ALL) ALL

4.用hadoop用户登录:su hadoop

5.确认openssh已经安装如未安装则安装:

     sudo apt-get install openssh-server

     sudo /etc/init.d/ssh start

6.创建免密码登录,生成私钥和公钥

ssh-keygen -t rsa -P ""

7.将公钥追加到authorized_keys中,它用户保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容。

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

8.ssh localhost 测试无密码登录。

9.安装java环境(最好安装sunjdk,不要安装openjdk)

    a. 下载最新版的jdk,并解压

    b.创建安装目录mkdir /usr/lib/jvm

    c.将解压好的jdk移动到安装目录,如:sudo mv jdk1.7/ /usr/lib/jvm/java-7-sun

    d. 编辑~/.bashrc以配置java的环境:

          export JAVA_HOME=/usr/lib/jvm/java-7-sun 
          export JRE_HOME=${JAVA_HOME}/jre 
          export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

          export PATH=${JAVA_HOME}/bin:$PATH 

    e. source ~/.bashrc 使配置生效,env查看结果,

    f.配置默认程序

      sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-7-sun/bin/java 300 
      sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-7-sun/bin/javac 300 
      sudo update-alternatives --config java                                                                                                                     sudo update-alternatives --config javac

   g.java -version;avac -version 查看java版本号是否正确。

164742_9K8L_1589995.png

(Ps: 之前我装的是java1.8版本,但是在后面编译hadoop的时候保存了,然后果断换成1.7版本,一切正常)

10.下载hadoop 最新版 http://mirror.bit.edu.cn/apache/hadoop/common/ 并解压;

11.创建hadoop安装目录 sudo mkdir /usr/local/hadoop,将解压后的hadoop文件夹移过去 sudo mv ./hadoop-2.4.0/* /usr/local/hadoop;修改hadoop安装目录权限 sudo chmod 774 /usr/local/hadoop

12.配置haoop环境变量,vi ~/.bashrc 

14.测试

单机模式安装完成,下面通过执行hadoop自带实例WordCount验证是否安装成功

    /usr/local/hadoop路径下创建input文件夹    

mkdir input

 

    拷贝README.txt到input    

cp README.txt input

    执行WordCount

    bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.4.0-sources.jar org.apache.hadoop.examples.WordCount input output

至此,单机版配置完成,其实还是很简单的。

二.伪分布式

15.

设定*-site.xml
这里需要设定3个文件:core-site.xml,hdfs-site.xml,mapred-site.xml,都在/usr/local/Hadoop/conf目录下
core-site.xml:  Hadoop Core的配置项,例如HDFS和MapReduce常用的I/O设置等。
hdfs-site.xml:  Hadoop 守护进程的配置项,包括namenode,辅助namenode和datanode等。
mapred-site.xml: MapReduce 守护进程的配置项,包括jobtracker和tasktracker。   

首先在hadoop目录下新建几个文件夹

~/hadoop$ mkdir tmp
~/hadoop$ mkdir hdfs
~/hadoop$ mkdir hdfs/name
~/hadoop$ mkdir hdfs/data

编辑配置文件:

core-site.xml:

<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop/tmp</value>
    </property>
</configuration>

hdfs-site.xml:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.name.dir</name>
        <value>/usr/local/hadoop/hdfs/name</value>
    </property>
    <property>
        <name>dfs.data.dir</name>
        <value>/usr/local/hadoop/hdfs/data</value>
    </property>
</configuration>

16.格式化 hdfs /usr/local/hadoop/bin/hadoop namenode -format 结果类似

17.启动hadoop  /usr/local/hadoop/sbin/start-all.sh (老版本启动程序是在/usr/local/hadoop/bin目录里),运行jps,出现如下结果说明成功:

首先在dfs中创建input目录

Hadoop@Ubuntu:/usr/local/hadoop$ bin/hadoop dfs -mkdir input 

将conf中的文件拷贝到dfs中的input

hadoop@ubuntu :/usr/local/hadoop$ hadoop dfs -copyFromLocal conf/* input

在伪分布式模式下运行WordCount

hadoop@ubuntu :/usr/local/hadoop$ hadoop jar hadoop-examples-1.0.2.jar wordcount input output

18.运行 /usr/local/hadoop/bin/hadoop dfsadmin -report 查看运行状态 或输入http://ip:50070查看web版运行状态

19.运行测试例子

首先在dfs中创建input目录

Hadoop@Ubuntu:/usr/local/hadoop$ bin/hadoop dfs -mkdir input 

将conf中的文件拷贝到dfs中的input

hadoop@ubuntu :/usr/local/hadoop$ hadoop dfs -copyFromLocal conf/* input

在伪分布式模式下运行WordCount

hadoop@ubuntu :/usr/local/hadoop$ hadoop jar hadoop-examples-1.0.2.jar wordcount input output


PS:在64位版本下会报“WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable”的错误,这是因为hadoop网站提供的是32位版本,在64位下需要自己下在hadoop源码重新编译,但我重新编译了以后仍然报错,打开debug模式后发现是lib的路径错了,于是cp /usr/local/hadoop/lib/native/* /usr/local/hadoop/lib/ 问题解决。

    


转载于:https://my.oschina.net/u/1589995/blog/285131

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值