第一次实验报告Hadoop

第一次实验报告Hadoop(三种模式安装配置)

实验小结

通过对Hadoop模式安装配置的学习,我学习和熟悉了一些新的指令操作,对hadoop的基本操作有了基础的掌握,hadoop的环境配置原理和编译原理的方法,在实验过程中也遇到很多问题,不过都问同学、问老师、上网查阅资料,很多问题都已经解决了,这次实验也为我们后面的实验打下基础。

实验步骤

一.将VMWare 12安装好并**
二.安装CentOS7
三.SecureCRT安装
四.SecureCRT新建Session、修改外观
这四个软件的安装老师都给了参考的文档,所以只用按照老师给的文档和上网查阅资料就能完成。

接下来的操作在SecureCRT里面完成
五.JDK+Hadoop安装配置、单机模式配置
1.关闭防火墙
firewall-cmd --state 显示防火墙状态running/not running
systemctl stop firewalld 临时关闭防火墙,每次开机重新开启防火墙
systemctl disable firewalld 禁止防火墙服务。
第一次实验报告Hadoop
2.传输JDK和HADOOP压缩包
SecureCRT 【File】→【Connect SFTP Session】开启sftp操作
put jdk-8u121-linux-x64.tar.gz
put hadoop-2.7.3.tar.gz
传输文件从本地当前路径(Windows)到当前路径(Linux)
第一次实验报告Hadoop
第一次实验报告Hadoop
3.解压JDK、HADOOP
tar -zxvf jdk-8u121-linux-x64.tar.gz -C /opt/module 解压安装
tar -zxvf hadoop-2.7.3.tar.gz -C /opt/module 解压安装
若无module文件夹,则先创建 mkdir module

4.配置JDK并生效
vi /etc/profile文件添加:
export JAVA_HOME=/opt/module/jdk1.8.0_121
export PATH=JAVAHOME/bin:JAVA_HOME/bin:PATH
第一次实验报告Hadoop
Esc :wq!保存并退出。不需要配置CLASSPATH。
source /etc/profile配置生效
运行命令javac,检验是否成功。
第一次实验报告Hadoop
5.配置HADOOP并生效
vi /etc/profile文件添加:
export HADOOP_HOME=/opt/module/hadoop-2.7.3
export PATH=HADOOPHOME/bin:HADOOP_HOME/bin:HADOOP_HOME/sbin:$PATH
第一次实验报告Hadoop
Esc :wq!保存并退出。
source /etc/profile配置生效
运行命令hadoop,检验是否成功。
第一次实验报告Hadoop
6.单机模式配置hadoop -env.sh
vi /opt/module/hadoop-2.7.3/etc/hadoop/hadoop-env.sh文件修改
显示行号 Esc :set number 取消行号Esc :set nonumber
修改第25行export JAVA_HOME=/opt/module/jdk1.8.0_121
Esc :wq!保存并退出
第一次实验报告Hadoop

六.Hadoop伪分布式模式配置
只有一台虚拟机bigdata128,既是namenode又是datanode。
(一)、基础安装配置
完成上述1-5安装配置。
(二)、修改以下5个配置文件
在与之间添加如下property:
①core-site.xml

    <name>fs.defaultFS</name>
    <value>hdfs://bigdata128:9000</value>
    <name>hadoop.tmp.dir</name>
    
    <value>/opt/module/hadoop-2.7.3/tmp</value>

第一次实验报告Hadoop
②hdfs-site.xml

dfs.replication 1
     <name>dfs.namenode.secondary.http-address</name>
     <value>bigdata128:50090</value>

第一次实验报告Hadoop
③mapred-site.xml(该配置文件不存在,先复制)
cp mapred-site.xml.template mapred-site.xml

  <name>mapreduce.framework.name</name> 
  <value>yarn</value> 

