Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Hadoop集群基本配置

Hadoop集群基本配置

作者头像
故事尾音
发布于 2019-12-16 11:12:10
发布于 2019-12-16 11:12:10
91500
代码可运行
举报
运行总次数:0
代码可运行

集群规划

集群节点分配

主机名

主机IP

master

192.168.100.100

slave1

192.168.100.101

slave2

192.168.100.102

slave3

192.168.100.103

软件版本

软件名称

版本号

Java

1.8.0_152

CentOS

CentOS-7-x64-1708

Hadoop

2.7.5

MySQL

5.7.20

Hive

2.3.2

各软件安装路径

Hadoop

/opt/SoftWare/Hadoop/

Java

/opt/SoftWare/Java/

Hive

/opt/SoftWare/Hive

MySQL

/opt/SoftWare/MySQL

各主机基础软件安装及操作

由于使用的是最小化安装,因此这里需要安装不少软件才能进行后续操作。

openssh安装,便于远程上传文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@master ~]# sudo yum -y install openssh-clients openssh-server

安装完成后,可以使用下面命令进行测试: ssh localhost 输入root账户的密码,如果可以正常登录,则说明SSH安装没有问题。测试正常后使用exit命令退出ssh。

同步时间工具

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#安装ntpdate工具
[root@master ~]# yum -y install ntp ntpdate
#设置与网络时间同步
[root@master ~]# ntpdate cn.pool.ntp.org
#系统时间写入硬件时间
[root@master ~]# hwclock --systohc

文件上传(rz)下载(sz)工具

可以在Xshell工具中通过rz调出上传文件的窗口进行文件上传,也可以通过sz 文件名下载某一个文件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@master ~]# yum -y install lrzsz

安装网络下载yum工具 wget

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@test ~]# yum -y install wget

关闭防火墙

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#查看防火墙开启状态
[root@test ~]# systemctl status firewalld
#关闭防火墙
[root@test ~]# systemctl stop firewalld
#禁止开机启动防火墙
[root@test ~]# systemctl disable firewalld
#开启防火墙
[root@test ~]# systemctl start firewalld
#设置开机启动防火墙
[root@test ~]# systemctl enable firewalld
#重启防火墙
[root@test ~]# systemctl restart firewalld

配置SSH免密码登录

四台主机均按照步骤2安装基础软件工具(这里不再过多叙述)

修改hosts文件,添加以下内容,四台主机均进行操作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@master ~]# vi /etc/hosts
#127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.100 master
192.168.100.101 slave1
192.168.100.102 slave2
192.168.100.103 slave3

