实验一 JDK+Hadoo安装配置、Hadoop三种模式安装配置

    xiaoxiao2025-06-15  11

    JDK+Hadoop安装配置、集群模式搭建** 以下操作在SecureCRT里面完成 1.关闭防火墙 firewall-cmd --state 显示防火墙状态running/not running systemctl stop firewalld 临时关闭防火墙,每次开机重新开启防火墙 systemctl disable firewalld 禁止防火墙服务。 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)

    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 解压安装

    mkdir module

    4.配置JDK并生效

    vi /etc/profile文件添加:

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

    export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH

    Esc :wq!保存并退出。不需要配置CLASSPATH。

    source /etc/profile配置生效

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

    5.配置HADOOP并生效

    vi /etc/profile文件添加:

    export HADOOP_HOME=/opt/module/hadoop-2.7.3

    export PATH= H A D O O P H O M E / b i n : HADOOP_HOME/bin: HADOOPHOME/bin:HADOOP_HOME/sbin:$PATH

    Esc :wq!保存并退出。

    source /etc/profile配置生效

    运行命令hadoop,检验是否成功。

    5.单机模式配置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!保存并退出

    本地模式没有HDFS和Yarn,配置JDK后MapReduce能够运行java程序。

    6.运行自带程序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伪分布式模式配置

    只有一台虚拟机bigdata128,既是namenode又是datanode。

    一、基础安装配置

    完成上述1-5安装配置。

    二、修改以下5个配置文件

    在与之间添加如下property:

    ①core-site.xml

    fs.defaultFS

    hdfs://bigdata128:9000

    hadoop.tmp.dir

    /opt/module/hadoop-2.7.3/tmp

    ②hdfs-site.xml

    <name>dfs.replication</name> <value>1</value>

    dfs.namenode.secondary.http-address

    bigdata128:50090

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

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

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

    ④yarn-site.xml

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

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

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

    ⑥修改\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文件里的词频统计结果。

    六、SSH免密码登陆(解决每次启动hadoop输入用户密码问题)

    生成公、私密钥对:ssh-keygen -t rsa 按3次回车键

    查看:cd ~/.ssh路径下面的id_rsa和id_rsa.pub

    复制:ssh-copy-id -i ~/.ssh/id_rsa.pub root@bigdata128

    查看生成authorized_keys。

    Hadoop完全分布式模式配置

    一、新建另外两台Linux虚拟机

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

    注:此配置是为学习所用,且电脑资源有限,因此照搬伪分布式配置,将NameNode、SecondaryNameNode、ResourceManager全部配置在主节点bigdata128上面,实际情况则相反,应该分别配置在不同的节点上面。

    二、修改以下配置文件

    ①slaves配置文件

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

    修改slaves为:

    bigdata129

    bigdata131

    ②修改\etc\hosts配置文件

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

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

    192.168.163.128 bigdata128

    192.168.163.129 bigdata129

    192.168.163.131 bigdata131

    ③修改\etc\hostname配置文件

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

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

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

    三、格式化

    在主节点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),再格式化。

    四、启动集群

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

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

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

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

    启动正常目录显示如下:

    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文件里的词频统计结果。

    如下图所示:

    最新回复(0)