本地机环境

准备安装包

  • JDK-1.8以上的版本, 需上传至虚拟机节点

虚拟机工具

  • VMware – 用于在本地机上安装虚拟机.
  • 虚拟机使用centOS 6.5的镜像.

连接工具

连接工具有很多, 推荐使用XShell, 也可使用其他的, 因人而异.

上传工具

上传工具也有很多, 推荐Xftp和fileZilla.

CentOS虚拟机环境搭建

  我们使用四台节点来搭建集群, 将它们分别命名为node01, node02, node03, node04(命名可任意). 除此之外, 再用一台节点当作客户端节点: client.

  首先, 需要先创建node01节点, 创建过程即在虚拟机中安装CentOS, 不会的可自行Bing, Google. 其余四台节点等通用配置设置完成之后, 用VMware自带的克隆功能克隆后稍加修改即可.

通用配置

静态IP配置

cd /etc/sysconfig/network-scripts/	进入该目录, 找到ifcfg-eth0的文件,用vim打开修改
将ONBOOT=no 改为yes			设置其跟随开机自启动
将BOOTPROTP=dhcp改为static		设置IP的获取由随机改为静态IP

再这之后添加以下内容(*注意 : 添加修改时, 不要加上说明用的中文*):

IPADDR=192.168.75.133		手动设置的静态IP
PREFIX=24
GATEWAY=192.168.75.2		网关ip. 打开VMware的虚拟网络编辑器, 选中nat模式查看nat设置中会有
DNS1=8.8.8.8			设置dns

:wq	保存文件并退出

service network restart		退出后, 重启网络服务

  网络设置好之后, 就可以在本地机中用XShell远程连接虚拟机了. 怎么连接自行bing, 我们的操作通常是在连接工具上执行, 这样会更加方便.

时间同步配置

节点安装ntp命令: yum install ntp -y

上网查找最新的时间服务器ntp1.aliyun.com, 可选择其他家的

同步时间: ntpdate ntp1.aliyun.com

JDK环境配置

  使用上传工具将jdk和hadoop的包传到虚拟机中, 这里笔者将jdk传到/usr/local目录中, 将hadoop传到/opt/software/hadoop目录中, 路径因个人配置而异, 要记得自己存放的位置, 后文会对这些路径进行配置, 到时需修改为与个人配置相关的路径, 后续内容不再重复此点.

进入jdk存放的位置	cd /usr/local
解压安装包	tar -zxf jdk-8u181-linux-x64.tar.gz
给解压出来的文件设置权限	chmod -R 777 jdk1.8.0_181
配置java环境变量	vim /etc/profile
在文件最后插入	
export JAVA_HOME=/usr/local/jdk1.8.0_181
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
让修改的文件生效	source /etc/profile

控制台输入java -version 来查看jdk是否生效.如果提示java版本则表明成功

虚拟机clone && 主机名配置

  vmware中克隆节点
在这里插入图片描述

  克隆三个节点完成以后, 此时克隆的三个节点的主机名, 静态ip地址, 网卡物理地址与第一个一致, 先修改一下它们:

先设置节点网卡
vim /etc/udev/rules.d/70-persistent-net.rules

  打开之后, 会有两个网卡的信息
在这里插入图片描述
  其中, eth0 是克隆的node01节点的信息, 所以这里我们要删除这一行, 然后把eth1改为eth0, 同时复制ATTR(address)中的内容, 即克隆出来的虚拟机网卡的物理地址.

  然后配置ip, 分别在每一个节点上执行

vim /etc/sysconfig/network-script/ifcfg-eth0

将HWADDR修改为刚才复制的内容
再修改IPADDR的IP地址, 只需改最后三位即可, 保证每个节点的IP不同
我设置的IP与节点对应关系为:
192.168.75.133 -- node01
192.168.75.134 -- node02
192.168.75.135 -- node03
192.168.75.136 -- node04
192.168.75.137 -- client

  由于虚拟机是克隆出来的, 节点名称都相同, 需要再修改每个节点的主机名

vim /etc/sysconfig/network
将NETWORKING设置为yes	打开网络
将HOSTNAME分别设为node02, node03, node04,client
这里需要重启后才能生效, 但先别着急, 等全部配置好之后, 再统一重启生效.

各节点地址配置

  为了让节点之间能够互相访问到, 需要让每个节点知晓其他节点的地址, 配置如下:

vim /etc/hosts	每个节点执行该命令, 打开hosts文件进行修改

在五个节点中同时加入下列内容(这些是我自己设置的IP)
192.168.75.133	node01
192.168.75.134	node02
192.168.75.135	node03
192.168.75.136	node04
192.168.75.137	client

免密登录配置

  集群启动时, 需要访问其他节点(client节点除外), 为了实现自动化(不必每次输入密码), 需要在每个节点配置免密.

所有节点执行  
ssh-keygen -t rsa -P \'\' -f ~/.ssh/id_rsa	
生成公钥和私钥, 文件存放在~/.ssh目录下

  每个节点上配置自身以及其他节点的公钥.

ssh-copy-id -i ~/.ssh/id_rsa.pub root@node01
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node02
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node03
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node04

注:所有存储的公钥信息均可在 ~/.ssh/authorized_keys文件中查看

防火墙配置

  要想成功运行, 还需要关闭各个节点的防火墙.
  临时关闭防火墙(每次重启节点都需手动执行)
service iptables stop

  永久关闭(推荐)
chkconfig iptables off

修改生效

  这么配下来, 大部分配置文件需要source或其他命令使其生效, 建议重启虚拟机.

版权声明:本文为skisqibao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/skisqibao/p/10278970.html