0.创建用户并付权限

sudo useradd iwbd
sudo passwd iwbd

配置iwbd用户具有root权限

修改/etc/sudoers文件,找到下面一行(91行),在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
iwbd ALL=(ALL) ALL

centos下不能直接vi,执行以下步骤

修改sudoers文件权限, 一般存放在/etc下.
    chmod u+w /etc/sudoers
   修改sudoers文件, 找到 root ALL=(ALL) ALL 这一行, 在下面添加 用户名 ALL=(ALL) ALL 即可。
    修改sudoers文件权限, 取消写权限.
    chmod u-w /etc/sudoers

在/opt目录下创建文件夹

(1)在/opt目录下创建module、software文件夹
sudo mkdir module
sudo mkdir software
(2)修改module、software文件夹的所有者cd
sudo mkdir /opt/module /opt/software
sudo chown iwbd:iwbd /opt/module /opt/software

1. 解压安装文件到/opt/module下面

tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/

2. 将Hadoop添加到环境变量

#打开/etc/profile.d/my_env.sh文件
sudo vim /etc/profile.d/my_env.sh
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
#让修改后的文件生效
source /etc/profile

3、完全分布式运行模式

3.1 xsync集群分发脚本

3.2 SSH无密登录配置(略)

ssh免密码登录配置方法
3.2.1 各服务器切换到要免密的用户
执行 ssh-keygen -t rsa 一路回车
3.2.2 在A服务器 进入.ssh目录,cat id_rsa.pub
拷贝内容
3.2.3 到B服务器 进入.ssh目录,执行
vim authorized_keys
粘贴 步骤2种拷贝的内容并保存退出
3.2.4 修改authorized_keys 权限
chmod 644 authorized_keys
3.2.5 在A服务器 执行访问验证
ssh -p 端口号 iwbd@hadoop103

3.3 集群配置

3.3.1 集群部署规划

3.3.2 配置集群

1)配置core-site.xml
cd $HADOOP_HOME/etc/hadoop
vim core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop102:8020</value>
</property>
<property>
<name>hadoop.data.dir</name>
<value>/opt/module/hadoop-3.1.3/data</value>
</property>
<property>
<name>hadoop.proxyuser.iwbd.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.iwbd.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.http.staticuser.user</name>
<value>iwuser</value>
</property>
</configuration>
2)配置hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>${hadoop.data.dir}/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>${hadoop.data.dir}/data</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>${hadoop.data.dir}/namesecondary</value>
</property>
<property>
<name>dfs.client.datanode-restart.timeout</name>
<value>30</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop104:9868</value>
</property>
<!--网页可以上传-->
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property> </configuration>
3)配置yarn-site.xml
<?xml version="1.0"?>
<!--
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. See accompanying LICENSE file.
-->
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<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>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>1024</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>4096</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>4096</value>
</property>
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<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>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property> </configuration>
4)mapred-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration>

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop102:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop102:19888</value>
</property>
<property>
<name>mapreduce.map.memory.mb</name>
<value>1536</value>
</property>
<property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx1024M</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>3072</value>
</property>
<property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx2560M</value>
</property>

</configuration>

5) 修改脚本配置

vim start-dfs.sh 和 stop-dfs.sh 添加用户

HDFS_DATANODE_USER=iwbd
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=iwbd
HDFS_SECONDARYNAMENODE_USER=iwbd  

vim start-yarn.sh 和 stop-yarn.sh 添加用户

YARN_RESOURCEMANAGER_USER=iwbd
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=iwbd

  

6)在集群上分发配置好的Hadoop配置文件
xsync /opt/module/hadoop-3.1.3/etc/hadoop/

  

3.4 群起集群

3.4.1 配置workers
vim /opt/module/hadoop-3.1.3/etc/hadoop/workers

#在该文件中增加如下内容:
hadoop102
hadoop103
hadoop104

 

3.4.2 启动集群

