一:Vmware上安装Linux系统

二:配置Vmware NAT网络。(详细说明:vmware三种网络模式 - 简书)。
NAT是网络地址转换,是在宿主机和虚拟机之间增加一个地址转换服务,负责外部和虚拟机之间的通讯转接和IP转换。
部署Hadoop集群,这里选择NAT模式,各个虚拟机通过NAT使用宿主机的IP来访问外网。
我们的要求是集群中的各个虚拟机有固定的IP、可以访问外网,所以进行如下设置:
打开网络接口配置文件。(详细说明:详细的ifcfg-eth0配置详解 - 莫笑 - 博客园)。

vim /etc/sysconfig/network-scripts/ifcfg-eth0

首先把BOOTPROTO="dhcp"改成BOOTPROTO="static"表示静态获取,然后在最后追加比如下面的配置:

IPADDR=192.168.183.10

NETMASK=255.255.255.0

GATEWAY=192.168.183.2

DNS1=114.114.114.114

设置完毕,然后使用命令:

/etc/init.d/network restart 或者 service network restart
用curl www.baidu.com和ping www.baidu.com来测试是否可以上网。

三:hadoop集群环境搭建。
1,为了模仿完全布式环境部署Hadoop,我们克隆两台名为slave1和slave2的虚拟机。
2、 配置网络。配置完成后,输入curl www.baidu.com测试是否可以上网。
修改网卡名称:(mac电脑修改方式)
在slave1和slave2机器上编辑网卡信息。执行sudo vim /etc/udev/rules.d/70-persistent-net.rules命令。因为它们是从master机器克隆来的,所以会保留master的网卡eth0,并且再添加一个网卡eth1。并且eth0的Mac地址和master的地址是一样的,Mac地址不允许相同,所以要删除eth0,只保留eth1网卡,并且要将eth1改名为eth0。将修改后的eth0的mac地址复制下来,修改network-scripts文件中的HWADDR属性。

vim /etc/sysconfig/network-scripts/ifcfg-eth0

修改网络参数:
slave1机器IP改为192.168.183.11
slave2机器IP改为192.168.183.12
3.安装java。
(1) 去下载Oracle版本Java JDK:jdk-8u67-linux-x64.tar.gz

  或本地下载java,jdk-6u45-linux-x64.bin,设置共享文件夹,cd /mnt/hgfs/ ,执行./jdk-6u45-linux-x64.bin
(2) 将jdk-7u67-linux-x64.tar.gz解压到/usr/local/src目录下

   tar -zxvf jdk-8u67-linux-x64.tar.gz -C /usr/local/src

(3) 添加环境变量
设置JDK的环境变量 JAVA_HOME。vim ~/.bashrc,追加

export JAVA_HOME=/usr/local/src/jdk1.6.0_45

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib

修改完毕后,执行 source /etc/profile

(4)安装后再次执行 java –version,可以看见已经安装完成。
(5)执行:

scp -rp jdk 192.168.183.11:/user/loacl/src/
scp -rp jdk 192.168.183.12:/user/loacl/src/

远程复制到另外两台机器上。vim ~/.bashrc配置环境变量(同上)

su -

cd /usr/local/src

chmod +x jdk-6u45-linux-x64.bin
./jdk-6u45-linux-x64.bin
vim ~/.bashrc
追加 export JAVA_HOME=/usr/local/src/jdk1.6.0_45 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib
source ~/.bashrc
执行java验证

4,下载hadoop-1.2安装包,解压。执行mkdir tmp,存放hadoop运行生成的临时文件。cd conf/
(1)配置master.xml

master

(2)配置slave.xml

slave1
slave2

(3) 配置core-site.xml

vim etc/hadoop/core-site.xml。配置如下:

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/src/hadoop-1.2.1/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.183.10:9000</value>
</property>
</configuration>

(4)配置mapred-site.xml

<property>
<name>mapred.job.tracker</name>
<value>http://192.168.183.10:9001</value>
</property>

(5)配置hdfk-site.xml。(配置HDFS里面数据副数)