配置SSH免密码登录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#每台机器先使用ssh执行以下,以在主目录产生一个.ssh 文件夹
[root@master ~]# ssh master
#然后输入no即可
#每台机器均进入~/.ssh 目录进行操作
[root@master ~]# cd ~/.ssh
#输入以下命令,一路回车,用以产生公钥和秘钥
[root@master .ssh]# ssh-keygen -t rsa -P ''
#出现以下信息说明生成成功
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:6YO1h1emM9gcWvv9OT6ftHxLnjP9u8p25x1o30oq3No root@master
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|                 |
|                 |
|         .       |
|        S o o    |
|       + O *  .  |
|      . B.X. o.+.|
|         +o=+=**%|
|          .oEo*^^|
+----[SHA256]-----+
#将每台机器上的id_rsa.pub公钥内容复制到authorized_keys文件中
[root@master .ssh]# cp id_rsa.pub authorized_keyscd
#将所有的authorized_keys文件进行合并(最简单的方法是将其余三台slave主机的文件内容追加到master主机上)
[root@slave1 .ssh]# cat ~/.ssh/authorized_keys | ssh root@master 'cat >> ~/.ssh/authorized_keys'
[root@slave2 .ssh]# cat ~/.ssh/authorized_keys | ssh root@master 'cat >> ~/.ssh/authorized_keys'
[root@slave3 .ssh]# cat ~/.ssh/authorized_keys | ssh root@master 'cat >> ~/.ssh/authorized_keys'
#查看master上的authorized_keys文件内容,类似如下即可
[root@master .ssh]# more authorized_keys 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5iw8+LlLxo0d77uaTChOKKJqfMHzp2jgzqV2hFAneFXqqWmr
Z4/FrMUPenmdss19bP4Up9G7PGbJu29yZDvkDwlmuqnVajYyDOsCl7PPXPWXMIlxMGUHgSXLnQQi6QnWp04vJKDs0EbiRTd0ZYCSQefzJcZ8jbQ7bLYt6jtil7FfUupTdHTeexKKd8Mq3K7YFZHumKvhzs6wWiM+n41jANS083ss3OYmAdO2cU0w1BhLVvJhdzd6fNG3RXVCXI2v0XxCUHiqI9Oewl2qPOfKzeyy09bJxo371Ezjmt8GMrkA/Ecepkvx12qwNzC9bSPLfbnPWVo2gIxe4mMaFqCFJ root@master
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3CkB3Jejavt+yFphsbciktWciJmbcUBOv3ZLPVLW18ZxXGZK
vG50EPXo/4By7P6IRW0wCa5YuckQEW+q6kmSatxqJ8e/K9a1mAk13N4f7V7M71Nn8IkujlF3gHYjKrmnEWpGJCy5YBURzywIQTRArlIac1xj2SeM6q+gTMV9WrAKJupIRHli+W0kHVaYHNdKl7KMUT4KVrSl+h4wFwAd7Tcyj7JIbUcCCL6o/v/LqGFwpcJfbfUsuKJJho+tImh41j7mSXR8kRbTSZkcq5KX+iANrANwOHZ58tV5KXmMQjuVq7aJ985C16hHssB6zq/zjAxpxAyQIeE8Incc8U8ix root@slave1
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC//uaMbzbkYqxdgZJSdq+gdQYldzMQ7D3SxsUaNO5oVnVOszw
+mbNnmL8vp1EUUehabQHPCAvCmLKUPXzfcxlyJEF/pnY77u4ySwsRVEpHvsDZbrclgCOrS6hW00sSx303KHLOgXT70LfrmnohfUhvTxajzLXT+C8f5ZfTZ8meKD73HKl16jRwZQ8YhW9GUyuCkgQTGtKtTKPsRUd9LpAc/7/u8xvvvNvTYPxgyTJcUMzGSOHh8J3upI54ykY0FgBkjs1fCUaDalxAgsHw9B1iyx706WbcT6ymiQVMKGnnnM6k2KPvUvfDswVfUSG+4ZsYSRHRTgWuiBbHoIr7DVd root@slave2
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDTzTTdGRTd1zts3m7uKobcgRom4lVyF9EdNOdbBWMucYjbCs
BgP1ideDDQed2TyBj3Szz3Yx6h1L4McGmATY/D9qRLml26VW/x0Tod8JYkqOQpQL9knLW2cwITnhLzq5VDugOix06r/uweP3Zed9CO7ld3jUxJJNZCYpsNz+eUKq9SWM5+ehUu9pfZZu9zUk7Q01js3uCHzu1AhsajgNzgB4+YLLccdHBfxGg4ix5wuaF82PlEEh70hTdfRkq8pqPMZ+FIQtTgfD5XllKTcnPItUY23hc7Umx4I3ujOd810vzffWYK07cOtv1r7LEcYtYqbZ6zIvII+M775iRkzQX root@slave3

#将master上的authorized_keys文件分发到其他主机上
[root@master .ssh]# scp ~/.ssh/authorized_keys root@slave1:~/.ssh/
[root@master .ssh]# scp ~/.ssh/authorized_keys root@slave2:~/.ssh/
[root@master .ssh]# scp ~/.ssh/authorized_keys root@slave3:~/.ssh/
#每台机器之间进行ssh免密码登录操作,包括自己与自己
[root@master ~]# ssh master
[root@master ~]# ssh slave1
[root@slave1 ~]# ssh master
[root@master ~]# ssh slave2
[root@slave2 ~]# ssh master
[root@master ~]# ssh slave3
[root@slave3 ~]# ssh master
[root@master ~]# ssh slave1
[root@slave1 ~]# ssh slave1
[root@slave1 ~]# ssh slave2
[root@slave2 ~]# ssh slave1
[root@slave1 ~]# ssh slave3
[root@slave3 ~]# ssh slave1
[root@slave1 ~]# ssh slave2
[root@slave2 ~]# ssh slave2
[root@slave2 ~]# ssh slave3
[root@slave3 ~]# ssh slave2
[root@slave2 ~]# ssh slave3
[root@slave3 ~]# ssh slave2
[root@slave2 ~]# ssh slave3
[root@slave3 ~]# ssh slave3

