Hadoop完全分布式安装

Hadoop完全分布式安装

在此主要介绍hadoop完全分布式的安装配置。

因为我们硬件设施有限,所以我们采用虚拟机的方式模拟hadoop集群,我们准备建立四台虚拟机,一台机器master作为管理节点,其他三台机器slave1、slave2和slave3作为子节点。
整体思路:我有两台电脑pcA(8G内存)和pcB,都是windows x64系统,且两台电脑在同一个局域网内。
首先我们在pcA上建立一台master虚拟机,在master上安装Java环境、hadoop,并进行配置,配置好之后,复制master虚拟机,得到slave1、slave2和slave3,这样就简单地配置好了四台机器,这四台虚拟机就是我们小的hadoop集群。然后用同一局域网中的pcB电脑连接这个集群,当然也可以用pcA电脑连接(pcA电脑安装太多的虚拟机之后比较卡,所以我才使用的另一台电脑进行操作)

1、安装虚拟机VMware并创建新的虚拟机

VMware安装十分简单,双击安装即可,不过多赘述。

安装完成VMware后

  • 1)、点击“创建新的虚拟机”弹出创建向导,选择 自定义(高级), 点击下一步均选择默认。
  • 2)、在弹出的 安装客户机操作系统界面 选择 安装程序光盘映像文件(iso),路径浏览到我们下载好的 ubuntu-14.04-desktop-amd64.iso 文件,点击下一步,输入全名 hadoop,用户名 hadoop, 密码 (自己设定)。
  • 3)、一路默认之后,出现 网络类型选择,在此选择 “使用桥连网络”,因为我们最终需要用局域网中的其它电脑连接hadoop集群,所以此处要用桥接模式。(一般的教程中使用的hostonly,局域网中其它电脑不能连接)
  • 4)、继续一路默认,经过漫长的等待,安装完ubuntu系统。这样一台master虚拟机就安装好了。右键点击下图红框,重命名为master。
    虚拟机
  • 5)、输入密码登陆之后,输入命令 sudo apt-get install vim在线安装vim工具。输入sudo vim /etc/hostname修改主机名,将hostname文件中的ubuntu改为master,重启后生效如下图
    master
2、配置网络IP
  • 1、在ubuntu中输入ifconfig命令,查看IP地址。
    这里写图片描述
    这个ip地址是自动获取的,也可以使用,如果看着不舒服想设置成自己希望的ip,可以设置为固定ip,我设置的固定ip为192.168.1.128。
    eth0ip地址
    我的pcA的ip地址为192.168.1.185。(自己的笔记本用的无线网)
    ——pcB的ip地址为192.168.1.143。(台式机用的以太网)
    (windows系统中,在命令行界面输入ipconfig可以查看IP)
    这里写图片描述
    这里写图片描述
  • 2、现在可以尝试用同一个局域网中的其它电脑pcA和pcB ping这台master, 然后用master ping pcA和pcB,查看是否可以相互通信。
    举例用master ping pcB 如下图,可以ping通
    ping
3、安装java环境
  • 1、首先修改hosts文件,让ip和主机名master对应起来,输入命令sudo vim /etc/hosts,在hosts文件中添加如下
    这里写图片描述

  • 2、安装ssh,后续连接或者上传文件均需要ssh协议。Ubuntu默认已经安装了SSH client, 所以我们只安装SSH server,输入命令
    sudo apt-get install openssh-server
    安装完ssh,就可以通过ssh协议连接一些辅助的软件了。

  • 3、下载好jdk-8u152-linux-x64.gz,将jdk上传到master,我们使用FlashFXP软件。在pcA上安装该软件,打开如下图
    FTP
    连接成功会有下图,至此两个系统可以相互传送文件。将jdk发送到master的/home/hadoop/目录中。
    这里写图片描述
  • 4、安装jdk, 在/home/hadoop/目录输入命令 ls,查看文件,此目录中有我们刚刚上传的jdk压缩包。
    这里写图片描述
    进入到 /home/hadoop 目录,解压jdk到 /usr/local 目录下,执行命令
    sudo tar –zxf jdk-8u152-linux-x64.gz –C /usr/local
    然后进入/usr/local下,查看,已经解压到该目录
    zxf
    修改文件夹名称sudo mv jdk1.8.0_152 jdk8u152
    mv
    为jdk配置环境变量,执行命令sudo vim /etc/profile,添加Java的路径如下图。
    这里写图片描述
    保存并退出,执行命令sudo source /etc/profile使配置生效。输入命令java -version,如果输出Java版本信息则说明安装正确。
    这里写图片描述
