Hadoop 3使用分享(一):安装笔记
citgpt 2024-10-02 13:24 11 浏览 0 评论
Hadoop3已经发布很久了,迭代集成的一些新特性也是很有用的。接下来,笔者先为大家分享一下Hadoop3.2 安装笔记
准备工作
本次使用虚拟机服务器来搭建开源版Hadoop3集群,所用软件及版本如下所示:
Vmware 12.0
Centos 7.6
JDK1.8
Hadoop3.2.1
Vmware 虚拟环境
采用NAT方式联网
网关地址:192.168.80.1
3个服务器节点IP地址:
mini1 192.168.80.81
mini2 192.168.80.82
mini3 192.168.80.83
子网掩码:255.255.255.0
主机及集群角色规划
mini1 NameNode DataNode ResourceManager NodeManager
mini2 SecondaryNameNode DataNode NodeManager
mini3 DataNode NodeManager
具体安装步骤如下:
一,linux系统环境准备
以下[1-7]步操作,所有节点【mini1,mini2,mini3】都需要进行设置,具体操作如下:
1,依次更改【mini1,mini2,mini3】主机名:
vi /etc/hostname
2,配置网络
2.1 命令: vi /etc/sysconfig/network-scripts/ifcfg-ens33
如下配置:
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.80.81
GATEWAY=192.168.80.1
NETMASK=255.255.255.0
DNS1=114.114.114.114
2.2 重启网卡命令:systemctl restart network
2.3 配置Ip与主机名映射,命令:vi /etc/hosts
192.168.80.81 mini1
192.168.80.82 mini2
192.168.80.83 mini3
3,关闭防火墙
systemctl stop firewalld (临时关闭防火墙)
systemctl disable firewalld (禁止firewall开机启动)
systemctl status firewalld (查看防火墙状态)
4,禁用Selinux(安全权限管理模块)
vi /etc/sysconfig/selinux
SELINUX=disabled
5,设置将 /proc/sys/vm/swappiness 设置为 0 (修改swap空间的swappiness,降低对硬盘的缓存)
执行以下输入:
echo "vm.swappiness=0" >> /etc/sysctl.conf (永久降低虚拟内存需求率)
sysctl -p (并运行如下命令使生效)
6,修改时区:timedatectl set-timezone Asia/Shanghai
7,配置免密登录
******配置主机之间的免密ssh登陆******
假如 mini1 要登陆 mini2,mini3
在mini1上操作:
首先生成密钥对,命令如下:
ssh-keygen (提示时,直接回车即可)
将生产的秘钥copy到【mini1,mini2,mini3】上,命令如下
ssh-copy-id mini1
ssh-copy-id mini2
ssh-copy-id mini3
二,集群时间同步
【mini1】作为时间同步服务器,【mini2,mini3】同步【mini1】的时间,具体操作如下:
1,禁用【mini1,mini2,mini3】chrony时间同步服务(centos7操作系统默认使用chrony)
systemctl stop chronyd
systemctl disable chronyd
2,在【mini1,mini2,mini3】上执行命令:yum install -y ntp 安装时间同步服务
3,在Server【mini1】上执行命令: vi /etc/ntp.conf
添加以下内容:
restrict 192.168.80.0 mask 255.255.255.0 nomodify notrap
server 127.127.1.0
fudge 127.127.1.0 stratum 10
同时注释掉这几个配置
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
4,在Server【mini1】上执行启动ntpd服务命令
systemctl start ntpd (启动ntpd服务)
systemctl status ntpd (查看ntpd服务状态)
systemctl enable ntpd (将ntpd服务加入开机启动)
systemctl list-unit-files |grep ntpd (查看是否将ntpd服务加入到开机启动项)
5,在客户端【mini2,mini3】配置同步: crontab -e
*/1 * * * * /usr/sbin/ntpdate mini1 ;/sbin/hwclock -w
三,安装JDK
1.上传jdk安装包
2.安装目录: /opt/apps/
3.解压jdk到安装目录: tar -zvxf jdk-8u101-linux-x64.tar.gz -C /opt/apps/
4.在安装目录中建立jdk软链接,指向jdk所在目录 :ln -s jdk1.8.0_101 jdk
5.配置环境变量,编辑vi /etc/profile文件,在最后一行加入以下两行:
export JAVA_HOME=/opt/apps/jdk
export PATH=$PATH:$JAVA_HOME/bin
6.修改完成后,执行命令: source /etc/profile 使配置生效
7.检验:在任意目录下输入命令: java -version 看是否成功执行
8.将安装好的jdk目录用scp命令拷贝到其他机器
9.将/etc/profile配置文件也用scp命令拷贝到其他机器并分别执行source命令
四,安装Hadoop
1.上传Hadoop安装包 :hadoop-3.2.1.tar.gz
2.解压安装包: tar -zvxf hadoop-3.2.1.tar.gz -C /opt/apps/
3.在安装目录中建立hadoop软链接,指向hadoop解压目录 :ln -s hadoop-3.2.1 hadoop
4.修改配置文件:cd /opt/apps/hadoop/etc/hadoop
4.1 配置hadoop-env.sh 文件
export JAVA_HOME=/opt/apps/jdk
4.2 配置core-site.xml文件
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://mini1:9000</value>
</property>
</configuration>
4.3 配置hdfs-site.xml文件
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/apps/hadoop/hadoopdata/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/apps/hadoop/hadoopdata/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>mini2:50090</value>
</property>
</configuration>
4.4 配置mapred-site.xml文件
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
4.5 配置yarn-site.xml文件
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>mini1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
4.6 配置workers文件
mini1
mini2
mini3
5.拷贝整个hadoop安装目录到其他机器
scp -r /opt/apps/hadoop-3.2.1 mini2:/opt/apps/
scp -r /opt/apps/hadoop-3.2.1 mini3:/opt/apps/
6.要运行hadoop的命令,需要在linux环境中配置HADOOP_HOME和PATH环境变量
配置Hadoop环境变量:vi /etc/profile
export JAVA_HOME=/opt/apps/jdk
export HADOOP_HOME=/opt/apps/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
7.将/etc/profile配置文件也用scp命令拷贝到其他机器并分别执行source命令
五,启动HDFS集群
1.首先初始化namenode的元数据目录。
命令:hdfs namenode -format(mini1上执行)
创建一个全新的元数据存储目录
生成记录元数据的文件fsimage
生成集群的相关标识:如:集群id——clusterID
2.启动namenode进程
命令:hdfs --daemon start namenode (mini1上执行)
4.启动datanode(mini1,mini2,mini3上执行)
命令:hdfs --daemon start datanode
5.重要提示:可以在主节点全部启动或停止关于HDFS相关角色(主节点mini1上执行)
将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数
#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
全部启动命令:start-dfs.sh 全部停止命令:stop-dfs.sh
6.启动后浏览HDFS web界面: http://mini1:9870/
六,启动YARN集群
1.启动resourcemanager进程(主节点mini1上执行)
命令:yarn --daemon start resourcemanager
2.启动nodemanager进程(mini1,mini2,mini3上执行)
命令:yarn --daemon start nodemanager
3.重要提示:可以在主节点全部启动或停止关于HDFS相关角色(主节点mini1上执行):
将start-yarn.sh,stop-yarn.sh两个文件顶部需添加以下:
#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
全部启动命令:start-yarn.sh 全部停止命令:stop-yarn.sh
4.启动后浏览YARN集群 web界面: http://mini1:8088/
- 上一篇:Linux 网络时间同步
- 下一篇:Linux基本命令归纳整理
相关推荐
- js中arguments详解
-
一、简介了解arguments这个对象之前先来认识一下javascript的一些功能:其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中每个函数...
- firewall-cmd 常用命令
-
目录firewalldzone说明firewallzone内容说明firewall-cmd常用参数firewall-cmd常用命令常用命令 回到顶部firewalldzone...
- epel-release 是什么
-
EPEL-release(ExtraPackagesforEnterpriseLinux)是一个软件仓库,它为企业级Linux发行版(如CentOS、RHEL等)提供额外的软件包。以下是关于E...
- FullGC详解 什么是 JVM 的 GC
-
前言:背景:一、什么是JVM的GC?JVM(JavaVirtualMachine)。JVM是Java程序的虚拟机,是一种实现Java语言的解...
-
2024-10-26 08:50 citgpt
- 跨域(CrossOrigin)
-
1.介绍 1)跨域问题:跨域问题是在网络中,当一个网络的运行脚本(通常时JavaScript)试图访问另一个网络的资源时,如果这两个网络的端口、协议和域名不一致时就会出现跨域问题。 通俗讲...
- 微服务架构和分布式架构的区别
-
1、含义不同微服务架构:微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并...
- 深入理解与应用CSS clip-path 属性
-
clip-pathclip-path是什么clip-path 是一个CSS属性,允许开发者创建一个剪切区域,从而决定元素的哪些部分可见,哪些部分会被隐...
-
2024-10-25 11:51 citgpt
- Request.ServerVariables 大全
-
Request.ServerVariables("Url")返回服务器地址Request.ServerVariables("Path_Info")客户端提供的路...
- python操作Kafka
-
目录一、python操作kafka1.python使用kafka生产者2.python使用kafka消费者3.使用docker中的kafka二、python操作kafka细...
- Runtime.getRuntime().exec详解
-
Runtime.getRuntime().exec详解概述Runtime.getRuntime().exec用于调用外部可执行程序或系统命令,并重定向外部程序的标准输入、标准输出和标准错误到缓冲池。...
- promise.all详解 promise.all是干什么的
-
promise.all详解promise.all中所有的请求成功了,走.then(),在.then()中能得到一个数组,数组中是每个请求resolve抛出的结果...
-
2024-10-24 16:21 citgpt
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracleclient (56)
- springbatch (59)
- oracle恢复数据 (56)
- 简单工厂模式 (68)
- 函数指针 (72)
- fill_parent (135)
- java配置环境变量 (140)
- linux文件系统 (56)
- 计算机操作系统教程 (60)
- 静态ip (63)
- notifyicon (55)
- 线程同步 (58)
- xcode 4 5 (60)
- 调试器 (60)
- c0000005 (63)
- html代码大全 (61)
- header utf 8 (61)
- 多线程多进程 (65)
- require_once (60)
- 百度网盘下载速度慢破解方法 (72)
- 谷歌浏览器免费入口 (72)
- npm list (64)
- 网站打开速度检测 (59)
- 网站建设流程图 (58)
- this关键字 (67)