安装配置Java环境并测试

下载jdk

使用yum来安装1.8版本OpenJDK:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel

安装完成后,输入 java 和 javac 命令,如果能输出对应的命令帮助,则表明jdk已正确安装。

配置 JAVA 环境变量

执行命令:编辑 ~/.bashrc,在结尾追加:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

保存文件后执行下面命令使 JAVA_HOME 环境变量生效:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
source ~/.bashrc

为了检测系统中 JAVA 环境是否已经正确配置并生效,可以分别执行下面命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
java -version
$JAVA_HOME/bin/java -version

若两条命令输出的结果一致,且都为我们前面安装的openjdk-1.8.0的版本,则表明JDK环境已经正确安装并配置。

安装配置Hadoop并配置

下载Hadoop到本地

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz

上传至master节点

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#上传
[root@master ~]# cd /opt/SoftWare/Hadoop
[root@master Hadoop]# rz
#解压
[root@master Hadoop]# tar -zxvf hadoop-2.7.5.tar.gz

创建目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#进入hadoop-2.7.5主目录
[root@master Hadoop]# cd hadoop-2.7.5
#创建以下目录,以备后用
[root@master hadoop-2.7.5]# mkdir tmp
[root@master hadoop-2.7.5]# mkdir logs
[root@master hadoop-2.7.5]# mkdir -p hdfs/name
[root@master hadoop-2.7.5]# mkdir -p hdfs/dat

修改配置

修改hadoop-env.sh文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@master hadoop-2.7.5]# vi etc/hadoop/hadoop-env.sh
#修改JAVA_HOME为以下内容,否则容易出现Hadoop无法启动问题
export JAVA_HOME=/opt/SoftWare/Java/jdk1.8.0_152

修改yarn-env.sh文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@master hadoop-2.7.5]# vi etc/hadoop/yarn-env.sh 
#修改JAVA_HOME为以下内容
export JAVA_HOME=/opt/SoftWare/Java/jdk1.8.0_152

编辑slaves文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#该文件用于记录本集群有哪些数据节点
[root@master hadoop-2.7.5]# vi etc/hadoop/slaves 
#删除该文件中原来的内容,添加以下内容
slave1
slave2
slave3

echo $JAVA_HOME

修改core-site.xml文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@master hadoop-2.7.5]# vi etc/hadoop/core-site.xml

该文件为Hadoop的核心配置文件,非常重要

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!--<configuration></configuration>中间添加一下内容-->
<property>
    <name>fs.defaultFS</name><!--定义Hadoop Master的URI和端口-->
    <value>hdfs://master:9000</value>
</property>
<property>
    <name>hadoop.tmp.dir</name><!--hadoop的临时存储目录-->
    <value>file:/opt/SoftWare/Hadoop/hadoop-2.7.5/tmp</value>
</property>
<property>
    <name>io.file.buffer.size</name><!--用作序列化文件处理时读写buffer的大小-->
    <value>131702</value>