<property>
<name>dfs.replication</name>
<value>3</value>
</property>

(6)配置hadoop-env.sh。

export JAVA_HOME=/usr/local/src/jdk

5,配置hosts。(指定ip和hostname的映射关系)
vim /etc/hosts
master、slave1、slave2三台机器hosts都配置为:

192.168.183.10 master
192.168.183.11 slave1
192.168.183.12 slave2

6,配置network。(设置hostname)

vim /etc/sysconfig/network

HOSTNAME=master

配置完成之后需要重启才能生效。所以我们临时设置一下:
mater:hostname master
slave1: hostname slave1
slave2: hostname slave2

7,远程拷贝hadoop 1.2.1到slave1和slave2。(由于slave1和slave2此时还没有设置hostname,所以需要用ip进行copy)
cd /usr/local/src/hadoop 1.2.1。

scp -rp hadoop-1.2.1 192.168.183.11:/usr/local/src/
scp -rp hadoop-1.2.1 192.168.183.12:/usr/local/src/

8,进入slave1和slave2用cat命令检查一下各个配置文件。如:cat /core-site.xml。查看完成之后slave1和slave2分别执行hostnames slave1和hostname slave1 slave2

9,关闭防火墙。

/etc/init.d/iptables stop
iptables -L
setenforce 0
getenforce //查看防火墙状态
# 关闭iptables
/etc/init.d/iptables stop
# 永久关闭 chkconfig iptables off
# 检查 chkconfig --list iptables

10,关闭selinux
selinux是Linux一个子安全机制,学习环境可以将它禁用。

vim /etc/sysconfig/selinux
SELINUX=disabled

11,设置SSH无密码登录
Hadoop集群中的各个机器间会相互地通过SSH访问,每次访问都输入密码是不现实的,所以要配置各个机器间的SSH是无密码登录的。
在master上生成公钥

ssh-keygen

一路回车,都设置为默认值,然后再当前用户的Home目录下的.ssh目录中会生成公钥文件(id_rsa.pub)和私钥文件(id_rsa)(cd ~/.ssh/ ls)。把id_rsa.pub复制到authorized_keys。在slave1和slave2上也执行相同的操作。然后把三个机制的公钥内容全部复制到master的authorized_keys中。然后再从master复制到slave1和slave2上。

cd ~/.ssh/
cat id_rsa.pub > authorized_keys
cat authorized_keys
scp -rp authorized_keys slave1:~/.ssh/
scp -rp authorized_keys slave2:~/.ssh/
测试ssh免密配置是否成功。

ssh slave1
exit
ssh slave2
exit

12,配置hadoop环境变量

 HADOOP_HOME="/usr/local/src/hadoop-1.2.1"
export PATH=$HADOOP_HOME/bin:$PATH

13,启动hadoop集群。
进入到hadoop的bin目录下。第一次启动需要先格式化 namenode。启动完成后,用jps命令查看进程,验证HDFS是否可用,并上传一个文件到HDFS。最后不要忘记关闭集群(./stop-all.sh)。

cd bin/        //进入到hadoop的bin目录下
./hadoop namenode -format //第一次需要格式namenode
./start-all.sh //启动hadoop集群
jps //查看master,slave1,slave2机器上的进程
./hadoop fs -ls / //验证HDFS是否可用
./hadoop fs -put /etc/passwd/ //上传文件到HDFS
./hadoop fs -cat /passwd //测试上传文件是否可读

