第2章 CentOS7集群环境配置
2.1 关闭防火墙
【操作目的】
集群一般都是内网搭建的,如果内网内开启防火墙,内网集群通讯会容易出现很多问题。因此需要关闭集群中每个节点的防火墙。
【操作步骤】
执行以下命令进行关闭防火墙:
systemctl stop firewalld.service
然后执行以下命令,禁止防火墙开机启动:
systemctl disable firewalld.service
其它相关命令如下:
查看防火墙状态:
firewall-cmd --state
开启防火墙:
systemctl start firewalld.service
2.2 设置固定IP
【操作目的】
为了避免后续启动操作系统后,IP地址改变了,导致本地SSH连接不上,节点间无法访问,需要将操作系统设置为固定IP。
【操作步骤】
方法一:
在系统桌面的右上角单击,在弹出的窗口中单击【有线设置】,如下图所示。

在有线设置窗口中单击【添加配置】按钮,如下图所示。

在IP配置窗口中,左侧选择【IPv4】,右侧的【地址】选择【手动】,如下图所示。

接着输入IP地址、网络掩码、网关和DNS服务器,输入完毕后单击【添加】按钮。如下图所示。

方法二:
执行以下命令,修改文件ifcfg-ens33:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改内容如下(修改标红处,没有的选项需要手动添加):
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.2.75
NETMASK=255.255.255.0
GATEWAY=192.168.2.2
DNS1=192.168.2.2
DNS2=114.114.114.114
需要修改的参数及解析如下::
BOOTPROTO:static表示静态IP,默认是DHCP,表示动态IP。
ONBOOT:yes表示开机启用本配置。
IPADDR:IP地址。
NETMASK:子网掩码。
GATEWAY:默认网关,虚拟机安装的话,通常是2,也就是VMnet8的网关设置。
DNS1:DNS 配置,虚拟机安装的话,与网关一样就行。若需要连接外网,需要配置DNS。
DNS2:网络运营商公众DNS,此处也可不用配置。
修改完成后重启网络服务:
service network restart
查看改动后的IP:
ip addr
2.3 修改主机名
【操作目的】
在分布式集群中,主机名用于区分不同的节点,并方便节点之间相互访问,因此需要修改主机的主机名。
【操作步骤】
(1)使用hadoop用户登录系统,进入系统的终端命令行,输入以下命令,查看主机名:
[hadoop@localhost ~]$ hostname
localhost.localdomain
可以看到,当前主机的默认主机名为localhost.localdomain。
(2)执行以下命令,设置主机名为centos01:
[hadoop@localhost ~]$ hostname centos01
hostname: you must be root to change the host name
此时提示需要root权限,执行su命令切换root用户:
[hadoop@localhost ~]$ su
密码:
[root@localhost hadoop]#
执行以下命令,重新设置主机名为centos01:
[root@localhost hadoop]# hostname centos01
以上设置只是在当前会话起作用,重启以后设置的主机名就不起作用了。要想完全改变主机名,需要修改hostname文件。执行以下命令,修改hostname文件,将其中的主机名改为centos01:
[root@localhost hadoop]# vi /etc/hostname
(3)重启系统使修改生效。
注意:修改主机名需要重启才能生效。
2.4 添加用户
本例中使用安装操作系统时新建的hadoop用户即可,若想使用其他用户,则按照下面的步骤新建用户:
(1)使用root登录系统,新增用户tom:
adduser tom
(2)修改用户tom的密码:
passwd tom
(3)设置用户权限,操作方法见下一小节。
2.5 修改用户权限
【操作目的】
使普通用户可以使用root权限。本例以修改hadoop用户为例进行讲解。
【操作步骤】
使用su命令切换为root用户,然后修改文件sudoers:
[root@centos01 hadoop]# vi /etc/sudoers
在文本root ALL=(ALL) ALL的下方加入以下代码,将hadoop用户加入sudo组,使其可以使用sudo执行命令。
hadoop ALL=(ALL) ALL
默认5分钟后sudo密码过期,下次使用sudo需要重新输入密码,如果觉得在sudo的时候输入密码麻烦,把上方的输入换成如下内容即可:
hadoop ALL=(ALL) NOPASSWD:ALL
此时使用root权限的命令只需要在命令前面加入sudo即可,无需输入密码。
[hadoop@centos01 ~]$ cat /etc/sudoers
cat: /etc/sudoers: 权限不够
[hadoop@centos01 ~]$ sudo cat /etc/sudoers
2.6 新建目录
在/opt下创建目录softwares、modules、data,分别用于存放软件安装包、软件安装数据和其它数据:
[hadoop@centos01 ~]$ sudo mkdir /opt/softwares
[hadoop@centos01 ~]$ sudo mkdir /opt/modules
[hadoop@centos01 ~]$ sudo mkdir /opt/data
修改目录权限为hadoop用户:
[hadoop@centos01 opt]$ sudo chown -R hadoop:hadoop /opt/*
查看目录权限是否修改成功:
[hadoop@centos01 opt]$ ll
总用量 0
drwxr-xr-x. 2 hadoop hadoop 6 3月 8 09:56 data
drwxr-xr-x. 2 hadoop hadoop 6 3月 8 09:55 modules
drwxr-xr-x. 2 hadoop hadoop 6 3月 26 2015 rh
drwxr-xr-x. 2 hadoop hadoop 231 3月 8 09:07 softwares
2.7 安装JDK
【操作目的】
Hadoop集群的运行依赖于Java环境,因此在安装Hadoop之前需要安装好JDK。
【操作步骤】
JDK的安装步骤如下:
1.卸载系统自带的JDK
执行以下命令,查询系统已安装的Java:
[hadoop@localhost ~]$ rpm -qa|grep java
java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
javapackages-tools-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
tzdata-java-2016g-2.el7.noarch
python-javapackages-3.4.1-11.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
执行以下命令,删除以上查询出的系统自带JDK:
sudo rpm -e --nodeps
java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64 tzdata-java-2016g-2.el7.noarch
python-javapackages-3.4.1-11.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
2.安装JDK
上传安装包jdk-8u101-linux-x64.tar.gz到目录/opt/softwares中,然后进入目录/opt/softwares,解压jdk-8u101-linux-x64.tar.gz到目录/opt/modules中,解压命令如下:
[hadoop@centos01 softwares]$ tar -zxf jdk-8u101-linux-x64.tar.gz -C /opt/modules/
修改文件/etc/profile,配置JDK环境变量:
[hadoop@centos01 softwares]$ sudo vi /etc/profile
在文件末尾加入以下内容:
export JAVA_HOME=/opt/modules/jdk1.8.0_101
export PATH=$JAVA_HOME/bin:$PATH
刷新profile文件,使修改生效。
source /etc/profile
执行java -version命令,查看是否能成功输出JDK版本信息,信息如下:
[hadoop@centos01 softwares]$ java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
到此,JDK安装成功。
2.8 克隆虚拟机
【操作目的】
由于集群环境需要多个节点,当我们一个节点配置完毕后,可以通过VMware的克隆功能,将配置好的节点进行完整克隆,而不需要重新新建虚拟机和安装操作系统。
【操作步骤】
克隆之前,需先关闭操作系统。然后在VMware左侧的虚拟机列表中右键单击centos01虚拟机,选择【管理】/【克隆】,会出现【克隆虚拟机向导】窗口,直接单击【下一步】按钮即可。如下图所示。

在【克隆源】新窗口中,选择【虚拟机中的当前状态】选项,然后单击【下一步】按钮。如下图所示。

在【克隆类型】新窗口中,选择【创建完整克隆】选项,然后单击【下一步】按钮。如下图所示。

在新窗口中,【虚拟机名称】一栏填写为“centos02”,并单击【浏览】按钮,修改新虚拟机的存储位置,然后单击【完成】按钮。如下图所示。



克隆完成后,继续克隆虚拟机centos01,将克隆后的虚拟机名称改为centos03。
到此,centos02与centos03两台虚拟机就搭建完成了。
2.9 配置主机IP映射
【操作目的】
通过修改各节点的主机IP映射,可以方便的通过主机名访问集群中的其它主机。
【操作步骤】
(1)依次启动三台虚拟机,将主机centos02的主机名改为centos02,将主机centos03的主机名改为centos03。
(2)使用ifconfig命令查看三台虚拟机的IP,并将centos02与centos03的IP分别改为固定IP。本例三台主机IP分别为:
192.168.170.133
192.168.170.134
192.168.170.135
(3)在各个节点上分别执行以下命令,修改hosts文件:
sudo vi /etc/hosts
在hosts文件中加入以下内容:
192.168.170.133 centos01
192.168.170.134 centos02
192.168.170.135 centos03
注意:每个节点的hosts文件中都要加入同样的内容,这样可以保证每个节点都可以通过主机名访问到其它节点。
(4)配置完后,使用ping命令检查是否配置成功,如下:
ping centos01
ping centos02
ping centos03
(5)最后,配置一下本地Windows系统的主机IP映射,方便本地通过主机名直接访问虚拟机。进入Windows操作系统的目录C:\Windows\System32\drivers\etc编辑hosts文件,加入以下内容:
192.168.170.133 centos01
192.168.170.134 centos02
192.168.170.135 centos03
原创文章,转载请注明出处!!
第2章 CentOS7集群环境配置的更多相关文章
- CentOS7集群环境Elastic配置
CentOS7集群环境Elastic配置 (首先去官网下载elasticsearch的source code并解压到/usr/soft目录下) (以下默认root账户) 1.更改配置文件 文件路径:/ ...
- EHCache分布式缓存集群环境配置
EHCache分布式缓存集群环境配置 ehcache提供三种网络连接策略来实现集群,rmi,jgroup还有jms.同时ehcache可以可以实现多播的方式实现集群,也可以手动指定集群主机序列实现集群 ...
- Hive在集群环境配置
本文转载自:https://blog.csdn.net/hanjin7278/article/details/53035739 一.简介 hive是基于Hadoop的一个数据仓库工具,可以将结构化的数 ...
- Kafka集群环境配置
Kafka集群环境配置 1 环境准备 1.1 集群规划 Node02 Node03 Node04 zk zk zk kafka kafka kafka 1.2 jar包下载 安装包:kafka_2.1 ...
- RocketMQ的安装配置:配置jdk环境,配置RocketMQ环境,配置集群环境,配置rocketmq-console
RocketMQ的安装配置 演示虚拟机环境:Centos64-1 (D:\linuxMore\centos6_64) root / itcast : 固定IP 192.168.52.128 一,配置J ...
- HBase 学习之路(四)—— HBase集群环境配置
一.集群规划 这里搭建一个3节点的HBase集群,其中三台主机上均为Regin Server.同时为了保证高可用,除了在hadoop001上部署主Master服务外,还在hadoop002上部署备用的 ...
- HBase 系列(四)—— HBase 集群环境配置
一.集群规划 这里搭建一个 3 节点的 HBase 集群,其中三台主机上均为 Regin Server.同时为了保证高可用,除了在 hadoop001 上部署主 Master 服务外,还在 hadoo ...
- SpringBoot系列教程之Redis集群环境配置
之前介绍的几篇redis的博文都是基于单机的redis基础上进行演示说明的,然而在实际的生产环境中,使用redis集群的可能性应该是大于单机版的redis的,那么集群的redis如何操作呢?它的配置和 ...
- redis集群环境配置
为什么需要集群 redis是一个开源的 key->value 高速存储系统,但是由于redis单线程运行,在系统中,只能利用单核的性能 当redis的调用越来越频繁时,可能会出现redis过于繁 ...
随机推荐
- Spring事务管理的注解方式
使用注解实现Spring的声明式事务管理,更加简单! 步骤: 1) 必须引入Aop相关的jar文件 2) bean.xml中指定注解方式实现声明式事务管理以及应用的事务管理器类 3)在需要添加事务控制 ...
- Unity Download Assistant Error: 'SendRequest Error' while downloading ini file from http://files.unity3d.com/bootstrapper/29055738eb78/unity-5.3.6f1-win.ini
Unity 官网的哥们如此说道 I open the exe on Compatibility Mode , it's solved. You can try. :) 翻译就是 我用兼容模式打开,就能 ...
- leetcode85 Maximal Rectangle
思路: 分别按行拆分后将这一行之前的每列叠加起来,然后使用leetcode84https://www.cnblogs.com/wangyiming/p/9620942.html的思路计算. 实现: # ...
- 运用CSS3媒体查询判断iPhoneX、iPhoneXR、iPhoneXS MAX及横竖屏
//iphoneX.iphoneXs @media only screen and (device-width: 375px) and (device-height: 812px) and (-web ...
- MATLAB之画确定区域内不重合的随机圆
MATLAB之画确定区域内不重合的随机圆 程序要求:在确定区域内,画互不重合的圆. 知识点: (1)A=p'; 转置运算 (2)ones(a,b)产生a行b列全1数组 (3)rand(a,b)产生a行 ...
- Cocos2d-x v3.1 安装图文教程(二)
Cocos2d-x v3.1 安装图文教程(二) 如果我们需要在Android平台上运行就必须安装android的SDK,如果我们只想在window上运行就只需要安装Cocos2d-x就行了.当 ...
- MySQL-数据类型及选择
一.数据类型 详见:http://www.runoob.com/mysql/mysql-data-types.html 二.类型选择 整形>date,time>enum,char>v ...
- 关于第三方dll,ocx开发的思考
A问题: 最近有个工作,要集成一套老的指纹考勤机器到现在考勤系统(web系统)中,问题出现时老的机器只有ocx可用,没有可用的dll:原本以为简单的第三方调用就ok了,可是ocx不能被承载,在实现上费 ...
- iBrand 教程:Xshell 软件安装过程截图及配置
下载 教程中使用的相关软件下载网盘: https://pan.baidu.com/s/1bqVD5MJ 密码:4lku 安装 请右键以管理员身份运行进行软件安装,安装过程如下: 配置 安装完成并运行软 ...
- hihocoder 1093 SPFA算法
题目链接:http://hihocoder.com/problemset/problem/1093 , 最短路的SPFA算法. 由于点的限制(10w),只能用邻接表.今天也学了一种邻接表的写法,感觉挺 ...