Jdk+Hadoop三种安装模式实验报告

1.JDK+Hadoop安装配置、单机模式配置

jkd对我来说以及是老朋友了,这里没什么是陌生的,虽然Hadoop没有学习过,但是它和jdk大同小异,都是实现一定功能,下面就开始jdk和Hadoop的安装。

首先呢连接上SecureCRT,关闭Linux的防火墙,Jdk+Hadoop三种安装模式实验报告firewall-cmd --state,传输jdk和Hadoop的安装包到linux下,SecureCRT 【File】→【Connect SFTP Session】开启sftp操作,

put  jdk-8u121-linux-x64.tar.gz 

put  hadoop-2.7.3.tar.gz

传输文件从本地当前路径(Windows)到当前路径(Linux),Jdk+Hadoop三种安装模式实验报告Jdk+Hadoop三种安装模式实验报告

tar  -zxvf  jdk-8u121-linux-x64.tar.gz  -C  /opt/module  解压安装

tar  -zxvf  hadoop-2.7.3.tar.gz  -C  /opt/module  解压安装

配置Jdk和Hadoop并生效

vi /etc/profile文件添加:

export JAVA_HOME=/opt/module/jdk1.8.0_121

export PATH=$JAVA_HOME/bin:$PATH

export HADOOP_HOME=/opt/module/hadoop-2.7.3

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

Esc :wq!保存并退出

source /etc/profile配置生效

运行命令javac、Hadoop,检验是否成功。

最后呢运行Hadoop自带的wordcount程序

cd /opt/module/hadoop-2.7.3/share/hadoop/mapreduce 转入wordcount所在路径。

创建adir文件夹:

hadoop fs -mkdir /adir

查看所创建的文件:

hadoop fs -ls /

运行touch in.txt,创建In.txt文件,作为输入文件。

(如果in.txt是空文件,运行vi in.txt,输入内容作为被统计词频的输入文件)

传输in.txt文件到adir

hadoop fs -put in.txt /adir

查看in.txt是否传到adir里:

hadoop fs -ls /adir

输出目录/output必须不存在,程序运行后自动创建。

运行wordcount:

hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /adir/in.txt output/

运行成功之后,进入/output目录,打开文件part-r-00000查看计数结果。

hadoop fs -cat /user/root/output/part-r-00000

2.Hadoop伪分布式模式配置

​​​​​​​Hadoop伪分布式配置模式呢只有一台虚拟机bigdata128,既是namenode又是datanode。

第一步是修改五个配置文件:

①core-site.xml

<!--配置HDFS主节点,namenode的地址,9000是RPC通信端口-->

<property>

        <name>fs.defaultFS</name>

        <value>hdfs://bigdata128:9000</value>

</property>

<!--配置HDFS数据块和元数据保存的目录,一定要修改-->

<property>

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

        <value>/opt/module/hadoop-2.7.3/tmp</value>

</property>

②hdfs-site.xml

<!--注释配置数据块的冗余度,默认是3-->                          

<property>               

              <name>dfs.replication</name>            

              <value>1</value>          

</property>              

<!--secondaryNameNode的主机地址-->

<property>

         <name>dfs.namenode.secondary.http-address</name>

         <value>bigdata128:50090</value>

</property>

③mapred-site.xml(该配置文件不存在,先复制)

cp  mapred-site.xml.template  mapred-site.xml                           

<!--配置MR程序运行的框架-->                     

<property>                         

           <name>mapreduce.framework.name</name>

           <value>yarn</value>

</property>    

④yarn-site.xml

<!--配置Yarn的节点-->                   

<property>                         

           <name>yarn.resourcemanager.hostname</name>

           <value>bigdata128</value>

</property>    

<!--NodeManager执行MR任务的方式是Shuffle洗牌-->                    

<property>      

           <name>yarn.nodemanager.aux-services</name>

           <value>mapreduce_shuffle</value>

</property>    

⑤Slaves文件里使用默认localhost,或者添加 bigdata128(既是NameNode又是DataNode)

注:如果Slaves文件为空,就没有DataNode和NodeManager。

下面的六和七在hosts文件中修改保存。

⑥修改\etc\hosts配置文件

运行命令  vi  \etc  hosts

注释掉已有内容,添加虚拟机的ip及对应主机名:

192.168.163.128  bigdata128

⑦修改\etc\hostname配置文件

运行命令  vi  \etc  hostname

添加虚拟机的主机名:

bigdata128

重启虚拟机,主机名生效。

然后进行格式化,hdfs namenode -format (如果不是第一次格式化,格式化之前先删除/opt/module/hadoop-2.7.3/下面的tmp、logs两个目录)。

最后启动,start-all.sh

(如果启动之前已经启动过,启动之前先停止stop-all.sh)(启动记得关闭防火墙)

查看伪分布式配置是否成功:

①执行ll,查看/opt/module/hadoop-2.7.3/tmp/dfs目录,如下图所示,则正确。

②执行jps,如下图所示,NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeManager如果全部启动,伪分布式配置成功。

Jdk+Hadoop三种安装模式实验报告

③web控制台访问:http://192.168.163.132:50070http://192.168.163.132:8088

页面正常显示,则成功。

五、运行wordcount

hdfs dfs -put in.txt /adir 上传本地当前路径下的in.txt文件 到hdfs的/adir目录下。

运行hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /adir/in.txt output/。

http://192.168.163.132:50070 查看/user/root/output/part-r-00000文件里的词频统计结果。

3.Hadoop完全分布式模式配置

完全分布式模式是要克隆两台bigdata128,前述伪分布式的虚拟机(bigdata128)作为master主节点,克隆另外两个虚拟机(bigdata129、bigdata131)作为slaves子节点,克隆机自带安装JDK、Hadoop及配置文件。

首先是修改配置文件:

①slaves配置文件

三台虚拟机分别都运行命令  vi  /opt/module/hadoop-2.7.3/etc/hadoop  slaves

修改slaves为:

bigdata130

bigdata131

②修改\etc\hosts配置文件

三台虚拟机分别都运行命令  vi  \etc  hosts

注释已有内容,添加集群三台虚拟机的ip及对应主机名:

192.168.112.129  bigdata129

192.168.112.130  bigdata130

192.168.112.131  bigdata131

③修改\etc\hostname配置文件

三台虚拟机分别都运行命令  vi  \etc  hostname

添加各自的主机名bigdata129或者bigdata130或者bigdata131。

重启全部虚拟机,主机名生效。

然后启动集群:start-all.sh

在主节点bigdata128上面输入启动命令(start-all.sh),启动集群。   

注:如果启动之前启动过集群,先在主节点bigdata128上面停止集群(stop-all.sh),再启动。

启动正常,输入jps命令,显示如下:

Jdk+Hadoop三种安装模式实验报告

启动正常jps显示3台主机如上如下

Jdk+Hadoop三种安装模式实验报告

最后运行wordcount程序:

hdfs dfs -put in.txt /adir 上传本地当前路径下的in.txt文件 到hdfs的/adir目录下。

运行hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /adir/in.txt output/。

在http://192.168.163.132:50070 查看/user/root/output/part-r-00000文件里的词频统计结果。

如下图所示:

Jdk+Hadoop三种安装模式实验报告

Jdk+Hadoop三种安装模式实验报告​​​​​​​