1.模板虚拟机操作

1.新建一个虚拟机,内存4G,磁盘50G

2.ping www.baidu.com 检查是否可以正常联网

3.关闭防火墙,关闭防火墙开机自启

systemctl stop firewalld
systemctl disable firewalld

4.创建一个atguigu用户,并修改用户密码

useradd atguigu
passwd atguigu

5.配置atguigu用户具有root权限,方便后期加sudo执行root权限命令

vim /etc/sudoers

修改/etc/sudoers文件,找到下面一行(91行),在root下面添加一行,如下所示:

## Allow root to run any commands anywhere
root    ALL=(ALL)     ALL
atguigu   ALL=(ALL)     NOPASSWD:ALL

6.在opt目录下创建文件夹,并修改所属主和所属组

chown atguigu:atguigu /opt/module
chown atguigu:atguigu /opt/software

7.卸载自带的open jdk

[root@hadoop100 ~]# rpm -qa | grep -i java | xargs -n1 sudo rpm -e --nodeps

8.重新启动 root

2.jdk和hadoop安装

1.将jdk和hadoop的tar包导入hadoop102的/opt/module/目录下

2.将jdk和hadoop解压

tar -zxvf /opt/software/jdk-8u212-linux-x64.tar.gz -C /opt/moduletar -zxvf /opt/software/hadoop-3.1.3.tar.gz -C /opt/module

3.配置jdk和hadoop的环境变量

​ a.在/etc/profile.d/目录下创建my_evn.sh文件,方便集中管理配置我们所需的环境变量

​ b.配置my_evn.sh文件

#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
#HADOOP
export HADOOP=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP/bin
export PATH=$PATH:$HADOOP/sbin

​ 注意事项:1.JAVA_HOME和HADOOP的路径可以在队友解压路径下使用pwd获得

​ 2.配置PATH的时候需要将以前的$PATH变量加上,使用:隔开

​ 3.HADOOP的环境变量需要配置两个,一个/bin 一个/sbin

​ c.在环境变量配置完成之后需要使用source 或者 . 去声明my_evn.sh

​ d.检查环境变量是否配置成功使用java -version 或者hadoop version

3.scp和xsync群发脚本的配置

scp 能够将集群中的文件发送给另外的虚拟机

如:在hadoop102中将jdk1.8.0_212发送给hadoop103

scp -r /opt/module/jdk1.8.0_212 atguigu@hadoop103:/opt/module

总结: -r 参数是递归的意思

​ scp -r A B:A的意思是准备发送的路径和文件

​ B指的是接受文件的集群机的路径和目录

xsync群发脚本的配置

​ a.在/home/atguigu/下创建/bin目录,在bin目录中创建xsync脚本文件

​ b.xsync的配置内容

#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
thenecho Not Enough Arguement!exit;
fi
#2. 遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104
doecho ====================  $host  ====================#3. 遍历所有目录,挨个发送for file in $@do#4. 判断文件是否存在if [ -e $file ]then#5. 获取父目录pdir=$(cd -P $(dirname $file); pwd)#6. 获取当前文件的名称fname=$(basename $file)ssh $host "mkdir -p $pdir"rsync -av $pdir/$fname $host:$pdirelseecho $file does not exists!fidone
done

​ c.修改xsync的权限为可执行文件

chmod +x xsync

​ d.将xsync复制一份在根目录下的/bin目录中,可以使xsync在任何地方否能执行;如果不复制在/bin目录中,使用 sudo xsync 文件名 代码将无法执行

sudo cp xsync /bin

​ e.检查xsync是否配置完成

sudo xsync /etc/profile.d/my_evn.sh

4.ssh无密登录设置

1.生成公私秘钥对

ssh-keygen -t rsa

2.将公钥发送给目标虚拟机,以hadoop103为例

ssh-copy-id hadoop103

​ 注意上事项:

​ 1.密钥对只对当前登录用户有效,比如在hadoop102上的atguigu用户上发送了公钥给hadoop103上的atguigu用户,此密钥对只对相应虚拟机的对应用户有效

