虚拟机配置及Hadoop

虚拟机配置及Hadoop

1.1 安装CentOS系统

注:本文使用VMware进行配置,系统为CentOS7

1.2 网络连接介绍

  1. 桥接模式:虚拟机和物理机连的是同一个网络,虚拟机和物理机是并列关系,地位是相当的。无论是虚拟系统还是真实系统,只要在同一个网段下,相互之间就能ping通。
  2. NAT模式:物理机会充当一个“路由器”的角色,虚拟机要想上网,必须经过物理机,那物理机如果不能上网,虚拟机也就不能上网了。不需要进行任何其他的配置,只需要物理机能访问互联网即可。虚拟系统只能和设置虚拟机的主机之间双向访问,无法访问同一网段下其他真实主机。
  3. 仅主机模式:相当于拿一根网线直连了物理机和虚拟机。所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开。

1.3 虚拟机网络配置

  1. 在VMware中打开虚拟网络编辑器,选择VMnet(NAT)模式,点击NAT设置,配置网关地址(可选择默认配置)。

  2. 打开控制面板,网络中心,更改适配器,打开VMnet8的属性,配置TCP/IPv4属性。

  3. 网关地址与VMWare一致,不要配置已被占用的ip地址。

  4. 登录CentOS系统,进入etc/sysconfig/network-scripts中,编辑NAT网卡配置文件。

    vi ifcfg-ens33
    
  5. 配置以下变量

    BOOTPROTO=static            #关闭DHCP,可以不做,不影响
    ONBOOT = yes 		        #开机启动
    IPADDR = 192.168.91.10      #该虚拟机的ip地址
    GATEWAY=192.168.91.2        #网关地址 
    DNS1 = 192.168.91.2         #DNS可根据自己网络进行配置
    

1.4 重启网卡,网络配置生效

   service network restart
或  
   systemctl restart network

1.5 网络验证

CentOS下查看ip地址:

ip a

Windows下查看ip地址(运行cmd):

ipconfig

若以下操作正确,网络配置成功

  • 虚拟机 ping 网关
  • 虚拟机 ping 物理主机 (若ping不同物理主机,查看1.3中第5步看文件有没有配置错)
  • 物理主机 ping 虚拟机
  • 虚拟机 ping 百度(若ping不通外网地址,可在上步骤的网络配置文件中,修改其他DNS1地址)

1.6 关闭CentOS防火墙

分布式集群中,各个节点之间的通信会受到防火墙的阻碍,因此关闭防火墙(安全问题由专业软件在外围实现防火墙功能,统一管理)

关闭防火墙

systemctl stop firewalld.service 

禁止防火墙开机启动

systemctl disable firewalld.service 

查看放火墙状态

Systemctl status firewalld


active:loaded(dead) 关闭状态

若出现网络问题,查看网络配置文件是否错误

vi /etc/sysconfig/network-scripts/ifcfg-ens33

1.7 安装XShell、XFtp

  • XShell与XFtp为付费软件,可在英文官方网站下载免费教育版(中文官网无此版本)

  • 安装成功后,新建连接,输入要连接的虚拟机master ip地址,输入用户名、密码进行连接

  • 登陆成功后,使用XShell代替虚拟机界面进行Shell操作

2. 基础环境配置

2.1 切换用户至root用户 (安装系统时创建了新用户)

su root

2.2 配置时钟同步

在线安装ntpdate,使用阿里云ntp服务器同步时间,date命令查看当前时间

yum install ntpdate 

ntpdate ntp.aliyun.com

查看时间

date 

若无法连接外网,可离线安装ntpdate ,ntpdate下载地址: https://pkgs.org/

rpm -ivh 'ntpdate包的路径' 

ntpdate ntp.aliyun.com

查看时间

date

2.3 配置主机名

在网络中能够唯一标识主机,和ip地址一样,可通过ip地址和网络主机名访问这台主机,作用:简化、方便。

修改主机名:

hostnamectl set-hostname master

查看修改后的主机名:

hostname

2.4 配置hosts列表

hosts列表作用是让集群中的每台服务器彼此都知道对方的主机名和ip地址

vi /etc/hosts

添加主机ip和主机名

192.168.91.10 master

验证,ping ip地址和主机名,结果相同无区别

ping 192.168.91.10
ping master

2.5 安装Java环境(本篇安装Java版本为Java1.8.0_161)

创建个人资料目录,java目录

mkdir /usr/elk
mkdir /usr/java
mkdir /usr/hadoop

j

使用XFtp复制java安装包至elk目录下,解压,移动至java目录下

tar -zxvf jdk-8u161-linux-x64.tar.gz
mv jdk1.8.0_161 /usr/java/jdk1.8.0_161

进入系统配置文件

vi /etc/profile

文件最后面添加以下两行

export JAVA_HOME=/usr/java/jdk1.8.0_161
export PATH=$JAVA_HOME/bin:$PATH

使配置生效(切记)

source /etc/profile
java -version

在这里插入图片描述
图为成功状态

2.6 安装Hadoop环境(本篇所安装Hadoop版本为Hadoop2-10-0)

使用XFtp上传hadoop安装包至yoseng文件夹下,解压Hadoop安装包,并移动至新的文件夹中

tar -zxvf hadoop-2.10.0.tar.gz 
mv hadoop-2.10.0  /usr/hadoop/hadoop-2.10.0

