centos7.3+hdfs3.1.3版本集群搭建(一) 基础环境准备

148 阅读1分钟

​ 本文已参与「新人创作礼」活动,一起开启掘金创作之路。  

一、准备内容

1.jar包

      jdk1.8

     hadoop3.1.3

2.三台虚拟机,内存均为4G,

二、配置步骤

1.三台机器配置机器固定ip

  • 方式1:修改vi /etc/sysconfig/network-scripts/ifcfg-ens32文件
TYPE=Ethernet
BOOTPROTO=static
NAME=ens32
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.200.111
GATEWAY=192.168.200.2
NETMASK=255.255.255.0
DNS1=192.168.200.2

  • 方式2:进入虚拟机(本人使用root用户),点击应用程序-系统设置-网络-有线-右下角齿轮标签-ipv4,修改完成后需要将 /etc/sysconfig/network-scripts/ifcfg-ens32文件中的onboot改未yes

2.配置环境变量

  • 将jdk和hadoop的压缩包上传到三台虚拟机上
  • 将jdk压缩包解压到/opt/jdk文件夹下 Hadoop解压到/opt/hadoop目录下
#java environment
export JAVA_HOME=/opt/jdk
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin

#hadoop environment
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

  • 修改完成后,执行 source /etc/profile 使文件生效
  • 分别执行java -version 和 Hadoop classpath 确认是否配置成功
  • 注:安装jdk前需要先卸载系统自带的jdk

3.关闭防火墙(centos6和centos7命令不同)

  • systemctl stop firewalld #关闭防火墙
  • systemctl disable firewalld #关闭防火墙开机自启
  • 注:不关闭防火墙会影响节点之间的通信,并且无法页面

4.配置ssh免密登录

  • 修改/etc/hostname文件,设置主机名,本人分别将三个节点命名未:master、node1、node2
  • 修改 /etc/hosts 文件,删除原有内容添加节点的IP 节点名 例子如下
192.168.200.111 master
192.168.200.112 node1
192.168.200.113 node2

  • ssh-keygen -t rsa #生成密钥
  • cd /root/.ssh/
  • cat id_rsa.pub>>authorized_keys #将密钥写入authorized_keys,该操作在master上执行
  • scp - r authorized_keys node1: /root/.ssh/ #将 authorized_keys传递到node1节点上,该操作在master上执行
  • cat id_rsa.pub>>authorized_keys  # 在node1 /root/.ssh/路径上执行
  • scp - r authorized_keys node2: /root/.ssh/ # 在node1 /root/.ssh/路径上执行
  • cat id_rsa.pub>>authorized_keys  # 在node2 /root/.ssh/路径上执行
  • scp - r authorized_keys node1: /root/.ssh/  # 在node2 /root/.ssh/路径上执行
  • scp - r authorized_keys master: /root/.ssh/  # 在node2 /root/.ssh/路径上执行
  • 注:该部分操作时为了让authorized_keys 内能记录所有的节点的id,最后将保存了所有节点id的文件发送给到所有节点上