当前位置:   article > 正文

Hadoop部署模式与集群配置_hadoop的java configuration设置集群

hadoop的java configuration设置集群

由之前所示:

Hadoop部署模式:

1.众所周知,JAVA具有跨平台兴,所以,我们尝试在Linux平台上编写和运行JAVA程序

执行:vim HelloWorld.java,进入HelloWorld的编写窗口

 进行编写,编写程序,如上所示,编写成功存盘退出

执行:javac HelloWorld.java,使编译成字节码文件

执行:java HelloWorld,运行Java文件

 2.将JDK分发到slave1与salve2虚拟机上

执行:scp -r $JAVA_HOME root@slave1:$JAVA_HOME      【-r:  recursive    递归】 

在slave1虚拟机上,执行:ll /usr/local  ,查看JDK是否拷贝成功

 执行:yum -y install glibc.i686,安装编辑器

3.将环境配置文件分发到slave1与slave2虚拟机上

执行:scp /etc/profile root@slave1:/etc,将环境配置文件复制到slave1

在slave1上执行: source /etc/profile ,让环境变量配置生效

 同时,在slave1上查看JDK版本

说明:slave2上步骤如上,只不过,将slave1换成slave2

4.如何将HelloWorld .java文件分发到slave1与slave2虚拟机上

执行:scp HelloWorld.java  root@slave1:/opt,将JAVA文件,复制到slave1

执行:cd  /opt    进入文件复制位置

 执行: javac HelloWorld.java  

 执行: java HelloWorld

Hadoop安装:

概念:

Hadoop作为开源产品之一,任何用户都可从官网下载使用,本次,我们将使用最新版本   【H

adooop-3.3.4】

1.下载Hadoop压缩包

链接:Apache DownloadsHome page of The Apache Software Foundationhttps://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz   建议使用迅雷下载,速度比官网速度快

2.上传Hadoop压缩包到虚拟机

将Hadoop压缩包上传到master 虚拟机的/opt目,执行:cd  /opt

查看上传的Hadoop压缩包,执行ll

3.将Hadoop压缩包解压到指定目录,执行:tar -xzvf hadoop-3.3.4.tar.gz  -C /usr/local

执行:ll /usr/local/hadoop-3.3.4

配置Hadoop时,最用就是bin 、etc与sbin三个目录

 查看bin目录:

执行:ll /usr/local/hadoop-3.3.4/bin,查看

主要配置Hadoop,查看etc/hadoop,  执行:ll /usr/local/hadoop-3.3.4/etc/hadoop

查看sbin目录,执行:ll /usr/local/hadoop-3.3.4/sbin

四:配置Hadoop环境变量

执行:vim /etc/profile

添加如下语句:

export HADOOP_HOME=/usr/local/hadoop-3.3.4
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
 

存盘退出,让配置生效,执行:source /etc/profile

五、验证Hadoop环境

检查Hadoop安装是否成功,执行:hadoop version

Hadoop集群配置

一、配置Hadoop集群

 1.在master虚拟机上配置Hadoop

编辑Hadoop环境配置文件 -Hadoop-env.sh

进入Hadoop配置目录,执行:cd $HADOOP_HOME/etc/hadoop

添加三条环境变量配置,执行:vim hadoop-env.sh

添加:

export JAVA_HOME=/usr/local/jdk1.8.0_341

export HADOOP_HOME=/usr/local/hadoop-3.3.4

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

存盘退出,让配置生效,执行:sourrce hadoop-env.sh

查看三个配置的环境变量,执行:echo $JAVA_HOME $HADOOP_HOME $HADOOP_CONF_DIR

编辑Hadoop核心配置文件-core-site.xml

执行:vim core-site.xml

添加:

<configuration>
    <!--用来指定hdfs的老大-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <!--用来指定hadoop运行时产生文件的存放目录-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop-3.3.4/tmp</value>
    </property>    
</configuration>


由于配置IP地址主机名映射,因此配置HDFS老大节点可用hdfs://master:9000,否则必须用IP地址:hdfs://192.168.1.101:9000

编辑HDFS配置文件-hdfs-site.xml

执行:vim hdfs-site.xml

添加:

<configuration>
    <!--设置名称节点的目录-->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/usr/local/hadoop-3.3.4/tmp/namenode</value>
    </property>
    <!--设置数据节点的目录-->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hadoop-3.3.4/tmp/datanode</value>
    </property>
    <!--设置辅助名称节点-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:50090</value>
    </property>
    <!--hdfs web的地址,默认为9870,可不配置-->
    <!--注意如果使用hadoop2,默认为50070-->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>0.0.0.0:9870</value>
    </property>
    <!--副本数,默认为3,可不配置-->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <!--是否启用hdfs权限,当值为false时,代表关闭-->
    <property>
        <name>dfs.permissions.enabled</name>
        <value>false</value>
    </property>
</configuration>

说明:可以不用设置名称节点 的目录,数据节点的目录以及辅助名称节点

编辑MapReduce配置文件 -mapred-site.xml

执行:vim mapred-site.xml 

添加:

<configuration>
    <!--配置MR资源调度框架YARN-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    <property>
        <name>mapreduce.map.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    <property>
        <name>mapreduce.reduce.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
</configuration>

说明:后三个属性如果不设置,在运行Hadoop自带示例的词频统计时,会报错:Error:Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster

编辑-yarn-site.xml

执行:vim yarn-site.xml

 添加:

<configuration>
    <!--配置资源管理器:集群master-->
    <property>        
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <!--配置节点管理器上运行的附加服务-->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!--关闭虚拟内存检测,在虚拟机环境中不做配置会报错-->
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
</configuration>
 

执行:vim workers 

【说明:

hadoop-2.x里配置slaves文件,hadoop-3.x里配置workers文件

通过workers文件定义数据节点,根据集群规划,三个节点都要作为数据节点

 在slave1 和slave2 虚拟机上安装配置hadoop

执行:scp -r $HADOOP_HOME root@slave1:$HADOOP_HOME

【scp -r $HADOOP_HOME root@slave2:$HADOOP_HOME】

在slave1上查看分发的hadoop,执行:ll /usr/local

将master虚拟机上环境变量配置文件分发到slave1,执行: scp /etc/profile root@slave1:/etc/profile

【scp /etc/profile root@slave2:/etc/profile】

切换到slave1虚拟机上,执行:source /etc/profile

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/873936
推荐阅读
相关标签
  

闽ICP备14008679号