Hadoop集群环境搭建(二)

17、安装jdk​​​​​​​

1.三台虚拟机查看自带openjdk,命令如下:

rpm -qa | grep java

2. 三台虚拟机卸载系统自带的openjdk:

rpm -e --nodeps tzdata-java-2016j-1.el6.noarch

rpm -e --nodeps java-1.7.0-openjdk-1.7.0.131-2.6.9.0.el6_8.x86_64

rpm -e --nodeps java-1.6.0-openjdk-1.6.0.41-1.13.13.1.el6_8.x86_64

注意需要与前面搜索出来的版本一致才能删除。

3. 三台虚拟机上传jdk并解压然后配置环境变量

1) 三台虚拟机在/(根目录)新建两个路径(通过交互窗口执行):

所有软件的安装路径

mkdir -p /export/servers

所有软件压缩包的存放路径

mkdir -p /export/softwares

2) 三台虚拟机通过命令行安装一个lrzsz软件(用于通过命令行上传文件)(可能要执行两次)

yum -y install lrzsz

执行第一次的效果与执行第二次的效果是不一样的

三台虚拟机分别输入命令行, 然后选中需要上传的linux版本的jdk(最后把jdk放在window桌面):

rz -E

这时候,可能上传的文件在主目录,需要把他剪切到/export/softwares/目录:

三台虚拟机同时执行

mv jdk-8u141-linux-x64.tar.gz /export/softwares/

在hadoop101虚拟机上,把/export/softwares路径下的jdk解压到/export/servers/目录去:

cd /export/softwares/

tar  -zxvf  jdk-8u141-linux-x64.tar.gz -C ../servers/

执行完后能在能在/export/servers/目录看到解压后的jdk

3) scp命令拷贝jdk到hadoop102和hadoop103虚拟机(在hadoop101虚拟机上执行):

scp -r /export/servers/jdk1.8.0_141/ hadoop102:/export/servers/

scp -r /export/servers/jdk1.8.0_141/ hadoop103:/export/servers/

在hadoop102和hadoop103的/export/servers/目录都能看到拷贝后的jdk:

4) 三台虚拟机都需要配置jdk环境变量和关闭邮箱提醒功能(以hadoop101为例):

配置环境变量命令:

vim /etc/profile

去到最后输入:

export JAVA_HOME=/export/servers/jdk1.8.0_141

export JRE_HOME=${JAVA_HOME}/jre  

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  

export PATH=${JAVA_HOME}/bin:$PATH

修改完成之后记得执行:  source /etc/profile让环境变量配置生效,并检验jdk配置是否生效:

java -version

可以关闭邮箱提醒功能(输入命令行回车,没有回应,就是最后的结果):

vim /etc/profile

输入这样一句:

unset MAILCHECK

修改完成之后记得  source /etc/profile让配置生效生效,以后就不会有以下多余的提示;

5) 三台虚拟机拍摄快照:

​​​​​​​18、配置hadoop集群 

集群部署规划:

虚拟机

hadoop101

hadoop102

hadoop103

虚拟机的名字

hadoop101

hadoop102

hadoop103

HDFS

NameNode

SecondaryNameNode

DataNode

DataNode

DataNode

YARN

ResourceManager

NodeManager

NodeManager

NodeManager

以下操作先在hadoop101上进行。

1. 上传并解压

1) 上传压缩包到/export/software目录:

cd /export/softwares

2) 通过命令行上传:

rz -E

3) 选择需要上传的hadoop安装包(最好把安装包放在window的桌面):

4) 解压安装:

tar -xzvf hadoop-3.1.2.tar.gz  -C ../servers

2. 修改配置文件

配置文件的位置在 /export/servers/hadoop-3.1.2/etc/hadoop

1) 安装notepad++并安装notepad++插件

将NppFTP文件夹拷贝到notepad++的安装目录下面的plugins文件夹下面,然后重新启动notepad++即可

Notepad++中,先打开菜单“插件”——“Plugins Admin…”

勾上NppFTP,并点击Install按钮。

Notepad++将暂时退出,安装成功后会重启Notepad++。

重启后显示通过菜单“插件”——NppFTP——Show NppFTP Window。显示右边的窗口。

2) 连接Linux机器。

点击齿轮按钮——选择Profile settings

3) 修改配置文件,先在nodepad++打开这6个配置文件(都在/export/server/hadoop-3.1.2/etc/hadoop目录下):

core-site.xml

hadoop-env.sh

hdfs-site.xml

mapred-site.xml

yarn-site.xml

workers

1. core-site.xml修改如下:

<configuration>

    <property>

<name>fs.defaultFS</name>

<value>hdfs://hadoop101:8020</value>

</property>

<!-- 临时文件存储目录 -->

<property>

<name>hadoop.tmp.dir</name>

<value>/export/servers/hadoop-3.1.2/datas/tmp</value>