​ 2.公钥配好了之后也需要给用户自身发一个

​ 3.公钥的定位相当于间谍的形势,可以开发送目标的大门,目标想反向过来开门时不通过的

5.集群的配置(重点)

1.配置core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml文件,以上文件的路径:/opt/module/hadoop-3.1.3/etc/hadoop/

core-site.xml文件的配置;

<configuration><!-- 指定NameNode的地址 --><property><name>fs.defaultFS</name><value>hdfs://hadoop102:9820</value>
</property>
<!-- 指定hadoop数据的存储目录 --><property><name>hadoop.tmp.dir</name><value>/opt/module/hadoop-3.1.3/data</value>
</property><!-- 配置HDFS网页登录使用的静态用户为atguigu --><property><name>hadoop.http.staticuser.user</name><value>atguigu</value>
</property><!-- 配置该atguigu(superUser)允许通过代理访问的主机节点 --><property><name>hadoop.proxyuser.atguigu.hosts</name><value>*</value>
</property>
<!-- 配置该atguigu(superUser)允许通过代理用户所属组 --><property><name>hadoop.proxyuser.atguigu.groups</name><value>*</value>
</property>
<!-- 配置该atguigu(superUser)允许通过代理的用户--><property><name>hadoop.proxyuser.atguigu.groups</name><value>*</value>
</property>

配置hdfs-site.xml

<configuration><!-- nn web端访问地址--><property><name>dfs.namenode.http-address</name><value>hadoop102:9870</value></property><!-- 2nn web端访问地址--><property><name>dfs.namenode.secondary.http-address</name><value>hadoop104:9868</value></property>
</configuration>

配置yarn-site.xml

<configuration><!-- 指定MR走shuffle --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property>
<!-- 指定ResourceManager的地址--><property><name>yarn.resourcemanager.hostname</name><value>hadoop103</value>
</property>
<!-- 环境变量的继承 --><property><name>yarn.nodemanager.env-whitelist</name><value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
<!-- yarn容器允许分配的最大最小内存 --><property><name>yarn.scheduler.minimum-allocation-mb</name><value>512</value></property><property><name>yarn.scheduler.maximum-allocation-mb</name><value>4096</value>
</property>
<!-- yarn容器允许管理的物理内存大小 --><property><name>yarn.nodemanager.resource.memory-mb</name><value>4096</value>
</property>
<!-- 关闭yarn对物理内存和虚拟内存的限制检查 --><property><name>yarn.nodemanager.pmem-check-enabled</name><value>false</value></property><property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value></property>
</configuration>

配置mapred-site.xml

<configuration><!-- 指定MapReduce程序运行在Yarn上 --><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>

2.在集群上分发配置好的文件

xsync /opt/module/hadoop-3.1.3/etc/hadoop

3.配置workers文件,将其中本来存在的一行内容删去

在该文件中增加如下内容:

hadoop102hadoop103hadoop104

注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。

4.启动集群

​ (1)如果集群是第一次启动,需要在hadoop102节点格式化NameNode(注意格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。如果集群在运行过程中报错,需要重新格式化NameNode的话,一定要先停止namenode和datanode进程,并且要删除所有机器的data和logs目录,然后再进行格式化。)

[atguigu@hadoop102 ~]$ hdfs namenode -format

(2)启动HDFS

[atguigu@hadoop102 hadoop-3.1.3]$ sbin/start-dfs.sh

(3)在配置了ResourceManager的节点(hadoop103)启动YARN

[atguigu@hadoop103 hadoop-3.1.3]$ sbin/start-yarn.sh

(4)Web端查看HDFS的NameNode

(a)浏览器中输入:http://hadoop102:9870

​ (b)查看HDFS上存储的数据信息

(5)Web端查看YARN的ResourceManager

(a)浏览器中输入:http://hadoop103:8088

​ (b)查看YARN上运行的Job信息

5.集群启动/停止方式总结

1各个服务组件逐一启动/停止

​ (1)分别启动/停止HDFS组件

hdfs --deamon start/stop namenote/datanote/secondary namenote

