详解搭建ubuntu版hadoop集群

发布时间 - 2026-01-11 00:33:12    点击率:

用到的工具:VMware、hadoop-2.7.2.tar、jdk-8u65-linux-x64.tar、ubuntu-16.04-desktop-amd64.iso

1、  在VMware上安装ubuntu-16.04-desktop-amd64.iso

单击“创建虚拟机”è选择“典型(推荐安装)”è单击“下一步”

è点击完成

 

修改/etc/hostname

vim hostname

保存退出

 

修改etc/hosts

127.0.0.1  localhost
192.168.1.100  s100
192.168.1.101  s101
192.168.1.102  s102
192.168.1.103  s103
192.168.1.104  s104
192.168.1.105  s105

配置NAT网络

查看window10下的ip地址及网关

配置/etc/network/interfaces

#interfaces(5) file used by ifup(8) and ifdown(8)
#The loopback network interface
auto lo
iface lo inet loopback

#iface eth0 inet static
iface eth0 inet static
address 192.168.1.105
netmask 255.255.255.0
gateway 192.168.1.2
dns-nameservers 192.168.1.2
auto eth0

也可以通过图形化界面配置

配置好后执行ping www.baidu.com看网络是不是已经起作用

当网络通了之后,要想客户机宿主机之前进行Ping通,只需要做以下配置

修改宿主机c:\windows\system32\drivers\etc\hosts文件

文件内容

127.0.0.1    localhost
192.168.1.100 s100
192.168.1.101 s101
192.168.1.102 s102
192.168.1.103 s103
192.168.1.104 s104
192.168.1.105 s105

安装ubuntu 163 14.04 源

$>cd /etc/apt/

$>gedit sources.list

切记在配置之前做好备份

deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse

更新

$>apt-get update

在家根目录下新建soft文件夹    mkdir soft

但是建立完成后,该文件属于root用户,修改权限  chown enmoedu:enmoedu soft/

安装共享文件夹

将该文件放到桌面,右键,点击“Extract here”

切换到enmoedu用户的家目录,cd /Desktop/vmware-tools-distrib

执行./vmware-install.pl文件

Enter键执行

 

安装完成

 

拷贝hadoop-2.7.2.tar、jdk-8u65-linux-x64.tar到enmoedu家目录下的/Downloads

$> sudo cp hadoop-2.7.2.tar.gz jdk-8u65-linux-x64.tar.gz ~/Downloads/

分别解压hadoop-2.7.2.tar、jdk-8u65-linux-x64.tar到当前目录

$> tar -zxvf hadoop-2.7.2.tar.gz

$>tar -zxvf jdk-8u65-linux-x64.tar.gz

$>cp -r hadoop-2.7.2 /soft

$>cp -r jdk1.8.0_65/ /soft

建立链接文件

$>ln -s hadoop-2.7.2/ hadoop

$>ln -s jdk1.8.0_65/ jdk

$>ls -ll

配置环境变量

$>vim /etc/environment
JAVA_HOME=/soft/jdk
HADOOP_HOME=/soft/hadoop
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/soft/jdk/bin:/soft/hadoop/bin:/soft/hadoop/sbin"

让环境变量生效

$>source environment

检验安装是否成功

$>java –version

$>hadoop version

 

配置/soft/hadoop/etc/hadoop/  下的配置文件

[core-site.xml]

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://s100/</value>
  </property>
  <property>
     <name>hadoop.tmp.dir</name>
     <value>/home/enmoedu/hadoop</value>
  </property>
</configuration>

[hdfs-site.xml]

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>3</value>
  </property>
  <property>
     <name>dfs.namenode.secondary.http-address</name>
      <value>s104:50090</value>
   <description>
    The secondary namenode http server address and port.
   </description>
</property>
</configuration>

[mapred-site.xml]

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

[yarn-site.xml]

<configuration>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>s100</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
</configuration>

配置ssh无密码登录

安装ssh

$>sudo apt-get install ssh

生成秘钥对

在enmoedu家目录下执行

$>ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

导入公钥数据到授权库中

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

测试localhost成功后,将master节点上的供钥拷贝到授权库中

其中root一样执行即可

$>ssh localhost

