• 联想ThinkPad S3-S440虚拟机安装,ubuntu安装,Hadoop(2.7.1)详解及WordCount运行,spark集群搭建


    下载ubuntu操作系统版本

    ubuntu-14.10-desktop-amd64.iso(64位)

    安装过程出现错误:

    This kernel requires an X86-64 CPU,but only detected an i686 CPU

    (当前系统内核需要64位的cpu,可是只检测到32位的)

    原来VirtualBox安装64位的系统需要满足以下条件:
    1.64位的cpu
    2.安装的系统必须为64位
    3.cpu允许硬件虚拟化

    1,3项可以下载个securable.exe进行检测

    securable.exe
    此工具可以检测出你的电脑是否能安装win7(64位)的系统,
    运行即有提示:显示为 64 yes yes则可以安装,显示为:64 off off(或64 no no )则不能。

    表示可以安装的

    其实现在大部分的cpu硬件都是支持的,第3项要在bios中开启这个选项。重启按fn+f12键进入biso在cpu configuration中找Virtualization状态改为enabled

    因为Virtualization状态disable所以安装失败,修改后成功。

    vim安装(未安装vim时候可以用命令:nano /etc/apt/sources.list)

    (今天在安装软件的时候出现了Package has no installation candidate的问题,如:

    #  apt-get install <packagename>
    Reading package lists... Done
    Building dependency tree... Done
    Package aptitude is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    E: Package <packagename> has no installation candidate


    解决方法如下:
    # apt-get update
    # apt-get upgrade
    # apt-get install <packagename>

    这样就可以正常使用apt-get了~

    添加第三方地址:

    sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
    更新同步安装列表。在这一步之前可能还需要添加新的源,比如
    vim /etc/apt/sources.list 我添加了2个
    deb http://mirrors.163.com/ubuntu/ hardy main universe
    deb http://tw.archive.ubuntu.com/ubuntu/ hardy main universe)验证无效
     
    (# apt-get upgrade【升级所有可升级的已安装包?我没做这一步,也可以】
    # apt-get install <packagename>
    方法: 在你的软件源中添加源:
    sudo vim /etc/apt/sources.list
    添加:deb http://cz.archive.ubuntu.com/ubuntu/ lucid main
    写上软件源后,再刷新一下,注意一定要刷新,运行:
    sudo apt-get update
    再安装vim或者gvim

     sudo apt-get install vim

    vim : 依赖: vim-common (= 2:7.3.429-2ubuntu2.1) 但是 2:7.3.547-4ubuntu1 正要被安装
    E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系

    原因可能是安装vim所依赖的vim-common和系统自带的vim-common版本冲突,解决办法就是先把vim-common卸载了人然后再安装vim即可.

    sudo apt-get remove vim-common

    sudo apt-get install vim)验证有效

    //////////////////////////////////////////////////////////////////////////////////////////

    1.JDK安装

    //////////////////////查看ubuntu是多少位系统

    查看cpu信息
    cat /proc/cpiinfo

    查看ubuntu版本:
    cat /etc/issue

    查看系统是32位还是64位
    方法1:本人验证过
    #查看long的位数,返回32或64 getconf LONG_BIT
     
    方法2:
    #查看文件信息,包含32-bit就是32位,包含64-bit就是64位
    file /sbin/init

    我的系统是64,jdk官网下载64位:jdk-8u72-linux-x64.tar.gz

    配置环境变量命令:

    $sudo gedit ~/.bashrc

    export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_55   

    export JRE_HOME=${JAVA_HOME}/jre  

    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  

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

     环境变量配置完成需要重启系统或者执行命令:source ~/.bashrc

    2.ssh server安装

    sudo apt-get install openssh-server

    报错:
    下列软件包有未满足的依赖关系:
     openssh-server : 依赖: openssh-client (= 1:6.6p1-2ubuntu1)
    E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

    解决方法:

    openssh-server是依赖于openssh-clien的,那ubuntu不是自带了openssh-client吗?原由是自带的openssh-clien与所要安装的openssh-server所依赖的版本不同,这里所依赖的版本是1:6.6p1-2ubuntu1,所以要安装对应版本的openssh-clien,来覆盖掉ubuntu自带的

    命令:先执行命令$ sudo apt-get install openssh-client=1:6.6p1-2ubuntu1

     然后执行安装命令:sudo apt-get install ssh

     ssh -V  查看ssh版本信息,有记录,说明安装成功

    配置免密码登录:

     在ubuntu下生成公钥/私钥对。

    $ ssh-keygen -t rsa -P ''


    -P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。
    它在/home/用户目录下生成.ssh目录,.ssh下有id_rsa(这个是私钥)和id_rsa.pub(这个是公钥)

    出现一个图形,出现的图形就是密码,不用管它

    cat ~/.ssh/id_rsa.pub >> authorized_keys(好像是可以省略的)

    然后即可无密码验证登录了,如下:

    ssh localhost

    安装hadoop

    下载Hadoop安装也有两种方式

        1.直接上官网进行下载,http://mirrors.hust.edu.cn/apache/hadoop/core/stable/hadoop-2.7.1.tar.gz

        2.使用shell进行下载,命令如下:wget http://mirrors.hust.edu.cn/apache/hadoop/core/stable/hadoop-2.7.1.tar.gz

    貌似第二种的方法要快点,经过漫长的等待,终于下载完成。

    使用如下命令解压缩Hadoop安装包

        tar -zxvf hadoop-2.7.1.tar.gz

    解压缩完成后出现hadoop2.7.1的文件夹

    配置Hadoop中相应的文件

      需要配置的文件如下,hadoop-env.sh,core-site.xml,mapred-site.xml.template,hdfs-site.xml,所有的文件均位于hadoop2.7.1/etc/hadoop下面,具体需要的配置如下:

      1.core-site.xml 配置如下:    

        <configuration>
          <property>
            <name>hadoop.tmp.dir</name>
            <value>file:/home/leesf/program/hadoop/tmp</value>
            <description>Abase for other temporary directories.</description>
          </property>
          <property>
            <name>fs.defaultFS</name>
            <value>hdfs://localhost:9000</value>
          </property>
        </configuration>

      其中的hadoop.tmp.dir的路径可以根据自己的习惯进行设置。

      2.mapred-site.xml.template配置如下:    

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

      3.hdfs-site.xml配置如下:

        <configuration>
          <property>
            <name>dfs.replication</name>
            <value>1</value>
          </property>
          <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:/home/leesf/program/hadoop/tmp/dfs/name</value>
          </property>
          <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:/home/leesf/program/hadoop/tmp/dfs/data</value>
          </property>
        </configuration>

      其中dfs.namenode.name.dir和dfs.datanode.data.dir的路径可以自由设置,最好在hadoop.tmp.dir的目录下面。

      补充,如果运行Hadoop的时候发现找不到jdk,可以直接将jdk的路径放置在hadoop.env.sh里面,具体如下:

        export JAVA_HOME="/home/leesf/program/java/jdk1.8.0_60"

    运行Hadoop

      在配置完成后,运行hadoop。

    1.初始化HDFS系统

        在hadop2.7.1目录下使用如下命令:

        bin/hdfs namenode -format

    2.开启NameNodeDataNode守护进程

        使用如下命令开启:

        sbin/start-dfs.sh

    3.查看进程信息

        使用如下命令查看进程信息

        jps

    表示数据DataNode和NameNode都已经开启

    4.查看Web UI

        在浏览器中输入http://localhost:50070,即可查看相关信息

    至此,hadoop的环境就已经搭建好了。下面开始使用hadoop来运行一个WordCount例子。

    运行WordCount Demo

    1.在本地新建一个文件,笔者在home/leesf目录下新建了一个words文档,里面的内容可以随便填写。

    2.在HDFS中新建一个文件夹,用于上传本地的words文档,在hadoop2.7.1目录下输入如下命令(目录不对命令无法执行)

        bin/hdfs dfs -mkdir /test,表示在hdfs的根目录下建立了一个test目录

        使用如下命令可以查看HDFS根目录下的目录结构

        bin/hdfs dfs -ls /

    3.将本地words文档上传到test目录中(如果datanode路径有变化上传会失败)

        使用如下命令进行上传操作:

        bin/hdfs dfs -put /home/leesf/words /test/

        使用如下命令进行查看

        bin/hdfs dfs -ls /test/

    4.运行wordcount

        使用如下命令运行wordcount:

        bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /test/words /test/out

    运行完成后,在/test目录下生成名为out的文件,使用如下命令查看/test目录下的文件

        bin/hdfs dfs -ls /test

    表示在test目录下已经有了一个名为Out的文件目录

        输入如下命令查看out目录下的文件:

        bin/hdfs dfs -ls /test/out

    结果保存在part-r-00000中。

    5.查看运行结果

        使用如下命令查看运行结果:

        bin/hadoop fs -cat /test/out/part-r-00000

    总结:从虚拟机安装,ubuntu系统的安装,jdk,hadoop安装遇到很多的问题,查很多资料,第一个是虚拟机安装比较顺利。第二是ubuntu系统安装需要修改“联想ThinkPad S3-S440”电脑的重启按fn+f12键进入biso在cpu configuration中找Virtualization状态改为enabled之后顺利安装。第三是jdk安装注意版本是32位还是64位,我的ubuntu版本是64位。第四是ssh无密码登录,注意版本兼容问题。第五是hadoop安装最顺利的。大家可以多交流。现在搭建是单机版,接下来要搭建集群。

  • 相关阅读:
    struts2 json返回试验
    ABCD四个人说真话的概率都是1/3。假如A声称B否认C说D是说谎了,那么D说过的那句话真话的概率是多少
    ABCD四个人说真话的概率都是1/3。假如A声称B否认C说D是说谎了,那么D说过的那句话真话的概率是多少
    大数据学习路线copy自淘宝
    大数据学习路线copy自淘宝
    大数据学习路线copy自淘宝
    在Action获取Scope对象
    在Action获取Scope对象
    动态Result配置
    动态Result配置
  • 原文地址:https://www.cnblogs.com/zigewb/p/5145528.html
Copyright © 2020-2023  润新知