​ (2)分别启动/停止YARN组件

yarn --deamon start/stop resourcemanager/nodemanager

2**)各个模块分开启动/停止配置ssh是前提)常用

(1)整体启动/停止HDFS

start-dfs.sh/stop-dfs.sh

(2)整体启动/停止YARN

start-yarn.sh/stop-yarn.sh

6.配置历史服务器,在mapred-site.xml中添加

<!-- 历史服务器端地址 -->
<property><name>mapreduce.jobhistory.address</name><value>hadoop102:10020</value>
</property><!-- 历史服务器web端地址 -->
<property><name>mapreduce.jobhistory.webapp.address</name><value>hadoop102:19888</value>
</property>

7.配置日志的聚集,在yarn-site.xml中添加

!-- 开启日志聚集功能 -->
<property><name>yarn.log-aggregation-enable</name><value>true</value>
</property>
<!-- 设置日志聚集服务器地址 -->
<property>  <name>yarn.log.server.url</name>  <value>http://hadoop102:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为7天 -->
<property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value>
</property>

注意事项:在配置好历史服务器和日志聚集之后,将/opt/module/hadoop-3.1.3/etc/hadoop群发

​ 注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryServer。

6.编写常用的jpsall和myhadoop.sh脚本,都编写在/home/atguigu/bin目录下

1.jpsall脚本的编写

在/home/atguigu/bin目录下创建jpsall文件编写jpsall脚本

#!/bin/bash
for host in hadoop102 hadoop103 hadoop104
doecho ==========$host==========ssh $host jps $@ | grep -v Jps
done

添加jpsall脚本执行权限

sudo chmod +x jpsall

2.编写myhadoop.sh脚本

在/home/atguigu/bin目录下创建myhadoop.sh文件编写myhadoop.sh脚本

#!/bin/bash
if [ $# -lt 1 ]
thenecho "No Args Input..."exit;
fi
case $1 in
"start")echo "=============启动hadoop集群=============="echo "=============启动hdfs==================="ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"echo "=============启动yarn==================="ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"echo "=============启动historyserver=========="ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"
;;
"stop")echo "=============关闭hadoop集群=============="echo "=============关闭historyserver=========="ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"echo "=============关闭yarn==================="ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"echo "=============关闭hdfs==================="ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
"*")echo "pleas input start or stop..."
;;
esac

注意事项:a.启动同的组件需要去对应的hadoop机子上去,如:hdfs的namenote配置在hadoop102上

就需要去 ssh hadoop102 "…"启动

​ b.启动和停止组件的运行顺序相反

​ 启动:hdfs ->yarn -->historyserver

​ 停止:historyserver -->yarn -->hdfs

​ c.特别注意启动或停止的路径:hdfs.sh和yarn.sh在hadoop-3.1.3的/sbin目录下;historyserver在hadoop-3.1.3的/bin目录下

添加脚本执行权限

sudo chmod +x /home/atguigu/bin/myhadoop.sh

将配置好的脚本群发给集群

xsync /home/atguigu/bin