从master节点上测试是否成功。

修改slaves文件

[/soft/hadoop/etc/hadoop/slaves]

s101
s102
s103
s105

其余机器,通过克隆,修改hostname和网络配置即可

塔建完成后

格式化hdfs文件系统

$>hadoop namenode –format

启动所有进程

start-all.sh

最终结果:

 

自定义脚本xsync(在集群中分发文件)

[/usr/local/bin]

循环复制文件到所有节点的相同目录下。

[usr/local/bin/xsync]

#!/bin/bash
pcount=$#
if (( pcount<1 ));then
  echo no args;
  exit;
fi
p1=$1;
fname=`basename $p1`
#echo $fname=$fname;

pdir=`cd -P $(dirname $p1) ; pwd`
#echo pdir=$pdir

cuser=`whoami`
for (( host=101;host<106;host=host+1 )); do
  echo ------------s$host----------------
  rsync -rvl $pdir/$fname $cuser@s$host:$pdir
done

测试

xsync hello.txt

自定义脚本xcall(在所有主机上执行相同的命令)

[usr/local/bin]

#!/bin/bash
pcount=$#
if (( pcount<1 ));then
  echo no args;
  exit;
fi
echo -----------localhost----------------
$@
for (( host=101;host<106;host=host+1 )); do
  echo ------------s$host-------------
  ssh s$host $@

done

测试 xcall rm –rf hello.txt

 

集群搭建完成后,测试次运行以下命令

touch a.txt
gedit a.txt
hadoop fs -mkdir -p /user/enmoedu/data
hadoop fs -put a.txt /user/enmoedu/data
hadoop fs -lsr /

也可以进入浏览器查看

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# ubuntu搭建hadoop集群  # ubuntu  # hadoop集群  # 手把手教你在腾讯云上搭建hadoop3.x伪集群的方法  # 基于 ZooKeeper 搭建 Hadoop 高可用集群 的教程图解  # Hadoop分布式集群的搭建的方法步骤  # ubuntu docker搭建Hadoop集群环境的方法  # docker 搭建hadoop以及hbase集群详解  # 详解从 0 开始使用 Docker 快速搭建 Hadoop 集群环境  # 详解使用docker搭建hadoop分布式集群  # Hadoop3.2.0集群搭建常见注意事项  # 自定义  # 完成后  # 中分  # 目录下  # 单击  # 库中  # 只需  # 右键  # 可以通过  # 要想  # 要做  # 将该  # 该文件  # 文件系统  # 好后  # 配置文件  # 大家多多  # 切换到  # 图形化  # 共享文件夹 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  微信小程序 canvas开发实例及注意事项  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  电商网站制作价格怎么算,网上拍卖流程以及规则?  制作旅游网站html,怎样注册旅游网站?  如何在IIS7上新建站点并设置安全权限?  如何快速上传建站程序避免常见错误?  怎么用AI帮你设计一套个性化的手机App图标?  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  详解jQuery中基本的动画方法  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  Laravel如何使用模型观察者?(Observer代码示例)  如何正确选择百度移动适配建站域名?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  如何在Windows服务器上快速搭建网站?  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  如何快速查询域名建站关键信息?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  C#如何调用原生C++ COM对象详解  如何快速查询网站的真实建站时间?  如何在搬瓦工VPS快速搭建网站?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  如何在服务器上配置二级域名建站?  Laravel如何使用Blade组件和插槽?(Component代码示例)  php 三元运算符实例详细介绍  jQuery 常见小例汇总  java获取注册ip实例  如何挑选最适合建站的高性能VPS主机?  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  Android 常见的图片加载框架详细介绍  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  微信小程序 require机制详解及实例代码  Laravel如何实现数据库事务?(DB Facade示例)  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  javascript中的try catch异常捕获机制用法分析  如何在阿里云ECS服务器部署织梦CMS网站?  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  Laravel如何配置Horizon来管理队列?(安装和使用)  如何快速搭建高效香港服务器网站?  iOS验证手机号的正则表达式  Laravel如何使用Gate和Policy进行授权?(权限控制)  香港服务器WordPress建站指南:SEO优化与高效部署策略  EditPlus 正则表达式 实战(3)  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】