1)如果集群是第一次启动,需要在hadoop102节点格式化NameNode(注意格式化之前,一定要先停止上次启动的所有namenode和datanode进程,然后再删除data和log数据)
hdfs namenode -format
2)启动HDFS
sbin/start-dfs.sh
3)在配置了ResourceManager的节点(hadoop103)启动YARN
sbin/start-yarn.sh
4)Web端查看SecondaryNameNod
(a)浏览器中输入:http://hadoop104:9868/status.html
(b)查看SecondaryNameNode信息

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

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

(1)分别启动/停止HDFS组件
hdfs --daemon start/stop namenode/datanode/secondarynamenode
(2)启动/停止YARN
yarn --daemon start/stop resourcemanager/nodemanager

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

(1)整体启动/停止HDFS
start-dfs.sh/stop-dfs.sh
(2)整体启动/停止YARN
start-yarn.sh/stop-yarn.sh

5.配置历史服务器

为了查看程序的历史运行情况,需要配置一下历史服务器。具体配置步骤如下:

5.1 配置mapred-site.xml

3.2.2已配置

5.3 在hadoop102启动历史服务器

mapred --daemon start historyserver

5.4 查看JobHistory

http://hadoop102:19888/jobhistory

6 配置日志的聚集

日志聚集概念:应用运行完成以后,将程序运行日志信息上传到HDFS系统上。
日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。
注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryManager。

开启日志聚集功能具体步骤如下:

6.1 配置yarn-site.xml

3.2.2已配置

6.3 关闭NodeManager 、ResourceManager和HistoryServer

在103上执行: stop-yarn.sh
在102上执行: mapred --daemon stop historyserver

6.4 启动NodeManager 、ResourceManage、Timelineserver和HistoryServer

在103上执行:start-yarn.sh
在103上执行:yarn --daemon start timelineserver
在102上执行:mapred --daemon start historyserver

6.5 删除HDFS上已经存在的输出文件

hdfs dfs -rm -R /user/iwbd/output

6.6 执行WordCount程序

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /user/iwbd/input /user/iwbd/output6.7

6.7 查看日志

http://hadoop102:19888/jobhistory

ps: start-dfs.sh 启动总是报找不到JAVA_HOME

配置系统环境的/etc/profile 或 /etc/profile.d/my_env.sh 或者 ~/.bash_profile都不行,最后在 /opt/module/hadoop-3.1.3/etc/hadoop/hadoop-env.sh

添加变量 解决,也不知道为什么读取不到系统的环境变量. 普通echo $JAVA_HOME 或 java  -version 都正常

export JAVA_HOME=/usr/java/jdk1.8.0_212