</property>

    <!--  缓冲区大小,实际工作中根据服务器性能动态调整 -->

<property>

<name>io.file.buffer.size</name>

<value>8192</value>

</property>

    <!--  开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 -->

<property>

<name>fs.trash.interval</name>

<value>10080</value>

</property>

</configuration>

2. hadoop-env.sh配置文件最后添加如下内容

export JAVA_HOME=/export/servers/jdk1.8.0_141/

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"

3. hdfs-site.xml修改如下:

<configuration>

<property>

<name>dfs.namenode.name.dir</name>

<value>file:///export/servers/hadoop-3.1.2/datas/namenode/namenodedatas</value>

</property>

<property>

<name>dfs.blocksize</name>

<value>134217728</value>

</property>

<property>

<name>dfs.namenode.handler.count</name>

<value>10</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>file:///export/servers/hadoop-3.1.2/datas/datanode/datanodeDatas</value>

</property>

<property>

<name>dfs.namenode.http-address</name>

<value>hadoop101:50070</value>

</property>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<property>

<name>dfs.permissions.enabled</name>

<value>false</value>

</property>

    <property>

          <name>dfs.webhdfs.enabled</name>

          <value>true</value>

    </property>

<property>

<name>dfs.namenode.checkpoint.edits.dir</name>

<value>file:///export/servers/hadoop-3.1.2/datas/dfs/nn/snn/edits</value>

</property>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>hadoop101.hadoop.com:50090</value>

</property>

<property>

<name>dfs.namenode.edits.dir</name>

<value>file:///export/servers/hadoop-3.1.2/datas/dfs/nn/edits</value>

</property>

<property>

<name>dfs.namenode.checkpoint.dir</name>

<value>file:///export/servers/hadoop-3.1.2/datas/dfs/snn/name</value>

</property>

</configuration>

4. mapred-site.xml修改如下:

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<property>

<name>mapreduce.map.memory.mb</name>

<value>1024</value>

</property>

<property>

<name>mapreduce.map.java.opts</name>

<value>-Xmx512M</value>

</property>

<property>

<name>mapreduce.reduce.memory.mb</name>

<value>1024</value>

</property>

<property>

<name>mapreduce.reduce.java.opts</name>

<value>-Xmx512M</value>

</property>

<property>

<name>mapreduce.task.io.sort.mb</name>

<value>256</value>

</property>

<property>

<name>mapreduce.task.io.sort.factor</name>

<value>100</value>

</property>

<property>

<name>mapreduce.reduce.shuffle.parallelcopies</name>

<value>25</value>

</property>

<property>

<name>mapreduce.jobhistory.address</name>

<value>hadoop101.hadoop.com:10020</value>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>hadoop101.hadoop.com:19888</value>

</property>

<property>

<name>mapreduce.jobhistory.intermediate-done-dir</name>

<value>/export/servers/hadoop-3.1.2/datas/jobhsitory/intermediateDoneDatas</value>

</property>

<property>

<name>mapreduce.jobhistory.done-dir</name>

<value>/export/servers/hadoop-3.1.2/datas/jobhsitory/DoneDatas</value>

</property>

<property>

  <name>yarn.app.mapreduce.am.env</name>

  <value>HADOOP_MAPRED_HOME=/export/servers/hadoop-3.1.2</value>

</property>

<property>

  <name>mapreduce.map.env</name>

  <value>HADOOP_MAPRED_HOME=/export/servers/hadoop-3.1.2/</value>

</property>

<property>

  <name>mapreduce.reduce.env</name>

  <value>HADOOP_MAPRED_HOME=/export/servers/hadoop-3.1.2</value>

</property>

</configuration>

5. yarn-site.xml修改如下:

<configuration>

<property>

<name>dfs.namenode.handler.count</name>

<value>100</value>

</property>

<property>

<name>yarn.log-aggregation-enable</name>

<value>true</value>

</property>

<property>

<name>yarn.resourcemanager.address</name>

<value>hadoop101:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>hadoop101:8030</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>hadoop101:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>hadoop101:8033</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>hadoop101:8088</value>

</property>

<property>

<name>yarn.resourcemanager.hostname</name>

<value>hadoop101</value>

</property>

<property>

<name>yarn.scheduler.minimum-allocation-mb</name>

<value>1024</value>

</property>

<property>

<name>yarn.scheduler.maximum-allocation-mb</name>

<value>2048</value>

</property>

<property>

<name>yarn.nodemanager.vmem-pmem-ratio</name>

<value>2.1</value>

</property>

<!-- 设置不检查虚拟内存的值,不然内存不够会报错 -->

<property>

<name>yarn.nodemanager.vmem-check-enabled</name>

<value>false</value>

</property>

<property>

<name>yarn.nodemanager.resource.memory-mb</name>

<value>1024</value>

</property>

<property>

<name>yarn.nodemanager.resource.detect-hardware-capabilities</name>

<value>true</value>

