ITPub博客

首页 > 大数据 > Hadoop > Ubuntu下安装jdk+Hadoop+Mahout

Ubuntu下安装jdk+Hadoop+Mahout

Hadoop 作者:zhenruihua 时间:2013-05-31 20:10:06 0 删除 编辑

1.Ubuntu11.10的安装:
华硕笔记本电脑在安装ubuntu 的时候无法安装,出现错误,这样的错误不一定是你光盘,光驱等刻录的问题。
有可能无法安装出现两种情况,第一种就是启动ubuntu 光盘或者u盘时,一个光标就是在闪动无法进行安装了。
还有就是如下错误信息
EISA:Probing bus 0 at eisa.0
EISA:Cannot allocate resource for mainboard
Cannot allocate resource for EISA slot 1
Cannot allocate resource for EISA slot 2
Cannot allocate resource for EISA slot 3
Cannot allocate resource for EISA slot 4
Cannot allocate resource for EISA slot 5
Cannot allocate resource for EISA slot 6
Cannot allocate resource for EISA slot 7
Cannot allocate resource for EISA slot 8
EISA:Detected 0 cards.
cpuidle:using governor ladder
cpuidle:using governor menu
TCP cubic registered
NET:Registered protocal family 10
lo:Disabled Privacy Extensions
NET:Registered protocal family 17
Using IPI No-Shortcut mode
registered taskstats version 1

还有很多一窜没写完。这样的错误都是在10.10 开始出现的,如何解决,很好办,需要对

Bios
进行设置。方法如下
一般情况笔记本电脑就是按F2进入bios设置
选择security 项后选择I/O interface security c 进入看见有如下选项
1. audio/modem interface
2. lan network interface
3. wireless network interface
4. odd interface
5. usb interface
6. new card interface

默认情况上面选项都是unlocked的就是打开的
问题就出在这点,new card interface 需要关闭最后一项改为locked
如果你是安装也可以关闭wireless network interface 改为locked
还可以把audio/modem interfacen network interfacewireless network interfacenew card interface这几项都设置为locked
ODD interface
usb interface 不需要关闭设置为unlocked 。如果你这两项关闭了那usb和光驱就无法启动了。安装完系统后需要重新修改bios设置选项,audio/modem interfacelan network interfacewireles network interfaceodd interfaceusb nterface5项设置为unlockednew card interface设置为locked。如果最后一项不设置为locked,那么如果你安装在可移动硬盘上的系统就是无法启动的,切记!

2.
安装过程中出现grub-install安装失败,致命错误
原因为独立分区一个500M的空间用于/boot分区,之前安装10.10的时候看网上教程选择ext2系统文件类型可以正常安装,而这次的错误原因恰恰就因为使用的ext2格式的文件系统,三次安装失败之后选择的ext3日志文件类型,终于成功。
在查阅网上别人的错误经验时,发现如果/boot分区的ID不是83Linux启动分区代码)此时可进入试用或者liveCD进行修改,命令如下:
sudo fdisk /dev/sda
回车
p
回车
t
回车
6
(此数字为你的/boot分区所在整个磁盘的分区代号,我的是在/dev/sda6,故为6)回车
83
(修改的ID)回车
X
(执行保存)
另有说/boot不能装在mbr上。。。不懂。。。。请自己查证。
如果觉得独立分区放/boot麻烦就直接安装。因为我是双系统,不想因为升级之类的问题覆盖掉原来的分区。

3.jdk
的安装
第一步:官网下载jdk1.6Linux版本,bin文件
第二步:在终端下以root用户进入jdk-1_6_0_38-linux-i386.bin文件所在目录,执行命令
chmod +x jdk-1_6_0_38-linux-i386.bin
或者
chmod 777 jdk-1_6_0_38-linux-i386.bin
./jdk-1_6_0_38-linux-i386.bin
这时会出现一段协议,连继敲回车,当询问是否同意的时候,输入yes,回车。之后会在当前目录下生成一个目录,你可以将它复制到 任何一个目录下。
第三步:配置环境变量
1. PATH
环境变量。作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把 jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好 PATH变量后,就可以在任何目录下执行javac/java等工具了。
2. CLASSPATH
环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们 需要把jdk安装目录下的lib子目录中的dt.jartools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。
3. JAVA_HOME
环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk
三种配置环境变量的方法
  1. 修改/etc/profile文件
  如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。
    ·用文本编辑器打开/etc/profile
    ·profile文件末尾加入:
      JAVA_HOME=/usr/java/jdk1.6.0_38
      PATH=$JAVA_HOME/bin:$PATH
      CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      export JAVA_HOME
      export PATH
      export CLASSPATH
    ·重新登录

    ·注解
      a. 你要把/usr/java目录改为你的jdk安装目录
      b. linux下用冒号“:”来分隔路径
      c. $PATH / $CLASSPATH / $JAVA_HOME 是用来引用原来的环境变量的值
在设置环境变量时特别要注意不能把原来的值给覆盖掉了,这是一种常见的错误。
      d. CLASSPATH中当前目录“.”不能丢,把当前目录丢掉也是常见的错误。
      e. export是把这三个变量导出为全局变量。
      f. 大小写必须严格区分。
  2. 修改.bashrc文件
    这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bashrc文件就可以了。
    ·用文本编辑器打开用户目录下的.bashrc文件
    ·.bashrc文件末尾加入:
      set JAVA_HOME=/usr/share/jdk1.6.0_38
      export JAVA_HOME
      set PATH=$JAVA_HOME/bin:$PATH
  export PATH
  set CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  export CLASSPATH
    ·重新登录
  3. 直接在shell下设置变量
    不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦。
    只需在shell终端执行下列命令:
    export JAVA_HOME=/usr/share/jdk1.6.0_38
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

