基于ubuntu安装Hadoop,并运行word count


一.     实验目的以及实验环境

     在Linux或者Windows下安装Hadoop并运行其中任意实例,本次试验简单运行一个wordcount 实例,选择的安装环境是在VMware Fusion 8.5.3虚拟机上,使用ubuntu来安装。以下是两个版本的截图。

 

屏幕快照%202018-05-15%20下午2.42.24.png

 

屏幕快照%202018-05-15%20下午2.43.12.png

 

二.     实验步骤以及运行结果截图

1.首先下载vmware虚拟机并安装

2.接着下载Linux套件,本实验使用ubuntu。前两个步骤不是本实验的重点,在此不做详细论述

3.配置jdk,首先在Java官网下载官方的jdk,尽量不要使用ubuntu自带的openjdk,可能会出现一些安装包不完整的情况,导致最后的Hadoop启动失败。将官网中下载的jdk放在主文件夹下,就是Home中。在/usr/local文件夹下创建一个java文件用来放置jdk

cd /usr/local

sudo mkdir java

上述两个语句就在/usr/local下创建了一个Java文件夹

将jdk放在Java文件夹下

sudo mv jdk-8u171-linux-x64.tar.gz/usr/local/java

解压

sudo tar zxvf./jdk-8u171-linux-x64.tar.gz

解压完成以后,在Java文件夹下就有了一个jdk1.8.0_171文件。然后设置jdk环境变量,这里采用全局设置的方法

sudo vi~/.bashrc

打开之后在末尾添加

export JAVA_HOME=/usr/local/java/jdk1.8.0_171   
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  

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


之后在终端检测是否配置成功,输入

java -version

到此时jdk已经配置完毕

4.配置SSH。首先确认电脑网络连接没有问题

安装ssh:

sudo apt-getinstall ssh

然后配置免密码登陆本机,首先生成密钥对

ssh-keygen –trsa  然后一直按enter,将生成的密钥对保存在.ssh/id_rsa文件中

然后切到.ssh目录下,这是一个隐藏文件,使用ls –al 可以查看此文件,然后把密钥追加到授权的key里面去 cp id_rsa.pub authorized_keys 到此时就安装配置完成,然后执行ssh localhost 可以实现无密码连接,有提示说明配置成功

5.安装Hadoop. 经过上述jdk以及ssh的安装和配置,终于可以下载安装Hadoop了。在官网下载Hadoop源文件,并放在Home的Hadoop文件夹下,同样进行解压

sudo tar xzvfhadoop-3.1.0.tar.gz

解压完成之后有了一个hadoop-3.1.0文件夹,进入此文件夹下配置环境

cd etc/Hadoop

vi Hadoop-env.sh

打开此文件之后在末尾添加

exportJAVA_HOME=/usr/local/java/jdk1.8.0_171

exportHADOOP_HOME=/home/jin/hadoop/hadoop-3.1.0

exportPATH=$PATH:/home/jin/hadoop/hadoop-3.1.0/bin

接下来配置core-site.xml

vi core-site.xml添加:

<configuration>

       <property>

           <name>fs.default.name</name>

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

       </property>

   <property>

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

         <value>/home/jin/hadoop/Hadoop-3.1.0/hadoop_tmp</value>

        <description>A base for other temporarydirectories.</description>

   </property>

</configuration>


配置mapred-site.xml

vimapred-site.xml  添加

<configuration>

    <property>

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

       <value>localhost:9001</value>

    </property>

</configuration>

 

配置hdfs-site.xml

vi hdfs-site.xml添加

<configuration>

    <property>

       <name>dfs.replication</name>

        <value>1</value>

    </property>

</configuration>

 

至此已经完全配置完毕,接下来就可以运行Hadoop了

6.Hadoop运行

 首先格式化namenode

bin/hadoopnamenode –format

然后启动hadoop

sbin/start-all.sh

然后jps检查一下,发现datanode没有启动,此时需要把设置的/home/jin/hadoop/hadoop-3.1.0/hadoop_tmp/dfs/data/current/VERSION文件的clusterID修改为dfs/name/current/VERSION内的clusterID,然后重启hadoop .设置完成之后查看进程jps

此时发现5个守护进程全部启动

7.运行wordcount

    首先在hadoop-3.1.0下创建一个文件夹input,进入目录input

echo “helloworld”> test1.txt

将字符串hello world 输出到test1中,首先在hdfs中创建input文件目录

hadoop fs –mkdir/input

   然后把test1放到hdfs的input目录下面

   hadoop fs –put test1.txt /input

   查看文件是否正确传入到/input目录下

   hadoop fs –ls /input

上图可以看出文件已经存在于hdfs的input目录下。

最后即可执行

       hadoop jar /home/jin/hadoop/hadoop-3.1.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0.jarwordcount /input /output

注意此过程只执行一次,如果再次执行会报output已经存在的错误,然后可以用以下两条指令来查看运行结果

hadoop fs –ls/output

hadoop fs –cat/output/part-r-00000

 

结果就是对test1中的单词进行计数统计

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值