安装并配置 JDK+Hadoop,单机模式配置,实现伪分布式与分布式部署

    xiaoxiao2022-07-03  122

    利用Xshell连接虚拟机,进行以下操作:

    1.关闭防火墙

    显示防火墙状态running/not running

    firewall-cmd --state

    临时关闭防火墙,每次开机重新开启防火墙

    systemctl stop firewalld

     禁止防火墙服务

    systemctl disable firewalld

     

    2.传输JDK和HADOOP压缩

    利用xftp把文件夹中的两个压缩文件(如下)(可以自行下载) 

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

      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

    4.配置JDK并生效

    vi /etc/profile

    文件添加:

    export JAVA_HOME=/opt/module/jdk1.8.0_121 export PATH=$JAVA_HOME/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=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

    Esc :wq!保存并退出。

    source /etc/profile

    配置生效

    运行命令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!保存并退出

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

    7.运行自带程序wordcount

    cd /opt/module/hadoop-2.7.3/share/hadoop/mapreduce

    转入wordcount所在路径。

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

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

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

    运行wordcount:

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

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

    Hadoop伪分布式模式配置:

    1.基础安装配置

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

    2.修改以下5个配置文件

    在<configuration>与</configuration>之间添加如下property:

    ①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。

    ⑥修改\etc\hosts配置文件

    运行命令

    vi \etc\hosts

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

    192.168.159.131 bigdata128

    ⑦修改\etc\hostname配置文件

    运行命令

    vi \etc\hostname

    添加虚拟机的主机名:

    bigdata128

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

    3.格式化

    hdfs namenode -format

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

    4.启动

    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.159.131:50070 、http://192.168.159.131: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.159.131:50070 查看/user/root/output/part-r-00000文件里的词频统计结果。

    最新回复(0)