</property>

<property>

<name>yarn.nodemanager.local-dirs</name>

<value>file:///export/servers/hadoop-3.1.2/datas/nodemanager/nodemanagerDatas</value>

</property>

<property>

<name>yarn.nodemanager.log-dirs</name>

<value>file:///export/servers/hadoop-3.1.2/datas/nodemanager/nodemanagerLogs</value>

</property>

<property>

<name>yarn.nodemanager.log.retain-seconds</name>

<value>10800</value>

</property>

<property>

<name>yarn.nodemanager.remote-app-log-dir</name>

<value>/export/servers/hadoop-3.1.2/datas/remoteAppLog/remoteAppLogs</value>

</property>

<property>

<name>yarn.nodemanager.remote-app-log-dir-suffix</name>

<value>logs</value>

</property>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.log-aggregation.retain-seconds</name>

<value>18144000</value>

</property>

<property>

<name>yarn.log-aggregation.retain-check-interval-seconds</name>

<value>86400</value>

</property>

<!-- yarn上面运行一个任务,最少需要1.5G内存,虚拟机没有这么大的内存就调小这个值,不然会报错 -->

<property>

        <name>yarn.app.mapreduce.am.resource.mb</name>

        <value>1024</value>

</property>

</configuration>

6.workers修改如下(把localhost删掉):

hadoop101

hadoop102

hadoop103

3. 在第一台机器创建数据和临时文件夹

执行如下指令:

mkdir -p /export/servers/hadoop-3.1.2/datas/tmp

mkdir -p /export/servers/hadoop-3.1.2/datas/dfs/nn/snn/edits

mkdir -p /export/servers/hadoop-3.1.2/datas/namenode/namenodedatas

mkdir -p /export/servers/hadoop-3.1.2/datas/datanode/datanodeDatas

mkdir -p /export/servers/hadoop-3.1.2/datas/dfs/nn/edits

mkdir -p /export/servers/hadoop-3.1.2/datas/dfs/snn/name

mkdir -p /export/servers/hadoop-3.1.2/datas/jobhsitory/intermediateDoneDatas

mkdir -p /export/servers/hadoop-3.1.2/datas/jobhsitory/DoneDatas

mkdir -p /export/servers/hadoop-3.1.2/datas/nodemanager/nodemanagerDatas

mkdir -p /export/servers/hadoop-3.1.2/datas/nodemanager/nodemanagerLogs

mkdir -p /export/servers/hadoop-3.1.2/datas/remoteAppLog/remoteAppLogs

mkdir -p /export/servers/hadoop-3.1.2/logs

4. 分发安装包

把hadoop101虚拟机的配置好的hadoop软件拷贝到hadoop102和hadoop103虚拟机,执行如下指令:

cd /export/servers

scp -r hadoop-3.1.2/ hadoop102:$PWD

scp -r hadoop-3.1.2/ hadoop103:$PWD

5. 在每台虚拟机都要配置hadoop环境变量:

执行以下指令:

vim /etc/profile

进入编辑模式:i

在最后面输入:

export HADOOP_HOME=/export/servers/hadoop-3.1.2/

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

保存退出::wq

让配置文件生效:

source /etc/profile

6. 格式化HDFS(在hadoop101虚拟机执行即可)

为什么要格式化HDFS?

因为HDFS(hadoop里面的重要组件)需要一个格式化的过程来创建存放元数据(image, editlog)的目录。

1) 先要进入hadoop的主目录,执行以下命令:

cd /export/servers/hadoop-3.1.2/ # 需要先进入这个目录再执行format

2) 执行格式化命令:

bin/hdfs namenode -format

并输入y命令

注意:在非第一次格式化时,要先确保Hadoop进程已经关掉(stop-dfs),再删掉datas文件夹和logs文件夹,然后再格式化

7. 启动集群

执行以下指令:

/export/servers/hadoop-3.1.2/sbin/start-dfs.sh

# 这里可以通过jps查看是否有namenode和datanode

可以在三台机器上分别执行jps命令,看是否找到datanode

如果找不到datanode,可参考后面的解决方法。

此时便可以通过如下URL访问Hadoop了

HDFS分布式文件系统访问地址: http://192.168.110.101:50070/dfshealth.html#tab-overview

需要确保Live Nodes为3说明有3个节点是活的。

启动yarn

/export/servers/hadoop-3.1.2/sbin/start-yarn.sh

可以在三台机器上分别执行jps命令,看是否找到datanode

此时便可以通过如下URL访问Hadoop了

Yarn 分布式计算系统访问地址: http://192.168.110.101:8088/cluster

启动mapred

mapred --daemon start historyserver

三台虚拟机拍摄快照:

关闭所有服务,指令如下:

/export/servers/hadoop-3.1.2/sbin/stop-all.sh

mapred --daemon stop historyserver

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Distantfbc

你的鼓励是我最大的动力,谢谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值