Jdk+Hadoop三种安装模式实验报告
1.JDK+Hadoop安装配置、单机模式配置
首先连接SecureCRT,关闭Linux的防火墙
传输jdk和Hadoop的安装包到linux下
开启sftp操作
put jdk-8u121-linux-x64.tar.gz
put hadoop-2.7.3.tar.gz
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文件到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伪分布式模式配置
一、修改五个配置文件:
①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如果全部启动,伪分布式配置成功。
③web控制台访问:http://192.168.163.132:50070 、http://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完全分布式模式配置
首先是修改配置文件:
①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命令,显示如下:
启动正常jps显示3台主机如上下:
最后运行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文件里的词频统计结果。
如下图所示: