Hadoop的安装与部署
一、硬件及环境
服务器:3台,IP分别为:192.168.100.105、192.168.100.110、192.168.100.115
操作系统:Ubuntu Server 18.04
JDK:1.8.0
Hadoop:3.3.1
二、系统配置
* 3台机都要执行以下操作
1.登录root账号
su
2.配置时区
https://www.cnblogs.com/live41/p/14237170.html
* 如果部署过程遇到一些莫名其妙的错误,或者日志的时间是错的,先用date -R检查一下时区是否正确。
3.配置hosts
vim /etc/hosts
添加内容
192.168.100.105 c1
192.168.100.110 c2
192.168.100.115 c3
4.关闭防火墙
ufw disable
5.安装ssh
apt install ssh
6.设置免密登录
https://www.cnblogs.com/live41/p/14236950.html
* 见第二点的第5点
7.安装JDK
https://www.cnblogs.com/live41/p/14235891.html
三、部署Hadoop
* 3台机都要执行以下操作
1.下载Hadoop安装包
https://downloads.apache.org/hadoop/common/
2.解压安装包
这里假定下载的是hadoop-3.3.1.tar.gz文件,解压到/usr/bin/目录
tar -xvf hadoop-3.3.1.tar.gz -C /usr/local/
把目录名也改一下
mv /usr/local/hadoop-3.3.1 /usr/local/hadoop
3.创建目录
cd /usr/local/hadoop
sudo mkdir hdfs
sudo mkdir hdfs/datanode
sudo mkdir hdfs/namenode
sudo mkdir hadoop/logs
sudo mkdir yarn
sudo mkdir yarn/logs
4.配置环境变量
vim ~/.bashrc
添加内容
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
更新环境变量
source ~/.bashrc
测试
hadoop version
5.修改Hadoop的配置
(1) 进入Hadoop的配置文件目录
cd $HADOOP_CONF_DIR
或cd /usr/local/hadoop/etc/hadoop/
(2) 编辑hadoop-env.sh文件
vim hadoop-env.sh
查看以下内容,如果没有就加上,如果已有就不用改。
export JAVA_HOME=/usr/bin/jdk1.8.0
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export HADOOP_LOG_DIR=/usr/local/hadoop/logs
(3) 编辑core-site.xml
vim core-site.xml
在c1机添加以下内容:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://c1:9820/</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
</configuration>
在c2、c3机添加以下内容:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://c1:9820/</value>
<description>NameNode URI</description>
</property>
</configuration>
(4) 编辑hdfs-site.xml文件
vim hdfs-site.xml
在c1机添加以下内容:
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/local/hadoop/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///usr/local/hadoop/hdfs/datanode</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.datanode.use.datanode.hostname</name>
<value>false</value>
</property>
<property>
<name>dfs.namenode.datanode.registration.ip-hostname-check</name>
<value>false</value>
</property>
</configuration>
在c2、c3添加以下内容:
<configuration>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///usr/local/hadoop/hdfs/datanode</value>
<description>DataNode directory</description>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.datanode.use.datanode.hostname</name>
<value>false</value>
</property>
</configuration>
(4) 编辑yarn-site.xml文件
vim yarn-site.xml
在c1机添加以下内容:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>file:///usr/local/hadoop/yarn/local</value>
</property>
<property>
<name>yarn.nodemanager.log-dirs</name>
<value>file:///usr/local/hadoop/yarn/logs</value>
</property>
</configuration>
在c2、c3机添加以下内容:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
(5) 编辑mapred-site.xml文件
vim mapred-site.xml
在c1机添加以下内容:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>c1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>c1:19888</value>
</property>
<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>/mr-history/tmp</value>
</property>
<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>/mr-history/done</value>
</property>
</configuration>
在c2、c3机添加以下内容:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
(6) 修改workers文件(旧版的是slaves文件)
vim workers
添加以下内容:
c1
c2
c3
6.修改文件权限
chmod 777 /usr/local/hadoop/hdfs
chmod 777 /usr/local/hadoop/logs
7.格式化hdfs
hdfs namenode -format
四、启动和停止Hadoop
1.启动
在c1机执行:
start-dfs.sh
start-yarn.sh
2.检查是否运行正常
每台机执行:
jps
3.创建目录和查看目录
在c1机执行:
hdfs dfs -mkdir /Clotho
hdfs dfs -ls /
4.登录管理界面
http://c1:9870/ 或 http://192.168.100.105:9870/
5.停止
在c1机执行:
stop-yarn.sh
stop-dfs.sh
附:更简单和安全的操作
https://tecadmin.net/install-hadoop-on-ubuntu-20-04/
http://www.mtitek.com/tutorials/bigdata/hadoop/install.php
以上2篇新建了hadoop用户来运行,且并没有关闭防火墙,只是开通了必须的端口。
Hadoop的安装与部署的更多相关文章
- Spark入门实战系列--2.Spark编译与部署(中)--Hadoop编译安装
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .编译Hadooop 1.1 搭建环境 1.1.1 安装并设置maven 1. 下载mave ...
- Hadoop 2.2.0部署安装(笔记,单机安装)
SSH无密安装与配置 具体配置步骤: ◎ 在root根目录下创建.ssh目录 (必须root用户登录) cd /root & mkdir .ssh chmod 700 .ssh & c ...
- Hadoop教程(五)Hadoop分布式集群部署安装
Hadoop教程(五)Hadoop分布式集群部署安装 1 Hadoop分布式集群部署安装 在hadoop2.0中通常由两个NameNode组成,一个处于active状态,还有一个处于standby状态 ...
- 利用Ambari平台安装与部署Hadoop
* 本篇是利用Ambari平台安装与部署Hadoop,如果需要原生部署Hadoop,请点击以下地址: https://www.cnblogs.com/live41/p/15467263.html 一. ...
- Hadoop学习---安装部署
hadoop框架 Hadoop使用主/从(Master/Slave)架构,主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracke ...
- Hive安装与部署集成mysql
前提条件: 1.一台配置好hadoop环境的虚拟机.hadoop环境搭建教程:稍后补充 2.存在hadoop账户.不存在的可以新建hadoop账户安装配置hadoop. 安装教程: 一.Mysql安装 ...
- Hadoop在win7下部署的问题
问题: 为了测试方便所以在win7下部署了伪分布式hadoop运行环境,但是部署结束后在命令行运行hadoop命令创建一个用户文件目录时出现了一下情况: 系统找不到指定的批标签- make_comma ...
- hadoop分布式安装教程(转)
from:http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html 1.集群部署介绍 1.1 Hadoop简介 Hadoop是Ap ...
- Hadoop伪分布式模式部署
Hadoop的安装有三种执行模式: 单机模式(Local (Standalone) Mode):Hadoop的默认模式,0配置.Hadoop执行在一个Java进程中.使用本地文件系统.不使用HDFS, ...
随机推荐
- 论文解读(PCL)《Prototypical Contrastive Learning of Unsupervised Representations》
论文标题:Prototypical Contrastive Learning of Unsupervised Representations 论文方向:图像领域,提出原型对比学习,效果远超MoCo和S ...
- rabbitmqctl 命令行管理工具
1. 用户管理 用户管理包括增加用户,删除用户,查看用户列表,修改用户密码. (1) 新增一个用户 rabbitmqctl add_user Username Password (2) 删除一个用户 ...
- 【PHP】随机生成名字
public function test(){ $a = "赵 钱 孙 李 周 吴 郑 王 冯 陈 楮 卫 蒋 沈 韩 杨 朱 秦 尤 许 何 吕 施 张 孔 曹 严 华 金 魏 陶 姜 戚 ...
- 腾讯云 CIF 工程效能峰会,10 月 19 - 20 日震撼来袭!
近年来,依托于云计算的飞速发展,腾讯云云产品更新迅猛,云原生生态构建初具规模,越来越多的企业也开始寻求与深入数字化转型之路.但在摸索与实践中,企业往往会进入"伪上云"的误区.除了单 ...
- Css3 3D 旋转动画效果
需求: 1.一个列表滑动效果为360 旋转 准备: 1.css 基础 2.Css 动画基础animation 3.transform-style概念 4 transform 概念 5 JavaScri ...
- django forms的常用命令及方法(一)
根据别人网上发布,个人爱好收集 Form表单的功能 自动生成HTML表单元素 检查表单数据的合法性 如果验证错误,重新显示表单(数据不会重置) 数据类型转换(字符类型的数据转换成相应的Python类型 ...
- P5110-块速递推【特征方程,分块】
正题 题目链接:https://www.luogu.com.cn/problem/P5110 题目大意 数列\(a\)满足 \[a_n=233a_{n-1}+666a_{n-2},a_0=0,a_1= ...
- Python3模块调用你真的会吗?不懂就来看一看?
前言 学习Python自动化框架的时候,各种文件会相互之间的调用.刚学的时候是不是很头疼!有木有!!一步步告诉你如何调用文件里的类和方法. 经常会调用同目录下的文件还有跨文件的调用 调用同目录下文件A ...
- MySQL表空间回收的正确姿势
不知道大家有没有遇到这样的一种情况,线上业务在MySQL表上做增删改查操作,随着时间的推移,表里面的数据越来越多,表数据文件越来越大,数据库占用的空间自然也逐渐增长 为了缩小磁盘上表数据文件占用的空间 ...
- SpringBoot碰到的疑问或问题
1.@ResponseBody 和 @RequestBody 的区别 @ResponseBody是作用在方法上的,@ResponseBody 表示该方法的返回结果直接写入 HTTP response ...