第四步:在终端检查
在执行以下命令前,如果root用户下配置了/etc/profile文件,然后切换到普通用户下执行java命令,需要先执行source /etc/profile./etc/profile命令,使配置生效。即使在root用户下执行过该命令,在普通用户下依然无效。
#echo $JAVA_HOME
#echo $CLASSPATH
#echo $PATH
#java -version

4.
安装Hadoop(伪分布模式)
1.ssh
的安装
sudo get-apt install ssh

2.
关闭防火墙
ubuntu
下通过命令:
ufw disable
,重启

3.
免密码ssh设置
ssh-keygen -t rsa
进入.ssh目录执行
cp id_rsa.pub authorized_keys
ssh localhost

4.
下载hadoop-0.20.2-tar.gz

5.
解压:使用命令
tar -zxvf hadoop-0.20.2-tar.gz -C /home/rzl

6.
配置env.sh
vi /home/rzl/hadoop-0.20.2/conf/hadoop-env.sh
添加如下代码:export JAVA_HOME=/usr/java/jdk1.6.0_38

7.
配置*-site.xml
vi ~/hadoop-0.20.2/conf/core-site.xml


fs.default.name
hdfs://localhost:9000



vi ~/hadoop-0.20.2/conf/mapred-site.xml


mapred.job.tracker
localhost:9001



vi ~/hadoop-0.20.2/conf/hdfs-site.xml


dfs.replication
1



8.
简化输入的配置
如果懒得每次运行hadoop时都cdhadoop安装目录下,再bin/hadoop ...,可以通过配置/etc/profile或者.bashrc使hadoop命令全局可用。在/etc/profile中添加MAHOUT_HOMEPATH。同理,也适用于MAHOUT命令执行的简化输入。

JAVA_HOME=/usr/java/jdk1.6.0_38
HADOOP_HOME=/home/rzl/hadoop-0.20.2
MAHOUT_HOME=/home/rzl/mahout-0.7
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$MAHOUT_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$MAHOUT_HOME/lib
export JAVA_HOME HADOOP_HOME MAHOUT_HOME PATH CLASSPATH

9.
测试安装,运行例子
a.
可以先在hadoop安装目录下新建一个文件夹input,放入多个文本文件,里面每行一个单词。
b.
格式化namenode
hadoop namenode -format
c.
启动hadoop
start-all.sh
d.
查看运行进程
jps
e.
查看hdfs
hadoop fs admin -report
f.
准备数据
hadoop fs -put input in
g.
运行wordcount
hadoop jar ~/hadoop-0.20.2/hadoop-0.20.2-examples.jar wordcount in out
h.
获取输出
hadoop fs -get out output
i.
本地查看输出
cat ~/hadoop-0.20.2/output/*

5.Mahout
安装与配置(博客园-摘抄)
Mahout
Hadoop的一种高级应用。运行Mahout需要提前安装好HadoopHadoop的安装网上很多,并不复杂,这里不再讲述,接下来阐述怎么安装Mahout
1
:下载二进制解压安装。
http://labs.renren.com/apache-mirror/mahout/0.7下载,我选择下载二进制包,直接解压及可。
hadoop@ubuntu:~$ tar -zxvf mahout-distribution-0.7.tar.gz

2
:配置环境变量:在/etc/profile/home/hadoop/.bashrc中添加如下红色信息
#set java environment
MAHOUT_HOME=/home/hadoop/mahout-distribution-0.7
PIG_HOME=/home/hadoop/pig-0.9.2
HBASE_HOME=/home/hadoop/hbase-0.94.3
HIVE_HOME=/home/hadoop/hive-0.9.0
HADOOP_HOME=/home/hadoop/hadoop-1.1.1
JAVA_HOME=/home/hadoop/jdk1.7.0
PATH=$JAVA_HOME/bin:$PIG_HOME/bin:$MAHOUT_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/conf:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$HBASE_HOME/lib:$MAHOUT_HOME/lib:$PIG_HOME/lib:$HIVE_HOME/lib:$JAVA_HOME/lib/tools.jar
export MAHOUT_HOME
export PIG_HOME
export HBASE_HOME
export HADOOP_HOME
export JAVA_HOME
export HIVE_HOME
export PATH
export CLASSPATH

3
:启动hadoop,也可以用伪分布式来测试

4
mahout --help    #检查Mahout是否安装完好,看是否列出了一些算法

5
mahout使用准备
a.
下载一个文件synthetic_control.data,下载地址http://archive.ics.uci.edu/ml/databases /synthetic_control/synthetic_control.data,并把这个文件放在$MAHOUT_HOME目录下。

b.
启动Hadoop$HADOOP_HOME/bin/start-all.sh

c.
创建测试目录testdata,并把数据导入到这个tastdata目录中(这里的目录的名字只能是testdata)
hadoop@ubuntu:~/$ hadoop fs -mkdir testdata #
hadoop@ubuntu:~/$ hadoop fs -put /home/hadoop/mahout-distribution-0.7/synthetic_control.data testdata

d.
使用kmeans算法(这会运行几分钟左右)
hadoop@ubuntu:~/$ hadoop jar /home/hadoop/mahout-distribution-0.7/mahout-examples-0.7-job.jar org.apache.mahout.clustering.syntheticcontrol.kmeans.Job

e.
查看结果
hadoop@ubuntu:~/$ hadoop fs -lsr output
如果看到以下结果那么算法运行成功,你的安装也就成功了。
clusteredPoints  clusters-0  clusters-1  clusters-10  clusters-2  clusters-3  clusters-4 clusters-5  clusters-6  clusters-7  clusters-8  clusters-9  cluster-10.final data
 

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21919385/viewspace-1119748/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-06-17