配置Hadoop环境变量

vi /etc/profile

在配置文件最后添加以下两行

export HADOOP_HOME=/usr/hadoop/hadoop-2.10.0
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

使hadoop配置生效,并进行验证

source /etc/profile
hadoop version whereis hdfs 

在这里插入图片描述
图为成功状态

无错误信息表示hadoop已成功加入到CentOS系统环境中

2.7 将hadoop与java绑定(切记)

设置hadoop配置文件

cd /usr/hadoop/hadoop-2.10.0/etc/hadoop
vi hadoop-env.sh

找到下面这行代码:

export JAVA_HOME=${JAVA_HOME}

将这行代码修改为

export JAVA_HOME=/usr/java/jdk1.8.0_161

3. 配置Hadoop

3.1 Hadoop核心文件配置

进入hadoop的etc文件夹,配置core-site.xml文件,新增以下内容

<configuration>
    <!--指定文件系统的入口地址,可以为主机名或ip -->
    <!--端口号默认为8020 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:8020</value>
    </property>
    <!--指定hadoop的临时工作存目录-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/hadoop/tmp</value>
    </property>
</configuration>

配置yarn-env.sh文件,找到该行:

export JAVA_HOME=/home/y/libexec/jdk1.6.0/

修改为:

export JAVA_HOME=/usr/java/jdk1.8.0_161

配置hdfs-site.xml文件,新增以下内容:

<configuration>
    <!--指定hdfs备份数量,小于等于从节点数目-->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
		
  <!--  自定义hdfs中namenode的存储位置-->
  <!--  <property>-->
  <!--      <name>dfs.namenode.name.dir</name>-->
  <!--      <value>file:/usr/hadoop/dfs/name</value>-->
  <!--  </property>-->
  <!--  自定义hdfs中datanode的存储位置-->
  <!--  <property>-->
  <!--      <name>dfs.datanode.data.dir</name>-->
  <!--      <value>file:/usr/hadoop/dfs/data</value>-->
  <!--</property>-->
</configuration>

配置mapred-site.xml文件,通过cp命令生成不带后缀 template 的文件

cp mapred-site.xml.template mapred-site.xml

编辑mapred-site.xml文件,新增以下内容:

<configuration>
    <!--hadoop的MapReduce程序运行在YARN上-->
    <!--默认值为local-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

配置yarn-site.xml文件

<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>     
    <!--nomenodeManager获取数据的方式是shuffle-->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>  
</configuration>

修改slaves文件,删除原有内容,新增即将要建立的三个虚拟机的hostname

slave1
slave2
slave3

3.2 克隆多台slave机

使用master镜像克隆3台虚拟机(创建完整克隆),名称分别为slave1、slave2、slave3,根据电脑配置情况可以自由设置数量,以下步骤与上方执行过程相同。

  • 修改每个slave的主机名,方法同2.3
  • 进入etc/sysconfig/network-scripts中,修改每台slave机的ip地址 ,方法同1.3
  • 修改master和每个slave机的hosts文件,方法同2.4,将以下代码更新到etc/hosts文件中
  192.168.253.5 master
  192.168.253.6 slave1
  192.168.253.7 slave2
  192.168.253.8 slave3

3.3 可选—同步hadoop配置(仅当master与slave配置不同时使用)

将master机上的hadoop文件夹发送给三台slave机

scp -r /usr/hadoop slave1:/usr/hadoop 
scp -r /usr/hadoop slave2:/usr/hadoop 
scp -r /usr/hadoop slave3:/usr/hadoop

4. 配置SSH登录

4.1 生成公钥私钥

在master和每台slave上,使用rsa算法产生公钥和私钥(安装过程中,使用“Enter”键确定)

ssh-keygen -t rsa

查看生成的私钥id_rsa和公钥id_rsa.pub

cd /root/.ssh/
ls

4.2 发送公钥

在master上创建一个大家通用的公钥authorized_keys,修改authorized_keys权限,并将这个公钥发送给每个slave

cat id_rsa.pub >> authorized_keys
chmod 644 authorized_keys
systemctl restart sshd.service
scp /root/.ssh/authorized_keys slave1:/root/.ssh
scp /root/.ssh/authorized_keys slave2:/root/.ssh
scp /root/.ssh/authorized_keys slave3:/root/.ssh

4.3 验证SSH

ssh登录检验,不需要密码即可登录路径从’~/.ssh ‘变成’~’,登出为exit

ssh master
ssh slave1
exit
ssh slave2
exit
ssh slave3
exit

注:只实现了master到slave单向免登陆!!!

5. 准备运行hadoop

5.1 格式化HDFS

在master机上,进入hadoop下的bin文件夹,运行以下代码:

hdfs namenode -format

注意:只需格式化一次!多次格式化会导致NameNode和DataNode的集群ID值不匹配,需要在格式化前删除NameNode,DataNode、日志等文件夹。

5.2 启动hadoop

进入hadoop中的sbin文件夹下,运行:

start-dfs.sh
start-yarn.sh

5.3 查看hadoop进程

jps

5.4 通过web端访问hadoop

查看NameNode、DataNode:
http://192.168.91.10:50070
查看SecondaryNameNode信息:
http://192.168.91.10:50090
查看YARN界面:
http://192.168.91.10:8088

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值