1.1 安装环境

操作系统deepin 15.11, VMware Workstation,hadoop 3.1.3 版本。在deepin 操作系统中安装 VMware Workstation,在 VMware Workstation中安装两个deepin系统,采用两个节点作为集群环境,一个作为Master节点,一个作为Slave 节点。

1.2 hadoop的安装准备

在Master节点和Slave节点都需要进行如下准备工作,主要是配置hadoop用户,安装SSH server和安装Java 环境。

  1. 在安装虚拟机系统时,每个系统都创建hadoop用户。
  2. 选择一个节点作为Master, ctrl+alt+t打开终端,通过命令行方式进行安装,更新apt,执行如下命令。
 sudo apt-get update
  1. 安装vim ,用于后续修改配置文件。
 sudo apt-get install vim
  1. 安装SSH并登录主机。
 sudo apt-get install openssh-serverssh localhost
  1. 配置SSH无密码登录,由于hadoop 远程登录只能无密码登录,因此需要配置无密登录。
 退出登录: exitcd ~/.ssh/sh-keygen -t rsacat ./id_rsa.pub >> ./authorized_keys

  1. 安装Java 环境,采用jdk-8u162-linux-x64.tar.gz,在Documents/目录下。
 cd  /usr/libsudo mkdir jvmcd  ~/Documents/sudo tar -zxvf   ./jdk-8u162-linux-x64.tar.gz  -C  /usr/lib/jvm

  1. 配置环境变量,在配置文件开头位置添加如下内容。
    打开配置文件:
 cd  ~vim ~/.bashrc
添加内容:export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH
  1. 查看jdk是否安装成功。
 Java -version

1.3 安装Hadoop
在Master 节点安装hadoop ,并把/usr/local/中的hadoop 文件夹复制到其他Slave节点的/usr/local目录下。

  1. hadoop-3.1.3.tar.gz 在目录~/Documents/下,安装到/usr/local目录下。
 cd  ~/Documents/sudo tar zxf  hadoop3.1.3.tar.gz  -C  /usr/local
  1. 修改文件夹名,并修改文件的权限。
 cd  /usr/local/sudo mv ./hadoop-3.1.3/ ./hadoopsudo chown  -R hadoop  ./hadoop

  1. 查看是否安装成功。
 cd  /usr/local/hadoop./bin/hadoop version

1.4 Hadoop集群配置

  1. 网络配置,配置每个节点的网络,采用桥接来实现节点之间的互联,通过NAT模式连接网络。
    1)通过Edit->Virtual Netwrok Editor,点击Add Network添加一个网络,设置连接方式为桥接。
    2)设置vmnet8中的子网号为192.168.138.0,子网掩码255.255.255.0和网关192.168.138.133,点击NAT Setting即可设置网关。


  1. 配置需要每个节点主机的IP 地址,在子网192.168.138.0下,设置IP地址,Master 节点的IP为:192.168.138.128, Slave节点的IP 为:192.168.138.131。
    1)通过ifconfig来查看网卡的IP地址,如下图所示,ens33即为桥接网卡。

2)节点计算机静态IP 配置,执行如下命令打开配置文件。
Master节点:

sudo vim  /etc/network/interfaces
添加内容:
auto ens33
iface ens33 inet  static
address 192.168.138.128

通过如下命令使设置生效,出现OK字样则成功:

sudo  /etc/init.d/networking restart

Slave节点:
用同样的方法设置,添加的内容为:

auto ens33
iface ens33 inet  static
address 192.168.138.131
  1. 修改主机名,将Master节点的主机名为Master,将Slave节点的主机名改为Slave,分别在两个节点中执行如下命令。
    sudo vim /etc/hostname
  2. 在Master节点和Slave节点修改自己节点的IP 映射,添加如下相同内容。
    执行如下命令,注释掉文件中除127.0.0.1 localhost 的其他的IP 地址映射。
 sudo  vim /etc/hosts添加IP映射:192.168.138.128     Master192.168.138.131        Slave
  1. 重启每个节点,完成主机名更新。
  2. 测试每个节点是否能Ping 通,通过如下命令测试。
 ping   Master  -c   3ping   Slave    -c  3


  1. SSH无密吗登录节点,配置Master 节点可以远程登录其他Slave节点。由于修改过主机名,所以需要删除原来的SSH 公钥。在Master节点执行如下命令生成公钥。
 cd     ~/.sshrm   ./id_rsa*ssh-keygen   -t   rsa
  1. 让Master 节点能无密登录SSH 本机,在Master节点执行如下命令.
 cat   ./id_rsa.pub   >>   ./authorized_keys
  1. 通过远程拷贝文件,将主机Master ssh公钥传输到Slave 节点。
 scp    ~/.ssh/id_rsa.pub   hadoop@Slave:/home/hadoop/

  1. 在Slave 节点将 ssh 公钥加入授权,执行如下命令,需要删除原先SSH公钥。
 mkdir    ~/.sshcat     ~/id_rsa.pub   >>   ~/.ssh/authorized_keysrm   ~/id_rsa.pub


