美文网首页
手把手教你配置hadoop(二)

手把手教你配置hadoop(二)

作者: 汤海怪 | 来源:发表于2019-12-21 21:19 被阅读0次

1.进入Hadoop软件包,命令如下:

先切回到root用户
[kkb@master ~]$ su - root

进入到hadoop目录下(压缩包可以使用鼠标将压缩包拖入虚拟机中)
[root@master ~]$ cd /software/hadoop/

解压Hadoop安装包命令如下:
[root@master hadoop]$ tar -zxvf hadoop-2.7.3.tar.gz
image.png

2.配置环境变量hadoop-env.sh

环境变量文件中,只需要配置JDK的路径

[root@master hadoop-2.7.3]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/hadoop-env.sh

在文件的靠前的部分找到下面的一行代码:
export JAVA_HOME=${JAVA_HOME}
将这行代码修改为下面的代码:
export JAVA_HOME=/usr/java/jdk1.8.0_181/
然后保存文件
image.png

如果你不知道自己的Java版本可以通过下面的方法得到


image.png

配置环境变量yarn-env.sh

环境变量文件中,只需要配置JDK的路径。

[root@master hadoop-2.7.3]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/yarn-env.sh

在文件的靠前的部分找到下面的一行代码:
export JAVA_HOME=/home/y/libexec/jdk1.6.0/
将这行代码修改为下面的代码(将#号去掉):
export JAVA_HOME=/usr/java/jdk1.8.0_181/
然后保存文件
image.png

3.配置核心组件core-site.xml

使用vi编辑:

[root@master hadoop-2.7.3]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml

用下面的代码替换core-site.xml中的内容:(注意路径一致

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
                <property>
                                     <name>fs.defaultFS</name>
                                     <value>hdfs://master:9000</value>
                </property>
                 <property>
                                      <name>hadoop.tmp.dir</name>
                                      <value>/software/hadoop/hadoopdata</value>
                  </property>
</configuration>
image.png

4.配置文件系统hdfs-site.xml

使用vi编辑:

[root@master hadoop-2.7.3]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml

用下面的代码替换hdfs-site.xml中的内容:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
               <property>
                                      <name>dfs.replication</name>
                                      <value>3</value>
               </property>
</configuration>
image.png

5.配置文件系统yarn-site.xml

使用vi编辑:

[root@master hadoop-2.7.3]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/yarn-site.xml

用下面的代码替换yarn-site.xml中的内容:

<?xml version="1.0"?>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:18040</value>
</property>
<property> <name>yarn.resourcemanager.scheduler.address</name>
<value>master:18030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:18025</value>
</property>
<property> <name>yarn.resourcemanager.admin.address</name>
<value>master:18141</value>
</property>
<property> <name>yarn.resourcemanager.webapp.address</name>
<value>master:18088</value>
</property>
</configuration>
image.png

6.配置计算框架mapred-site.xml

复制mapred-site-template.xml文件:

[root@master hadoop-2.7.3]$ cp /software/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template
/software/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml

使用vi编辑:

[root@master ~]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml

用下面的代码替换mapred-site.xml中的内容

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
   <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
   </property>
</configuration>
cp /software/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template /software/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml

7.在master节点配置slaves文件

使用vi编辑:

[root@master hadoop-2.7.3]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/slaves

用下面的代码替换slaves中的内容:

slave01
slave02
image.png

8.更改权限(三个节点都操作)

给hadoop目录授权

[root@master hadoop-2.7.3]$ chown kkb.kkb /software/hadoop/ -R  # -R是递归的意思
image.png

给我们每台虚拟就都创建一个相同路径的hadoop文件夹,方便管理


image.png

9.复制到从节点

使用下面的命令将已经配置完成的Hadoop复制到从节点HadoopSlave上:

[root@master hadoop-2.7.3]$ su - kkb

[root@master ~]$ scp -r /software/hadoop/hadoop-2.7.3 root@slave01:/software/hadoop

[root@master ~]$ scp -r /software/hadoop/hadoop-2.7.3 root@slave02:/software/hadoop

注意:因为之前已经配置了免密钥登录,这里可以直接远程复制。

在我们的slave01,slave02中查看hadoop,并都做一次授权

salve01
salve02

六. 启动Hadoop集群

1.下面所有的操作都使用kkb用户,切换kkb用户的命令是:

su - kkb(如果已在普通用户下则不用再执行)

2.配置Hadoop启动的系统环境变量

该节的配置需要同时在两个节点(HadoopMaster和HadoopSlave)上进行操作,操作命令如下:
只需要在kkb用户下执行环境变量配置操作即可

[kkb@master ~]$ vi .bash_profile

复制粘贴以下内容添加到到上面vi打开的文件中:

JAVA_HOME=/usr/java/jdk1.8.0_181/
HADOOP_HOME=/software/hadoop/hadoop-2.7.3
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME
export HADOOP_HOME
export PATH
image.png

使改动生效命令:

[kkb@master ~]$ source ~/.bash_profile

3.创建数据目录

该节的配置需要同时在两个节点(HadoopMaster和HadoopSlave)上进行操作。
在kkb的用户主目录下,创建数据目录,命令如下:

[kkb@master ~]$ mkdir /software/hadoop/hadoopdata

4.启动Hadoop集群

4.1格式化文件系统

格式化命令如下,该操作需要在HadoopMaster节点上执行:(需要等待一些时间,没有报错进入下一步)

[kkb@master ~]$ hdfs namenode -format

4.2启动Hadoop

使用start-all.sh启动Hadoop集群,首先进入Hadoop安装主目录,然后执行启动命令:

[kkb@master ~]$ cd ~/hadoop-2.7.3

[kkb@master ~]$ start-all.sh

执行命令后,提示输入yes/no时,输入yes。

注意
可能存在启动不了,启动hadoop时报错,nodemanager running as process 6410. Stop it first.之类的
解决方法:

 进程已经在运行中了,先执行stop-all.sh下,然后再执行start-all.sh,楼主通过此方法,问题解决

4.3查看进程是否启动

在HadoopMaster的终端执行jps命令,在打印结果中会看到4个进程,分别是ResourceManager
Jps
NameNode
SecondaryNameNode
如下图所示。如果出现了这4个进程表示主节点进程启动成功。

image.png

在HadoopSlave的终端执行jps命令,在打印结果中会看到3个进程,分别是NodeManager
DataNode
Jps

相关文章

网友评论

      本文标题:手把手教你配置hadoop(二)

      本文链接:https://www.haomeiwen.com/subject/renmnctx.html