</property>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-11-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux巩固记录(3) hadoop 2.7.4 环境搭建
以前只在linux上配置J2EE项目执行环境,无非配置下jdk,部署tomcat,再通过docker或者jenkins自动部署上去
肖哥哥
2018/08/02
4310
Hadoop完全分布式搭建
*通过共享文件夹的方式将j**d**k的安装包放在ma**ster**节点的/**root/downloads**文件夹下*
h3110_w0r1d
2024/02/19
3180
Hadoop完全分布式搭建
hadoop安装教程,分布式配置 CentOS7 Hadoop3.1.2
我们在 /etc/hosts 中将该映射关系填写上去即可,如下图所示(一般该文件中只有一个 127.0.0.1,其对应名为 localhost,如果有多余的应删除,特别是不能有 “127.0.0.1 Master” 这样的记录)
庞小明
2019/05/25
1.9K1
大数据环境搭建-Linux基础环境配置
或者 链接:https://pan.baidu.com/s/1JdPCMMEq178hXV5V4Ild3Q 密码:03l1
码客说
2022/06/04
1.3K0
大数据环境搭建-Linux基础环境配置
搭建Hadoop集群
搭建集群作为一件事,应该一气呵成,希望你腾出一两个小时的时间来完成搭建,提前祝你搭建成功!
用户9615083
2022/12/25
3.3K0
搭建Hadoop集群
Docker下HBase学习,三部曲之二:集群HBase搭建
本文介绍了如何在Docker中搭建集群环境,并使用Hadoop和HBase进行实战演示。包括详细的搭建过程、配置和启动HDFS、HBase、Zookeeper等组件,以及使用Docker Compose一键启动所有服务。同时,还介绍了如何基于Zookeeper进行分布式协调,以及如何使用HBase Shell进行操作。
程序员欣宸
2018/01/04
2.2K0
Docker下HBase学习,三部曲之二:集群HBase搭建
Hadoop动态添加删除节点datanode及恢复
本文略去jdk安装,请将datanode的jdk安装路径与/etc/Hadoop/hadoop-evn.sh中的java_home保持一致,版本hadoop2.7.5
星哥玩云
2022/07/12
9580
运维:linux设置 ssh 免密登录教程
以下用三台centos为例,ip分别为192.168.44.138、192.168.44.139、192.168.44.140,分别对应别名master、slave1、slave2
小明互联网技术分享社区
2022/10/31
1.4K0
运维:linux设置 ssh 免密登录教程
Hadoop集群安装配置实验
一、环境 四台 VirtualBox上的Linux虚机,每台硬盘20G,内存768M。 IP与主机名: 192.168.56.101 master 192.168.56.102 slave1 192.168.56.103 slave2 192.168.56.104 slave3 主机规划: 192.168.56.101做master,运行NameNode和ResourceManager进程。其它三台主机做slave,运行DataNode和NodeManager进程。 操作系统:CentOS release 6.4 (Final) java版本:jdk1.7.0_75 hadoop版本:hadoop-2.7.2 二、安装前准备 1. 分别在四台机器上建立grid用户 useradd -d /home/grid -m grid usermod -G root grid 2. 分别在四台机器上的/etc/hosts文件中添加如下内容 192.168.56.101 master 192.168.56.102 slave1 192.168.56.103 slave2 192.168.56.104 slave3 以下的操作均使用grid用户执行。 3. 分别在四台机器上安装java(安装包下载已经到grid用户主目录): cd ~ tar -zxvf jdk-7u75-linux-x64.tar.gz 4. 配置免密码ssh(这里配置了任意两台机器都免密码) (1)分别在四台机器上生成密钥对: cd ~ ssh-keygen -t rsa 然后一路回车 (2)在master上执行: cd ~/.ssh/ ssh-copy-id 192.168.56.101 scp /home/grid/.ssh/authorized_keys 192.168.56.102:/home/grid/.ssh/ (3)在slave1上执行: cd ~/.ssh/ ssh-copy-id 192.168.56.102 scp /home/grid/.ssh/authorized_keys 192.168.56.103:/home/grid/.ssh/ (4)在slave2上执行: cd ~/.ssh/ ssh-copy-id 192.168.56.103 scp /home/grid/.ssh/authorized_keys 192.168.56.104:/home/grid/.ssh/ (5)在slave3上执行: cd ~/.ssh/ ssh-copy-id 192.168.56.104 scp /home/grid/.ssh/authorized_keys 192.168.56.101:/home/grid/.ssh/ scp /home/grid/.ssh/authorized_keys 192.168.56.102:/home/grid/.ssh/ scp /home/grid/.ssh/authorized_keys 192.168.56.103:/home/grid/.ssh/ 至此,免密码ssh配置完成。 三、安装配置hadoop 以下的操作均使用grid用户在master主机上执行。 1. 安装hadoop(安装包下载已经到grid用户主目录): cd ~ tar -zxvf hadoop-2.7.2.tar.gz 2. 建立目录 cd ~/hadoop-2.7.2 mkdir tmp mkdir hdfs mkdir hdfs/data mkdir hdfs/name 3. 修改配置文件 (1)编辑~/hadoop-2.7.2/etc/hadoop/core-site.xml文件,添加如下内容,如图1所示。 <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://192.168.56.101:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/home/grid/hadoop-2.7.2/tmp</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> </configuration>
用户1148526
2022/05/07
4910
Hadoop集群安装配置实验
Hadoop2.5 64bit安装
1.系统环境说明 CentOS 7.0 x64 版本 192.168.1.7 master 192.168.1.8 slave 192.168.1.9 slave 192.168.1.10 slave 2.安装前的准备工作 2.1 关闭防火墙 # systemctl status firewalld.service  --查看防火墙状态 # systemctl stop firewalld.service    --关闭防火墙 # systemctl disable firewalld.serv
幽鸿
2020/04/02
5240
Hadoop集群部署教程-P1
Hadoop集群运行时,NameNode需要通过SSH协议启动和管理各个DataNode上的守护进程。由于Hadoop不支持交互式密码输入,必须配置SSH免密登录,否则:
奶油话梅糖
2025/04/17
1640
环境搭建-hadoop安装
有三台云服务,系统centOS7.6,为了能够尽可能“分布”一下,所以三台机器都作为计算节点,master机器担任NameNode节点,兼任一个DataNode节点,slave1兼任secondaryNameNode和DataNode节点。
数据仓库晨曦
2024/01/08
2900
环境搭建-hadoop安装
Linux上安装Hadoop集群(CentOS7+hadoop-2.8.0)
1下载hadoop      本博文使用的hadoop是2.8.0     打开下载地址选择页面: http://www.apache.org/dyn/closer.cgi/hadoop/common
庞小明
2018/03/29
1.6K0
Linux上安装Hadoop集群(CentOS7+hadoop-2.8.0)
hadoop2.x全分布式集群搭建(一主二从)
然后生成了id_rsa与id_rsa.pub,分别是私有与公有秘钥,我们要把公有秘钥复制到一个authorized_keys文件内,这个文件的作用就是完成无密码访问。 然后执行:
孙晨c
2020/05/26
5530
Debian下安装配置 Hadoop 3.1.3 集群
在这篇文章里,我将在 VMWare 里面虚拟四台 Debian 虚拟机,一个做master,三个slave。这四台主机的 hostname 分别是 master、slave1、slave2、slave3。下面的 JDK 和 Hadoop 安装配置操作都是使用普通用户 hadoop 来执行,并非 root。
Debian中国
2020/01/21
1.6K0
hadoop集群配置之服务器ssh免密码配置 原
    主机名:master:h1(192.168.1.55),slave:h2(192.168.1.56),h3(192.168.1.57)
尚浩宇
2018/08/17
1.3K0
hadoop集群配置之服务器ssh免密码配置
                                                                            原
Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境详解
ZooKeeper可以独立搭建集群,HBase本身不能独立搭建集群需要和Hadoop和HDFS整合。
星哥玩云
2022/07/13
5520
Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境详解
搭建分布式Spark计算平台
集群机器规划 三台机器的操作系统全部为CentOS7.2. 主机名称 IP地址 master 192.168.1.106 slave1 192.168.1.107 slave2 192.168.1.108 其中master为hadoop的namenode,slave1和slave2为hadoop的datananode。如果安装spark的话,master、slave1和slave2都是worker。 环境准备 设置IP地址 在我们进入安装之前,首先要把服务器的网络、安全和登录等配置设
吕海峰
2018/04/03
2.2K0
搭建分布式Spark计算平台
hadoop 多机全分布式安装步骤(虚拟机1master+2slave)
同理,另外两台 ip 为:192.168.253.128, 192.168.253.129(个人根据自己的情况来)
Michael阿明
2021/09/06
7430
mysql3
MHA(Master High Availability)是目前在MySQL高可用方面相对成熟的一个解决方案,MHA在监控到master节点故障时,会提升其中拥有最新数据的slave节点成为新的master节点,在此期间,MHA会通过于其它从节点获取额外信息来避免一致性方面的问题。MHA还提供了master节点的在线切换功能。
py3study
2020/01/09
4080
相关推荐
Linux巩固记录(3) hadoop 2.7.4 环境搭建
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档