hadoop安装个人心得
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安装个人心得相关推荐
- Hadoop安装及遇到问题解决——1.安装
本人的安装时完全参考林子雨老师的教程,转载自厦门大学数据库实验室 / 给力星 一.软件选择 Hadoop是基于Java语言开发的,具有很好跨平台的特性.Hadoop的所要求系统环境适用于Windows ...
- Hadoop安装及eclipse配置
Hadoop安装 彻底关闭防火墙 chkconfig iptables off 查看主机名 hostname 修改主机名 vim /etc/sysconfig/network 修改之后不会立即执行需要 ...
- Hadoop安装与配置问题说明
说明:本博客对Hadoop安装与配置过程中可能存在的问题做简单记录 启动Hadoop hadoop@ubuntu16:/usr/local/java/hadoop/hadoop-2.7.1$ ./sb ...
- Hadoop 安装详解--新手必备
准备: 这次学习,我使用的是虚拟机vmware,安装了3台虚拟机,系统为centos 5(其它版本亦可),主机名依次命名为hdfs1.hdfs2.hdfs3,ip地址一次为:172.16.16.1.1 ...
- hadoop安装部署(伪分布及集群)
hadoop安装部署(伪分布及集群) @(HADOOP)[hadoop] hadoop安装部署伪分布及集群 第一部分伪分布式 一环境准备 二安装hdfs 三安装YARN 第二部分集群安装 一规划 一硬 ...
- hadoop安装与配置
转:链接: Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04 Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS 转载于:http ...
- 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 ...
- Hadoop安装及配置
Hadoop的三种运行模式 单机模式(Standalone,独立或本地模式):安装简单,运行时只启动单个进程,仅调试用途: 伪分布模式(Pseudo-Distributed):在单节点上同时启动nam ...
- 大数据学习(2-1)-Hadoop安装教程-单机模式和伪分布模式(Ubuntu14.04LTS)
文章目录 目录 1.linxu的安装 1.1安装Linux虚拟机 1.2安装Linux和Windows双系统 2.Hadoop的安装 2.1 Hadoop安装前配置 2.1.1 配置Hadoop用户 ...
- Hadoop伪分布式配置和搭建,hadoop单机安装,wordcount实例测试,hadoop安装java目录怎么找,问题及问题解决方法
Hadoop伪分布式配置和搭建,hadoop单机安装,wordcount实例测试,hadoop安装java目录怎么找,问题及问题解决方法 环境说明 系统:ubuntu18.04 主机名:test1 用 ...
最新文章
- windows下cmd命令行显示UTF8字符设置
- 管理神话2:专家只有权这样做
- 服务器-番外篇-搭建samba共享
- 实现vue2.0响应式的基本思路
- Windows下给SourceTree配置外部比较工具BeyondCompare
- 如何基于 Kubernetes 构建完整的 DevOps 流水线
- 前端学习(2760):image基本使用
- 活在贫困线之下的开源软件项目——开源的可持续性斗争
- java基础案例教程试题,Java基础案例教程-中国大学mooc-试题题目及答案
- python实现屏幕录制_GitHub - Sijiu/record-camera-and-screen: 录制摄像头和录制屏幕,两者之间可以轻易切换...
- 苹果原生NSURLSession的上传和下载
- 想做数据化转型,为什么必须要上企业级BI?
- C++面试题整理,希望对大家有所帮助
- 模拟--滑动窗口最大值
- 【元胞自动机】基于matlab元胞自动机人流疏散【含Matlab源码 665期】
- asus z170 asrock b150点位图 换换口味欣赏欣赏
- STC15单片机使用AT命令的C语言编程
- Excel技巧 一秒取消合并单元格,让你的取消合并操作简单快捷
- FPS游戏:D3D实现游戏人物上色
- 已知两个向量的夹角和其中一个向量,求另一个向量
热门文章
- 《UNIX操作系统》学习笔记
- 心电自动分析技术综述-Phililps DXL / GE Marquette / Glasgow / HES Hannover / Mortara
- J2ME模拟器加载RMS时突然失效的原因
- java求阶乘不内存溢出_java - Java阶乘GUI - 堆栈内存溢出
- linux下hex文件到bin文件的格式转化,hex转换成bin文件小工具(HEX2BIN.EXE)下载_hex转换成bin文件小工具(HEX2BIN.EXE)官方下载-太平洋下载中心...
- Hierarchical Features Driven Residual Learning for Depth Map Super-Resolution 2019TIP 论文阅读
- 关于凸包算法和叉积的应用
- Java反编译生成java文件
- Java实现Unicode编码和中文互转
- python GUI打开文本文件代码