hadoop1.2开发环境搭建的更多相关文章

  1. Hadoop Eclipse开发环境搭建

        This document is from my evernote, when I was still at baidu, I have a complete hadoop developme ...

  2. 大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建

    大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建 大数据应用之Windows平台Hbase客户端Eclipse环境搭建-Java版 作者:张子良 版权所有,转载请注明出处 引子 ...

  3. (转)Hadoop Eclipse开发环境搭建

    来源:http://www.cnblogs.com/justinzhang/p/4261851.html This document is from my evernote, when I was s ...

  4. python开发环境搭建

    虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...

  5. IntelliJ IDEA安装及jsp开发环境搭建

    一.前言 现在.net国内市场不怎么好,公司整个.net组技术转型,就个人来说还是更喜欢.net,毕竟不是什么公司都像微软一样财大气粗开发出VS这样的宇宙级IDE供开发者使用,双击sln即可打开项目, ...

  6. Qt for Android开发环境搭建及测试过程记录

    最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...

  7. node.js之开发环境搭建

    一.安装linux系统 (已安装linux可跳此步骤) 虚拟机推荐选择:VirtualBox 或者 Vmware (专业版永久激活码:5A02H-AU243-TZJ49-GTC7K-3C61N) 我这 ...

  8. TODO:小程序开发环境搭建

    TODO:小程序开发环境搭建 1.第一步当然是要先注册小程序了 2.登录到小程序 a)完善小程序信息,如名称,图标,描述 3.绑定开发者 4.获取AppID,并设置服务器信息 5.下载并安装开发者工具 ...

  9. Eclipse中Python开发环境搭建

    Eclipse中Python开发环境搭建  目 录  1.背景介绍 2.Python安装 3.插件PyDev安装 4.测试Demo演示 一.背景介绍 Eclipse是一款基于Java的可扩展开发平台. ...

随机推荐

  1. 从备份文件bak中识别SQL Server的版本

    SQLServer 的备份文件是以.bak 为后缀的文件,如果想要通过备份文件查看数据库版本,通常的做法就是把数据库还原,但是在还原的过程,如果不是相同的数据库版本,就会导致无法还原: 在数据库中,低 ...

  2. Magento 2 Theme Ultimate Guide - 如何创建Magento 2主题终极指南

    Magento 2 Theme Ultimate Guide - 如何创建Magento 2主题基础指南 在Magento 2中管理和设置主题的方式有很多改进.Magento 1.9中引入的theme ...

  3. position:sticky

    使用sticky定位可以简洁的实现固定功能 例如,左右布局页面,左侧菜单,右侧内容,内容区域滚动时,不希望菜单区域滚动,而是固定不动 以往要实现这个功能,需要使用fixed定位菜单,菜单脱离文档流,布 ...

  4. mac开发环境搭建篇(2)--brew与mysql

    [brew]:参考 https://www.cnblogs.com/zoulifeng2017/p/7514139.html 安装brew: 终端执行:/usr/bin/ruby -e "$ ...

  5. mysql中常用的函数

    -- 基本上都是抄的别人整理的 -- 一.数学函数 ABS(x) -- 返回x的绝对值 BIN(x) -- 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) -- 返回大于 ...

  6. mui扩展字体在哪里下载

    一次在一个知名前端模板网站上用积分下载了一个手机网页模板,没想到作者竟然玩起了删减隐藏,故意挖坑. 查看其原因是少一个mui.ttf的文件,纵然其他的文件及名称都有删改但无关紧要.也就是好多人搜索的m ...

  7. DirectX11 With Windows SDK--07 添加光照与常用几何模型

    前言 对于3D游戏来说,合理的光照可以让游戏显得更加真实.接下来会介绍光照的各种分量,以及常见的光照模型.除此之外,该项目还用到了多个常量缓冲区,因此还会提及HLSL的常量缓冲区打包规则以及如何设置多 ...

  8. SQLMAP注入教程-11种常见SQLMAP使用方法详解

    sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题,sql注入另一方面就是手工党了,这个就另当别论了.今天把我一直 ...

  9. shell 批量检测远程端口

    [DNyunwei@YZSJHL24-209 li]$ cat port.sh #!/bin/bash # ip=`cat iplist` for i in $ip;do port=`ssh -t $ ...

  10. Linux Shell远程执行命令

    1.问题描述 经常需要远程到其他节点上执行一些shell命令,如果分别ssh到每台主机上再去执行很麻烦,下边介绍shell命令远程执行的方法. 前提: 远程电脑之间已经配置ssh免密码登陆 2.脚本方 ...