第一次实验报告Hadoop
④yarn-site.xml

  <name>yarn.resourcemanager.hostname</name> 
  <value>bigdata128</value> 
  <name>yarn.nodemanager.aux-services</name> 
  <value>mapreduce_shuffle</value> 

第一次实验报告Hadoop
⑤Slaves文件里使用默认localhost,或者添加 bigdata128(既是NameNode又是DataNode)
注:如果Slaves文件为空,就没有DataNode和NodeManager。
⑥修改\etc\hosts配置文件
运行命令 vi /etc hosts
添加虚拟机的ip及对应主机名:
192.168.12.134 bigdata128
第一次实验报告Hadoop
⑦修改\etc\hostname配置文件
运行命令 vi \etc hostname
添加虚拟机的主机名:
bigdata128
重启虚拟机,主机名生效。
第一次实验报告Hadoop
(三)、格式化
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目录,如下图所示,则正确。
第一次实验报告Hadoop
②执行jps,如下图所示,NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeManager如果全部启动,伪分布式配置成功。
第一次实验报告Hadoop
③web控制台访问:http://192.168.12.134:50070http://192.168.12.134:8088
页面正常显示,则成功。
第一次实验报告Hadoop
第一次实验报告Hadoop
(五)、SSH免密码登陆(解决每次启动hadoop输入用户密码问题)
生成公、私**对:ssh-****** -t rsa 按3次回车键
查看:cd ~/.ssh路径下面的id_rsa和id_rsa.pub
复制:ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
查看生成authorized_keys

(六)运行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
第一次实验报告Hadoop
第一次实验报告Hadoop
第一次实验报告Hadoop
七.Hadoop完全分布式模式配置
1.新建另外两台Linux虚拟机
完全分布式模式共三台虚拟机,以伪分布式的虚拟机(bigdata128)作为master主节点,克隆另外两个虚拟机(bigdata129、bigdata130)作为slaves子节点,克隆机自带安装JDK、Hadoop及配置文件。
注:此配置是为学习所用,且电脑资源有限,因此照搬伪分布式配置,将NameNode、SecondaryNameNode、ResourceManager全部配置在主节点bigdata128上面,实际情况则相反,应该分别配置在不同的节点上面。
2.修改以下配置文件
①slaves配置文件
三台虚拟机分别都运行命令 vi /opt/module/hadoop-2.7.3/etc/hadoop slaves
修改slaves为:
bigdata129
bigdata131
②修改\etc\hosts配置文件
三台虚拟机分别都运行命令 vi /etc hosts
注释已有内容,添加集群三台虚拟机的ip及对应主机名:
192.168.12.139 bigdata128
192.168.12.140 bigdata129
192.168.12.138 bigdata130
③修改\etc\hostname配置文件
三台虚拟机分别都运行命令 vi \etc hostname
添加各自的主机名bigdata128或者bigdata129或者bigdata130。
重启全部虚拟机,主机名生效。
3.格式化
在主节点bigdata128上面输入格式化命令(hdfs namenode -format),格式化集群。
注:如果不是第一次格式化,三台虚拟机都删除/opt/module/hadoop-2.7.3/下面的tmp、logs目录:rm –rf /opt/module/hadoop-2.7.3/tmp rm –rf \opt\module\hadoop-2.7.3\logs
注:如果格式化之前启动过集群,先在主节点bigdata128上面停止集群(stop-all.sh),再格式化。
4.启动集群
在主节点bigdata128上面输入启动命令(start-all.sh),启动集群。
注:如果启动之前启动过集群,先在主节点bigdata128上面停止集群(stop-all.sh),再启动。
启动正常,输入jps命令,显示如下:
第一次实验报告Hadoop
5.web控制台访问:http://192.168.12.134:50070http://192.168.12.134:8088
页面正常显示,则成功。
6.运行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.112.134:50070 查看/user/root/output/part-r-00000文件里的词频统计结果。
如下图所示:
第一次实验报告Hadoop
第一次实验报告Hadoop