Hadoop-3.1.3安装的更多相关文章

  1. Hadoop集群搭建安装过程(三)(图文详解---尽情点击!!!)

    Hadoop集群搭建安装过程(三)(图文详解---尽情点击!!!) 一.JDK的安装 安装位置都在同一位置(/usr/tools/jdk1.8.0_73) jdk的安装在克隆三台机器的时候可以提前安装 ...

  2. Hadoop集群搭建安装过程(二)(图文详解---尽情点击!!!)

    Hadoop集群搭建安装过程(二)(配置SSH免密登录)(图文详解---尽情点击!!!) 一.配置ssh无密码访问 ®生成公钥密钥对 1.在每个节点上分别执行: ssh-keygen -t rsa(一 ...

  3. Ganglia监控Hadoop集群的安装部署[转]

    Ganglia监控Hadoop集群的安装部署 一. 安装环境 Ubuntu server 12.04 安装gmetad的机器:192.168.52.105 安装gmond的机 器:192.168.52 ...

  4. 【原】Hadoop伪分布模式的安装

    Hadoop伪分布模式的安装 [环境参数] (1)Host OS:Win7 64bit (2)IDE:Eclipse Version: Luna Service Release 2 (4.4.2) ( ...

  5. hadoop的集群安装

    hadoop的集群安装 1.安装JDK,解压jar,配置环境变量 1.1.解压jar tar -zxvf jdk-7u79-linux-x64.tar.gz -C /opt/install //将jd ...

  6. Hadoop 发行版本 Hortonworks 安装详解(一) 准备工作

    一.前言 目前Hadoop发行版非常多,所有这些发行版均是基于Apache Hadoop衍生出来的,之所以有这么多的版本,完全是由Apache Hadoop的开源协议决定的:任何人可以对其进行修改,并 ...

  7. Hadoop 发行版本 Hortonworks 安装详解(二) 安装Ambari

    一.通过yum安装ambari-server 由于上一步我们搭建了本地源,实际上yum是通过本地源安装的ambari-server,虽然也可以直接通过官方源在线安装,不过体积巨大比较费时. 这里我选择 ...

  8. Hadoop生态圈-使用FreeIPA安装Kerberos和LDAP

    Hadoop生态圈-使用FreeIPA安装Kerberos和LDAP 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 有些大数据平台只是简单地通过防火墙来解决他们的网络安全问题.十分 ...

  9. 基于zookeeper的高可用Hadoop HA集群安装

    (1)hadoop2.7.1源码编译 http://aperise.iteye.com/blog/2246856 (2)hadoop2.7.1安装准备 http://aperise.iteye.com ...

  10. Hadoop分布式HA的安装部署

    Hadoop分布式HA的安装部署 前言 单机版的Hadoop环境只有一个namenode,一般namenode出现问题,整个系统也就无法使用,所以高可用主要指的是namenode的高可用,即存在两个n ...

随机推荐

  1. awk-04-流程控制

    if 格式: if ( 条件 ) 语句 [ else 语句 ] 单分支 正则匹配判断 双分支 多分支 while 格式 while (条件) 语句 awk是按行处理的,每次读取一行,并遍历打印每个字段 ...

  2. HCNA Routing&Switching之访问控制列表ACL

    前文我们了解了DHCP服务相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15147870.html:今天我们来聊一聊访问控制列表ACL: ACL(ac ...

  3. 使用PageFactory类封装页面元素,并实现简单的登录

    1.新建页面对象类LoginPage import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; impo ...

  4. 值得收藏 | 深度剖析 TensorCore 卷积算子实现原理

    作者:章晓 | 旷视 MegEngine 架构师 一.前言 2020 年 5 月 Nvidia 发布了新一代的 GPU 架构安培(Ampere).其中和深度学习关系最密切的莫过于性能强劲的第三代的 T ...

  5. IntelliJ IDEA lombok插件的安装配置和使用

    一.安装 1.首先我们需要安装IntelliJ IDEA中的lombok插件,打开IntelliJ IDEA后点击菜单栏中的File-->Settings,或者使用快捷键Ctrl+Alt+S进入 ...

  6. SQL Server 判断数据库中是否存在表

    使用场景 可以反复的执行相同脚本 方式1:查询sysobjects表 if EXISTS (SELECT * from sysobjects WHERE name='test_table') DROP ...

  7. 【AIOT】智能感知--物

    From: https://liudongdong1.github.io/ 1. 物体检测 .1. 流体 D. V. Q. Rodrigues, D. Rodriguez and C. Li, &qu ...

  8. GitLabRunner命令

    启动命令 gitlab-runner --debug <command> #调试模式排查错误特别有用. gitlab-runner <command> --help #获取帮助 ...

  9. Ubuntu完全卸载Docker步骤

    Ubuntu完全卸载Docker步骤:https://www.jianshu.com/p/c03044dbeaaf

  10. 《深入理解Spring Cloud与微服务构建》学习笔记(二十)~配置中心Spring Cloud Config

    本例重新创建项目,构建一个空的mavan工程. 一.Config Server 从本地读取配置文件 新建一个moudle config_server ,pom添加依赖   <dependency ...