11. 在Master 节点上测试远程登录Slave 节点,可以看到主机名改变为Slave。

 ssh   Slave


12. 在Master节点配置hadoop 的PATH 变量,则可以直接使用hadoop,hdfs 相关命令而不需要转到相关目录。
打开配置文件:

 vim  ~/.bashrc添加内容:export   PATH=$PATH:/usr/local/hadoop/bin:/usr/loacl/hadoop/sbin使配置生效:source  ~/.bashrc
  1. 在Master节点修改配置目录/usr/local/hadoop/etc/hadoop目录下的5个配置文件。
  1. workers 文件
    Master作为NameNode,Slave作为 DataNode。将DataNode的主机名写入workers 文件,删除localhost。添加如下内容。
 Slave
  1. core-site.xml
    修改标签中的内容如下。
 <configuration><property><name>fs.defaultFS</name><value>hdfs://Master:9000</value></property><property><name>hadoop.tmp.dir</name><value>file:/usr/local/hadoop/tmp</value><description>Abase for other temporary directories.</description></property></configuration>
  1. hdfs-site.xml
    修改标签中的内容如下。
 <configuration><property><name>dfs.namenode.secondary.http-address</name><value>Master:50090</value></property><property><name>dfs.replication</name><value>1</value></property><property><name>dfs.namenode.name.dir</name><value>file:/usr/local/hadoop/tmp/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/local/hadoop/tmp/dfs/data</value></property></configuration>
  1. mapred-site.xml
    修改标签中的内容如下。
 <configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>Master:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>Master:19888</value></property></configuration>
  1. yarn-site.xml
    修改标签中的内容如下。
 <configuration><property><name>yarn.resourcemanager.hostname</name><value>Master</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property></configuration>
  1. 在Master节点通过远程拷贝Master 节点的/usr/loacl/hadoop目录到其他Slave 节点。首先先删除之前的临时文件和日志。
 cd    /usr/localsudo  rm  -r  ./hadoop/tmpsudo  rm  -r   ./hadoop/logs/*tar   -zcf   ~/hadoop.master.tar.gz    ./hadoopcd  ~scp   ./hadoop.master.tar.gz    Slave:/home/hadoop
  1. 在Slave 节点解压文件。
 sudo    rm   -r    /usr/local/hadoopsudo tar  -zxf   ~/hadoop.master.tar.gz   -C    /usr/localsudo  chown  -R   hadoop   /usr/local/hadoop
  1. 在Master 节点执行 NameNode 的格式化。
 hdfs   namenode    -format


17. 在Master 节点上启动hadoop 集群,执行如下命令。

 start-dfs.shstart-yarn.shmr-jobhistory-daemon.sh  start historyserver


18. 通过jps 查看集群的节点启动的进程信息,分别在Master 和 Slave 节点执行jps。
Master 节点:

Slave 节点:

  1. 在Master节点查看集群的DataNode 是否正常启动。
 hdfs  dfsadmin    -report


通过网页查看Slave 节点的相关信息:

  1. 关闭hadoop集群。
 stop-yarn.shstop-dfs.shmr-jobhistory-daemon.sh stop historyserver或者通过如下命令关闭集群。stop-all.sh

1.5 总结

问题1:

  • Master 节点NameNode 没有启 动,DataNode节点却启动了;
  • 执行hdfs dfsadmin -report命令出现如下信息:
    report:Call From Master/192.168.138.128 to Master:9000 failed on connection exception: java.net.ConnectException:拒绝连接;For more details see :http://wiki.apache.org/hadoop/ConnectionRefused

解决:分析发现,我没有配置slaves文件,在hadoop3.1.3版本中,不存在slaves文件,通过网络查询资料以及和同学交流,我发现slaves文件更改成了workes文件,因此配置workes文件;由于前后操作不当,因此导致了此问题。通过如下方式解决:
关闭集群,删除临时文件和日志,重新执行hdfs namenode -format.

问题2:

  • 当关机重启后,集群无法启动,无法ping 通 ;

解决:分析发现各节点的IP发生了变化,导致 集群无法启动,是由于采用了NAT 进行网络连接,NAT模式在每次重启计算机会动态分配IP 地址;采用桥接来实现各节点的连通,配置静态IP.

参考文献

1.厦门大学数据库实验室,http://dblab.xmu.edu.cn/blog/install-hadoop-cluster/
2.网络配置,https://www.cnblogs.com/guangluwutu/p/9705136.html,
https://www.cnblogs.com/lilongxin/p/9034245.html

Hadoop分布式集群安装配置相关推荐

  1. Ceph分布式集群安装配置

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站:https://www.captainai.net/dongkelun 前言 记录Ceph分布式集群安 ...

  2. Hadoop分布式集群安装在三台Ubuntu系统电脑

    前段时间搭建Hadoop分布式集群,踩了不少坑,网上很多资料都写得不够详细,对于新手来说搭建起来会遇到很多问题.以下是自己根据搭建Hadoop分布式集群的经验希望给新手一些帮助.当然,建议先把HDFS ...

  3. Hbase完全分布式集群安装配置(Hbase1.0.0,Hadoop2.6.0)

    1.安装软件 OS:centos6.5 Hadoop:hadoop2.6.0 Hbase:hbase.1.0.0 JDK: jdk1.7.0_51 集群机器: 192.168.153.130(hado ...

  4. Hadoop分布式集群安装

    环境准备 操作系统使用ubuntu-16.04.2 64位 JDK使用jdk1.8 Hadoop使用Hadoop 2.8版本 镜像下载 操作系统 操作系统使用ubuntu-16.04.2-deskto ...

  5. Hadoop集群安装部署_分布式集群安装_02

    文章目录 一.上传与 解压 1. 上传安装包 2. 解压hadoop安装包 二.修改hadoop相关配置文件 2.1. hadoop-env.sh 2.2. core-site.xml 2.3. hd ...

  6. 一步步教你Hadoop多节点集群安装配置

    一步步教你Hadoop多节点集群安装配置 1.集群部署介绍 1.1 Hadoop简介  Hadoop是Apache软件基金会旗下的一个开源分布式计算平台.以Hadoop分布式文件系统HDFS(Hado ...

  7. Hadoop分布式集群的安装与部署实训总结报告

    目录 前言 一.Hadoop平台框介绍 1.Hadoop的架构 2.HDFS:遵循主从架构,它具有以下元素. 2.1 名称节点 -Namenode 2.2 数据节点 - Datanode 2.3 块 ...

  8. hadoop分布式集群搭建

    hadoop集群搭建前的准备(一定要读):https://blog.51cto.com/14048416/2341450 hadoop分布式集群搭建: 1. 集群规划: 2.具体步骤: (1)上传安装 ...

  9. ZooKeeper伪分布式集群安装及使用

    为什么80%的码农都做不了架构师?>>>    ZooKeeper伪分布式集群安装及使用 让Hadoop跑在云端系列文章,介绍了如何整合虚拟化和Hadoop,让Hadoop集群跑在V ...

最新文章

  1. 小米AIoT开发者大会28日召开,雷军的AIoT和小米的这一年
  2. mysql 游标 ,嵌套游标
  3. Python 笔试集(4):True + True == ?
  4. 晨读打卡(2018.1)
  5. 计算机网络按拓扑结构可分为三种基本型,2012年计算机三级网络技术基本概念与名词解释(3)...
  6. React 的开发成本太高了?
  7. text——Android下的默认字体详解
  8. 围棋人机大战一周年:被AlphaGo改变的世界
  9. 单继承、多继承、菱形继承的虚函数表
  10. 一则“HTTP 405 Method Not Allowed”的解决办法
  11. 群面时被问到“让你淘汰一个组员”一般如何淘汰谁?
  12. 前15天mysql_15天快速学习数据库Mysql基础操作命令
  13. 【数字IC验证快速入门】14、SystemVerilog学习之基本语法1(数组、队列、结构体、枚举、字符串...内含实践练习)
  14. 文件篮的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  15. 华为5g服务器硬件供应商,华为发布5G多模终端芯片和商用终端
  16. myeclipse10过期
  17. 计算机vf中rest是什么意思,vf常用命令(全)
  18. 流媒体服务器+终端(android,ios,web),如何从海康平台上拉流接入RTSP安防网络摄像头/海康大华硬盘录像机网页无插件直播流媒体服务器EasyNVR?...
  19. 安装arm-linux-gnueabihf-gcc -v后出现问题
  20. 详细nginx配置websocket的wss协议

热门文章

  1. [Kaggle] Heart Disease Prediction
  2. LeetCode 391. 完美矩形(set检查顶点+面积检查)
  3. LeetCode 1027. 最长等差数列(DP)
  4. LeetCode 974. 和可被 K 整除的子数组(哈希map)
  5. LeetCode 925. 长按键入(双指针)
  6. LeetCode 231. 2的幂 LeetCode 338. 比特位计数(2进制1的个数)
  7. 数据结构--栈--浏览器前进后退应用
  8. mac node oracle,将Python3.5(Mac OS X El Capitan)连接到Oracle集群(远程)
  9. adhoc包无法安装_iOS 5.1.1 设备不能安装AdHoc问题版本号
  10. 如何将网页保存为图片_网页账号密码该如何保存?