zoukankan      html  css  js  c++  java
  • 在ubuntu系统下装hadoop

    1.环境:ubuntuhadoop2.7.3

    2.Ubuntu下创建hadoop用户组和用户

    ① 添加hadoop用户到系统用户

     

    ② 现在只是添加了一个用户hadoop,它并不具备管理员权限,我们给hadoop用户添加权限,打开/etc/sudoers文件

    命令:sudo vi /etc/sudoers

    ③ root  ALL=(ALL:ALL)  ALL下添加hadoop  ALL=(ALL:ALL)  ALL

    此文件为只读文件,修改后强制保存::wq!

    3.安装ssh服务

    命令:sudo apt-get install ssh openssh-server

    4.使用ssh进行无密码验证登录

    ① 先进入hadoop用户

    命令: su hadoop

    ② 作为一个安全通信协议(ssh生成密钥有rsadsa两种生成方式,默认情况下采用rsa方式),使用时需要密码,因此我们要设置成免密码登录,生成私钥和公钥:

     

    (注:回车后会在~/.ssh/下生成两个文件:id_rsaid_rsa.pub这两个文件是成对出现的前者为私钥,后者为公钥)

    进入~/.ssh/目录下,将公钥id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的(authorized_keys 用于保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容)

    命令:cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys

    ③ 然后即可无密码验证登录了 

    命令:ssh localhost

     

    5.下载Hadoop安装包

    官网地址:

    https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/stable/

     

    6.解压缩Hadoop安装包

     

    要确保所有的操作都是在用户hadoop下完成的,所以将该hadoop文件夹的属主用户设为hadoop

    命令:sudo chown -R hadoop:hadoop hadoop

    7.安装Java

     

    8.配置Hadoop中相应的文件

    需要配置的文件如下,hadoop-env.shcore-site.xmlmapred-site.xml.templatehdfs-site.xml,所有的文件均位于/usr/local/hadoop/etc/hadoop下面,具体需要的配置如下:

    ① core-site.xml 配置如下:

    <configuration>

    <property>

    <name>hadoop.tmp.dir</name>

    <value>file:/usr/local/hadoop/tmp</value>

    <description>Abase for other temporary directories.</description>

    </property>

    <property>

    <name>fs.defaultFS</name>

    <value>hdfs://localhost:9000</value>

    </property>

    </configuration>

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

    <configuration>

    <property>

    <name>mapred.job.tracker</name>

    <value>localhost:9001</value>

    </property>

    </configuration>

    ③ hdfs-site.xml配置如下:

    <configuration>

    <property>

    <name>dfs.replication</name>

    <value>1</value>

    </property>

    <property>

    <name>dfs.namenode.name.dir</name>

    <value>file:/usr/local/hadoop/tmp/dfs/name</value>

    </property>

    <property>

    <name>dfs.datanode.data.dir</name>

    <value>file:/usr/local/hadoop/tmp/dfs/data</value>

    </property>

    </configuration>

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

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

        export JAVA_HOME="/usr/local/jdk1.8.0_91"

    9.运行Hadoop

    ① 初始化HDFS系统

    命令:bin/hdfs namenode -format

     

     

    ② 开启NameNodeDataNode守护进程

    命令:sbin/start-dfs.sh,成功如下:

     

    ③ 查看进程信息

    命令:jps

     

    ④ 查看Web UI

    在浏览器输入http://192.168.86.126:50070/

     

    10.运行WordCount Demo

    ① 在本地新建一个文件,在/home/download/wangling目录下新建了一个words文档,里面的内容可以随便填写。此words里写的如下:

     quux labs foo bar quux

    ② HDFS中新建一个文件夹,用于上传本地的words文档,在hadoop目录下输入如下命令:

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

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

    命令:bin/hdfs dfs -ls /

     

    ③ 将本地words文档上传到test目录中

    命令:bin/hdfs dfs -put /home/download/wangling/words /test/

     

    表示已经将本地的words文档上传到了test目录下了。

    ④ 运行wordcount

    命令:bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /test/words /test/out

    运行完成后,在/test目录下生成名为out的文件

    查看命令:bin/hdfs dfs -ls /test

     

    ⑤ 查看运行结果

    命令:bin/hdfs dfs -ls /test/out

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

     

     

     

     

     

     

  • 相关阅读:
    php socket 模型及效率问题
    深入浅出讲解:php的socket通信
    发现一个nginx LUA开发Web App的框架
    centos6.x 抓取ssh登录的用户名和密码
    使用Lua的扩展库LuaSocket用例
    Lua开发
    ngx.location.capture 只支持相对路径,不能用绝对路径
    PHP获得数组的交集与差集
    php用explode,可以提供多个字符作为分割符来进行分割数组吗?
    resizable可调整尺寸组件
  • 原文地址:https://www.cnblogs.com/lingwang3/p/6820779.html
Copyright © 2011-2022 走看看