Mac上使用虚拟机搭建Hadoop集群
一. mini安装一台centos到虚拟机上
安装过程参考这篇博客http://www.linuxdown.net/install/setup/2015/0906/4053.html
二. 修改网络配置文件
看百度网址是否能ping通,如果可以,使用命令ifconfig查询当前的ip地址
/etc/sysconfig/network-scripts/ifcfg-eth0 进入这个配置文件进行修改,修改后重启网卡
DEVICE=eth0 HWADDR=00:0C:29:CC:88:95 TYPE=Ethernet UUID=bf2fbf08-d925-4b3e-9bec-2327c3385f09
#将网卡设置为开机启动
ONBOOT=yes NM_CONTROLLED=yes #改成none,使用静态ip BOOTPROTO=none PREFIX=24 #此处的网关地址由上一步通过ifconfig查出来的ip进行配置,
#比如查出来的ip是192.168.80.80,那么此处网关就配置为 192.168.80.2 DNS1=192.168.199.2 DNS2=114.114.114.114 DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="System eth0" LAST_CONNECT=1514653019 USERCTL=no #此处填入过ifconfig查出来的ip IPADDR=192.168.199.131 NETMASK=255.255.255.0 #跟DNS1一样 GATEWAY=192.168.199.2
3. 修改主机名
```
vi /etc/sysconfig/network
HOSTNAME=localhost.localdomain 修改为:
HOSTNAME=自己的主机名
```
关闭防火墙并关闭自启动
关闭防火墙。 1、查看防火墙的状态: service iptables status 2、关闭防火墙: service iptables stop 3、再次查看状态: service iptables status 系统提示:iptables:Firewall is not running. 表示停止成功。 4、最后,关闭防火墙开机自启: chkconfig iptables off 检查是否关闭成功: chkconfig --list iptables 全部为off表示关闭成功。
关闭开机等待时间
vi /boot/grub/menu.lst 将timeout=5,修改即可
拍快照及克隆3份出来当做节点
三. 修改每一台节点上的配置
修改主机名称
vi /etc/sysconfig/network
克隆后网卡冲突解决
vi /etc/udev/rules.d/70-persistent-net.rules
注释掉第一网卡驱动红色标注地方
修改第二个网卡驱动name=“eth0”
记住第二个ATTR{address}=="00:0c:29:95:4a:d3",这个网卡地址后续要用
# PCI device 0x1022:0x2000 (pcnet32) #SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:ac:0c:#39", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:95:4a:d3", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"修改$ vi /etc/sysconfig/network-scripts/ifcfg-eth0
HWADDR 的值修改成上一步中的网卡地址:00:0c:29:95:4a:d3DEVICE=eth0
HWADDR=00:0C:29:95:4A:D3 #修改
TYPE=Ethernet
UUID=ad391919-c736-4d3d-b24d-1d78427e7c6e
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp #动态获取ip,给2.6那一步使用
IPADDR=192.168.8.111 #增加一行
GATEWAY=192.168.8.2 #增加一行
重启机器
reboot
再次修改$ vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:95:4A:D3
TYPE=Ethernet
UUID=ad391919-c736-4d3d-b24d-1d78427e7c6e
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none #修改
IPADDR=192.168.199.132 #填入虚拟机分配的ip,通过ifconfig查询
GATEWAY=192.168.199.2 #根据上一步ip得到的网关
DNS1=192.168.199.2#跟网关一样
DNS2=114.114.114.114
```
在SecureCRT设置免密登陆服务器
这个界面,红处取消打勾
在这个界面,增加4处
四. hadoop00配置hosts文件
vi /etc/hosts
如图所示:
五. 配置服务器ssh免密登陆节点服务器
centos默认已经安装了ssh服务端,4台机都需要安装ssh客户端yum -y install openssh-clients
在每台机器都生成秘钥ssh-keygen
将hadoop00的公钥加到其他3台机的authorized_keys文件中
进入hadoop00的.ssh目录,输入ssh-copy-id 主机名@域名 就可以自动将hadoop00的公钥添加到该主机名的免验证文件中
六. 安装jdk和hadoop
- 在hadoop00上解压安装jdk,并配置环境变量
2. 在hadoop00上解压安装hadoop,并配置环境变量
七. 配置hadoop
hadoop-env.sh
这个文件需要配置JAVA_HOMEexport JAVA_HOME=/usr/local/jdk1.7.0_79
2. hdfs-site.xml
```
<configuration>
#副本系数,伪分布式使用的1个DataNode,因此这里填1
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
```
core-site.xml
<configuration>
#配置nameservice地址,默认端口是8020
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:8020</value>
</property> #这里配置的是hdfs数据库所在的临时目录,如果这里没有配置,那么默认路径是系统的临时>目录,电脑开机后,会自动格式化
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/apps/hadoop-2.6.0/tmp</value>
</property>
</configuration>
mapred-site.xml
<configuration>
#表示MapReduce使用yarn来进行计算
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property> #设置jobhistory的日志端口
<name>mapreduce.jobhistory.address</name>
<value>hadoop000:10020</value>
</property> #设置jobhistory日志在web上的端口自
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop000:19888</value>
</property> #设置jobhistory日志的临时存储目录
<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>/mr-history/tmp</value>
</property> #设置jobhistory完成后的日志目录
<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>/mr-history/done</value>
</property> </configuration>
yarn-site.xml
<configuration>
#默认要配
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property> #resourcemanager主机地址配置
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property> </configuration>
八. 配置完后,将hadoop01上的安装软件和配置文件下发到DataNode
复制/usr/local/apps 到 其他 3个节点将其相同的文件夹上
复制/etc/hosts /etc/profile 到3个节点将其相同的文件夹上
九. 进行测试
初始化 hdfs namenode -format
在$HADOOP_HOME/sbin 执行./start-all.sh
在hadoop01输入jps 如果看到NameNode/ResourceManager/SecondNameNode,说明namenode启动成功
在其他3台机输入jps,如果都看到DataNode/NodeManager,说明DataNode启动成功
通过shell命令测试创建/上传/下载等操作,如果成功,说明hadoop机群搭建成功!
Mac上使用虚拟机搭建Hadoop集群的更多相关文章
- virtualbox 虚拟3台虚拟机搭建hadoop集群
用了这么久的hadoop,只会使用streaming接口跑任务,各种调优还不熟练,自定义inputformat , outputformat, partitioner 还不会写,于是干脆从头开始,自己 ...
- 虚拟机搭建Hadoop集群
安装包准备 操作系统:ubuntu-16.04.3-desktop-amd64.iso 软件包:VirtualBox 安装包:hadoop-3.0.0.tar.gz,jdk-8u161-linux-x ...
- win10虚拟机搭建Hadoop集群(已完结)
1 在虚拟机安装 Ubuntu 2 安装网络工具 Ubuntu最小化安装没有 ifconfig命令 sudo apt-get install net-tools 3 Ubuntu修改网卡名字 修改网卡 ...
- 配置ssh免密登录遇到的问题——使用VMware多虚拟机搭建Hadoop集群
搭建环境: 虚拟机 VMware12Pro 操作系统 centos6.8 hadoop 1.2.1 1.导入镜像文件,添加java环境 1.查看当前系统中安装的java,ls ...
- 使用Docker搭建Hadoop集群(伪分布式与完全分布式)
之前用虚拟机搭建Hadoop集群(包括伪分布式和完全分布式:Hadoop之伪分布式安装),但是这样太消耗资源了,自学了Docker也来操练一把,用Docker来构建Hadoop集群,这里搭建的Hado ...
- spark集群搭建(三台虚拟机)——hadoop集群搭建(2)
!!!该系列使用三台虚拟机搭建一个完整的spark集群,集群环境如下: virtualBox5.2.Ubuntu14.04.securecrt7.3.6_x64英文版(连接虚拟机) jdk1.7.0. ...
- 搭建Hadoop集群 (一)
上面讲了如何搭建Hadoop的Standalone和Pseudo-Distributed Mode(搭建单节点Hadoop应用环境), 现在我们来搭建一个Fully-Distributed Mode的 ...
- 使用Windows Azure的VM安装和配置CDH搭建Hadoop集群
本文主要内容是使用Windows Azure的VIRTUAL MACHINES和NETWORKS服务安装CDH (Cloudera Distribution Including Apache Hado ...
- 搭建Hadoop集群 (三)
通过 搭建Hadoop集群 (二), 我们已经可以顺利运行自带的wordcount程序. 下面学习如何创建自己的Java应用, 放到Hadoop集群上运行, 并且可以通过debug来调试. 有多少种D ...
随机推荐
- python数据分析工具包(1)——Numpy(一)
在本科阶段,我们常用的科学计算工具是MATLAB.下面介绍python的一个非常好用而且功能强大的科学计算库--Numpy. a powerful N-dimensional array object ...
- python的面向对象和面向过程
一.面向对象和面向过程的区别: a.面向过程: 1)根据业务逻辑从上到下写代码 2)开发思路是将数据和函数按照执行的逻辑顺序组织在一起 3)分开考虑数据与函数 定义性文字: 面向对象编程(Object ...
- weblogic修改jdk版本遇到的问题与解决方法
1.修改setDomainEnv ,路径.../domains/xx_domain\bin\ 1.1修改JAVA_HOME为需要修改的路径 注意:BEA_JAVA_HOME路径不需修改 2.修改路径后 ...
- 企业Nginx+Keepalived双主架构案例实战
通过上一次课程的学习,我们知道Nginx+keepalived主从配置,始终有一台服务器处于空余状态,那如何更好的利用起来呢,我们需要借助Nginx+keepalived双主架构来实现,如下图通过改装 ...
- laravel框架学习-缓存,事件
缓存配置:app/config/cache.php 缓存: 增加缓存项: Cache::put( 'key', 'value', $Cachetime ); 在缓存中增加一个不存在 ...
- 【学习笔记】Struts2 类型转换
为什么需要类型转换 在基于HTTP协议的Web应用中 客户端请求的所有内容(表单中提交的内容等)都以文本编码的方式传输到服务器端但服务器端的编程语言(如Java)有着丰富的数据类型 如 int boo ...
- 版本工具:truck tag branch区别
truck(主干):项目开发的主体,一直处于活跃阶段 tag(标签):用来标示主干或者分支的某个状态,代表某个项目的稳定状态 branch(分支):从主干中分离出来的代码拷贝,在这里进行重大bug修复
- 软AP的实现------hostapd的编译运行
最近要给摄像头做一个软ap,让手机能够连上这个热点,从而能够与摄像头进行通信. 1.什么是hostapd : hostapd能够使得无线网卡切换为master模式,模拟AP(通常可以认为是路由器)功能 ...
- POJ - 1456 贪心+并查集
做法一:直接贪心,按照利润排序,然后直接尽量给每个活动安排到最晚的时间即可.时间复杂度O(n * d)当d都为10000时,很容易超时.由于这题数据比较水,所有贪心未超时. AC代码 #include ...
- Minikube之Win10单机部署
Kubernetes(k8s)是自动化容器操作的开源平台,基于这个平台,你可以进行容器部署,资源调度和集群扩容等操作.如果你曾经用过Docker部署容器,那么可以将Docker看成Kubernetes ...