4、hadoop安装配置

安装过程和jdk类似,简单叙述。

  • 1、在windows电脑pcA上下载hadoop-2.7.4.tar.gz,利用FlashFTP上传到master的 /home/hadoop 目录下。
  • 2、解压到 /usr/local,执行命令
    sudo tar -zxf /usr/local/hadoop-2.7.4.tar.gz -C /usr/local
  • 3、进入 /usr/local 目录,修改解压后的文件夹名称,执行命令
    sudo mv hadoop-2.7.4 hadoop
  • 4、修改hadoop文件所有者为hadoop用户,执行命令
    sudo chown -R hadoop:hadoop hadoop
  • 5、配置hadoop的环境变量,执行命令
    sudo vim /etc/profile
    在Java环境变量后面,添加
    export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
    保存并退出,执行命令使配置生效
    source /etc/profile
    执行命令,查看hadoop是否正确安装,输出版本号则表示安装正确
    hadoop version
  • 6、hadoop配置,在/usr/local/hadoop/etc/hadoop中是hadoop的主要的配置文件
    配置core-site.xml, 执行命令 vim core-site.xml,在文件的中间添加
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000<value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/hadoop_tmp<value>
</property>

这里写图片描述

配置hadoop-env.sh, 执行命令 vim hadoop-env.sh,在文件中修改JAVA_HOME
export JAVA_HOME=/usr/local/jdk8u152
这里写图片描述

配置slaves, 执行命令 vim slaves,在文件中添加子节点名slave1、slave2和slave3,使master可以识别子节点
这里写图片描述

  • 7、至此,我们已经配置好了一台虚拟机master,关闭master,右键点击此虚拟机—>管理—->克隆,在克隆虚拟机向导中设置虚拟机名称为子节点名称,复制出三台分别为slave1、slave2和slave3
    这里写图片描述
  • 8、打开四台虚拟机,利用命令ifconfig查看四台虚拟机的ip地址,我的四台虚拟机地址分别为
    192.168.1.128 master
    192.168.1.129 slave1
    192.168.1.130 slave2
    192.168.1.131 slave3
    下面,分别配置slave1、slave2和slave3的hostname,因为这几台虚拟机是由master复制得到的,所以他们的hostname文件需要修改为各自的名字。分别执行命令 sudo vim /etc/hostname,分别写入slave1、slave2、slave3。
    然后四台虚拟机分别修改hosts文件,执行命令 sudo vim /etc/hosts,写入ip地址和主机名,如下图
    这里写图片描述
  • 9、配置ssh免密码登陆
    因为master要经常和其它机器进行ssh连接,每次输入密码不方便,因此我们设置免密码登陆,原理比较简单,先在master上生成私钥和公钥,把公钥拷贝到其它机器上,再进行连接时,其它机器就可以直接识别master,不需要密码。
    下图为使用我新建的master ssh连接另外一台机器,需要输入密码
    这里写图片描述
    现在我们开始配置,首先在master中输入命令ssh-keygen -t rsa
    这里写图片描述
    将生成的公钥发送给三个子节点,输入命令ssh-copy-id hadoop@192.168.1.129,(换成你自己的从机ip,三台都要发送),在此举例发送给192.168.1.129这台从机。
    这里写图片描述
  • 10、到此,集群配置完毕,我们可以使用局域网中的任意一台电脑连接这个hadoop集群,进行相关配置和操作,我就使用我的台式机pcB(ip: 192.168.1.143)进行连接,和后续的编程工作(不用pcA的原因是,那台电脑上配置四台虚拟机后太卡了)。首先,我们需要在pcB上安装FlashFXP(用于和hadoop集群相互传送文件),还需要安装Xshell软件,用于连接hadoop集群。
    启动pcA上的四台虚拟机(master、slave1、slave2和slave3)
    这里写图片描述

打开Xshell连接四台虚拟机。举例连接master配置如下图
这里写图片描述
这里写图片描述

点击确定,进行连接,同理,连接其它三台机器。xshell有窗口瓷砖排列功能,结果如下图
这里写图片描述

  • 11、启动hadoop集群,在master中输入命令start-dfs.shstop-dfs.sh可以启动和关闭整个集群。hadoop-daemon.sh start namenodehadoop-daemon.sh stop namenode可以启动和关闭单个节点(启动时master是namenode , slave 是 datanode)。输入jps命令,查看是否启动。如下图
    这里写图片描述

  • 12、通过浏览器查看
    输入网址 http://192.168.1.128:50070/
    这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值