hadoop安装个人心得相关推荐

  1. Hadoop安装及遇到问题解决——1.安装

    本人的安装时完全参考林子雨老师的教程,转载自厦门大学数据库实验室 / 给力星 一.软件选择 Hadoop是基于Java语言开发的,具有很好跨平台的特性.Hadoop的所要求系统环境适用于Windows ...

  2. Hadoop安装及eclipse配置

    Hadoop安装 彻底关闭防火墙 chkconfig iptables off 查看主机名 hostname 修改主机名 vim /etc/sysconfig/network 修改之后不会立即执行需要 ...

  3. Hadoop安装与配置问题说明

    说明:本博客对Hadoop安装与配置过程中可能存在的问题做简单记录 启动Hadoop hadoop@ubuntu16:/usr/local/java/hadoop/hadoop-2.7.1$ ./sb ...

  4. Hadoop 安装详解--新手必备

    准备: 这次学习,我使用的是虚拟机vmware,安装了3台虚拟机,系统为centos 5(其它版本亦可),主机名依次命名为hdfs1.hdfs2.hdfs3,ip地址一次为:172.16.16.1.1 ...

  5. hadoop安装部署(伪分布及集群)

    hadoop安装部署(伪分布及集群) @(HADOOP)[hadoop] hadoop安装部署伪分布及集群 第一部分伪分布式 一环境准备 二安装hdfs 三安装YARN 第二部分集群安装 一规划 一硬 ...

  6. hadoop安装与配置

    转:链接: Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04 Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS 转载于:http ...

  7. require php 5.3.0,PHP 5.3.0 安装分析心得

    PHP 5.3.0 安装分析心得 更新时间:2009年08月07日 23:37:28   作者: 话说,一直犯懒没下载一个PHP 5.3,今天看到关于PHP5.3.0一时兴起打算更新一下本本上的PHP ...

  8. Hadoop安装及配置

    Hadoop的三种运行模式 单机模式(Standalone,独立或本地模式):安装简单,运行时只启动单个进程,仅调试用途: 伪分布模式(Pseudo-Distributed):在单节点上同时启动nam ...

  9. 大数据学习(2-1)-Hadoop安装教程-单机模式和伪分布模式(Ubuntu14.04LTS)

    文章目录 目录 1.linxu的安装 1.1安装Linux虚拟机 1.2安装Linux和Windows双系统 2.Hadoop的安装 2.1 Hadoop安装前配置 2.1.1 配置Hadoop用户 ...

  10. Hadoop伪分布式配置和搭建,hadoop单机安装,wordcount实例测试,hadoop安装java目录怎么找,问题及问题解决方法

    Hadoop伪分布式配置和搭建,hadoop单机安装,wordcount实例测试,hadoop安装java目录怎么找,问题及问题解决方法 环境说明 系统:ubuntu18.04 主机名:test1 用 ...

最新文章

  1. windows下cmd命令行显示UTF8字符设置
  2. 管理神话2:专家只有权这样做
  3. 服务器-番外篇-搭建samba共享
  4. 实现vue2.0响应式的基本思路
  5. Windows下给SourceTree配置外部比较工具BeyondCompare
  6. 如何基于 Kubernetes 构建完整的 DevOps 流水线
  7. 前端学习(2760):image基本使用
  8. 活在贫困线之下的开源软件项目——开源的可持续性斗争
  9. java基础案例教程试题,Java基础案例教程-中国大学mooc-试题题目及答案
  10. python实现屏幕录制_GitHub - Sijiu/record-camera-and-screen: 录制摄像头和录制屏幕,两者之间可以轻易切换...
  11. 苹果原生NSURLSession的上传和下载
  12. 想做数据化转型,为什么必须要上企业级BI?
  13. C++面试题整理,希望对大家有所帮助
  14. 模拟--滑动窗口最大值
  15. 【元胞自动机】基于matlab元胞自动机人流疏散【含Matlab源码 665期】
  16. asus z170 asrock b150点位图 换换口味欣赏欣赏
  17. STC15单片机使用AT命令的C语言编程
  18. Excel技巧 一秒取消合并单元格,让你的取消合并操作简单快捷
  19. FPS游戏:D3D实现游戏人物上色
  20. 已知两个向量的夹角和其中一个向量,求另一个向量

热门文章

  1. 《UNIX操作系统》学习笔记
  2. 心电自动分析技术综述-Phililps DXL / GE Marquette / Glasgow / HES Hannover / Mortara
  3. J2ME模拟器加载RMS时突然失效的原因
  4. java求阶乘不内存溢出_java - Java阶乘GUI - 堆栈内存溢出
  5. linux下hex文件到bin文件的格式转化,hex转换成bin文件小工具(HEX2BIN.EXE)下载_hex转换成bin文件小工具(HEX2BIN.EXE)官方下载-太平洋下载中心...
  6. Hierarchical Features Driven Residual Learning for Depth Map Super-Resolution 2019TIP 论文阅读
  7. 关于凸包算法和叉积的应用
  8. Java反编译生成java文件
  9. Java实现Unicode编码和中文互转
  10. python GUI打开文本文件代码