(2)虚拟机下hadoop1.1.2集群环境搭建
hadoop集群环境的搭建和单机版的搭建差点儿相同,就是多了一些文件的配置操作。
一、3台主机的hostname改动和IP地址绑定
(1)3太主机的基本网络环境
CentOS6.5,32位,在虚拟机下实现。
我在虚拟机下安装了3个centos6.5系统,其IP地址和主机名分别例如以下:
192.168.1.103 hadoop
192.168.1.105 hadoop0
192.168.1.106 hadoop1
这里,hadoop是master,hadoop0和hadoop1是两个slaves。
(2)IP地址与hostname绑定
在hadoop主机下:
vi /etc/sysconfig/network
将HOSTNAME改动为hadoop,见下图:
在hadoop0主机下操作类似,将HOSTNAME改动为hadoop0;在hadoop1主机下操作类似,将HOSTNAME改动为hadoop1。
在hadoop主机下:
输入:vi /etc/hosts,在hosts下加入例如以下内容:
192.168.1.103 hadoop
192.168.1.105 hadoop0
192.168.1.106 hadoop1
然后通过scp命令,将改动好的hosts拷贝到hadoop0和hadoop1的/etc/hosts目录下覆盖:
scp /etc/hosts root@hadoop0:/etc/hosts
scp /etc/hosts root@hadoop1:/etc/hosts
(3)測试3太主机之间能否Ping通
在3台主机下分别输入:
ping hadoop
ping hadoop0
ping hadoop1
假设3太主机都能ping通,那说明前面的配置成功。
二、SSH免password登陆
1.查看当前用户下(root)是否有.ssh的隐藏文件,假设没有就创建一个
mkdir .ssh
2.输入ssh-keygen -t rsa
这个命令会在.ssh目录下生成id_dsa和id_ds.pub两个文件,这私钥和公钥。
3.输入
cp id_rsa.pub authorized_keys
这条命令是把公钥加到用于认证的公钥文件里
4.验证SSH是否成功安装,以及能否够免password登陆本机
ssh localhost
假设显演示样例如以下,表示成功安装
5.将authorized_keys拷贝到hadoop0和hadoop1下的.ssh文件,这样就能够免password登陆hadoop0和hadoop1了。
scp authorized_keys root@hadoop0:.ssh/
scp authorized_keys root@hadoop1:.ssh/
6.測试
在hadoop主机下输入:
ssh hadoop0
ssh hadoop1
在第一次登陆是须要password,以后则不要。到此,ssh的免password登陆完毕。
三、jdk的安装和java环境变量配置
(1)安装jdk1.6
这里,我使用的jdk安装包例如以下,大家能够上网自行下载,这里推荐jdk为1.6为好。
在hadoop下:
将jdk安装包移动到/usr/local这个文件夹下,(local下的文件能够删除,没实用的)。
然后首先是给jdk安装包“X”的运行权限,chmod u+x jdk-6u24-linux-i586.bin。(如有x权限请忽略这一步)
然后就是运行安装就可以,jdk-6u24-linux-i586.bin。
然后将/usr/local下jdk的目录从命名为jdk。然后通过scp命令将jdk目录拷贝到另外两个slaves主机。
scp -r /etc/local/jdk root@hadoop0:/etc/local
scp -r /etc/local/jdk root@hadoop1:/etc/local
(2)环境变量设置
接下来就是配置环境变量:
vi /etc/profile
export JAVA_HOME=/usr/local/jdk
export PATH=.:$JAVA_HOME/bin:$PATH
输入 source /etc/profile使配置文件生效。
检查jdk是否安装配置成功,java -version,若显演示样例如以下,表示成功安装。
相同,将profile拷贝到另外两台主机。
scp /etc/profile root@hadoop0:/etc/
scp /etc/profile root@hadoop1:/etc/
在hadoop0和hadoop1下检查是否安装jdk成功。注意请先使用source /etc/profile更新命令。
假设现实如上图,则表示3台主机的jdk安装和配置成功。
四、安装和配置hadoop
(1)解压安装hadoop1.1.2
下载并将hadoop-1.1.2.tar.gz解压到当前用户文件夹下(/usr/local)。
tar -zxvf hadoop-1.1.2.tar.gz
然后将hadoop目录重命名为hadoop。
(2)配置hadoop
进入hadoop目录下的conf夹,改动配置文件。
1.指定jdk安装位置:
Hadoop-env.sh:
export JAVA_HOME=/usr/local/jdk
2.hadoop核心配置文件,配置HDFS地址和段口号。
core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
3.hdfs-site.xml,默认的配置方式是3,这里表示副本数是3,因为我们搭建的子节点仅仅有2个,所以输入1或2。
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
4.配置MapReduce文件,配置JobTracker的地址和port
mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop:9001</value>
</property>
</configuration>
5‘改动masters文件
hadoop
6.改动slaves文件
hadoop0
hadoop1
然后将hadoop目录拷贝到另外2台主机。
scp /uer/local/hadoop root@hadoop0:/etc/local/
scp /uer/local/hadoop root@hadoop1:/etc/local/
接下来要改动环境变量:
vi /etc/profile
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
相同,将profile拷贝到另外两台主机上,操作见三(2)。
(3)启动hadoop
输入:
hadoop namenode -format
然后通过start-all.sh启动全部进程:
start-all.sh
能够通过jps命令来查看执行的进程,假设成功执行,那么将会有5个进程执行,例如以下图:
在hadoop 下:
在hadoop0下:
在hadoop1下:
至此,hadoop启动成功,要想看集群状态,能够打开以下两个网址:
localhost:50030(mapreduce的web页面)
localhost:50070(HDFS的web页面)
假设想在windows下訪问这两个网址,那么就须要关闭centos的防火墙,否则訪问不了。(3台主机都要关闭防火墙)
命令:service iptables stop
使用:chkconfig iptables off,能够关闭防火墙的自己主动执行
备注:我也是刚起步学习hadoop,可能文章有一些不完整或错误的地方,还请大家多多不吝赐教,也希望能交流学习,互相促进提高。
(2)虚拟机下hadoop1.1.2集群环境搭建的更多相关文章
- 虚拟机centos6.5 --hadoop2.6集群环境搭建
一.环境说明 虚拟机:virtualBox 系统:centos6.5,64位 集群:3个节点 master 192.168.12.232 slave01 192.168.12.233 slave02 ...
- CentOS下RabbitMq高可用集群环境搭建
准备工作 1,准备两台或多台安装有rabbitmq-server服务的服务器 我这里准备了两台,分别如下: 192.168.40.130 rabbitmq01192.168.40.131 rabbit ...
- 虚拟机下 solr7.1 cloud 集群搭建 (手动解压和官方脚本两种方式)
准备工作: vmware workstation 12,OS使用的是ubuntu16.04,三台虚拟机搭建一个solr集群,zookeeper共用这三台虚拟机组成zookeeper集群. zookee ...
- centos6.5环境下zookeeper-3.4.6集群环境部署及单机部署详解
centos6.5环境下Zookeeper-3.4.6集群环境部署 [系统]Centos 6.5 集群部署 [软件]准备好jdk环境,此次我们的环境是open_jdk1.8.0_101 zookeep ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十二)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网。
Centos7出现异常:Failed to start LSB: Bring up/down networking. 按照<Kafka:ZK+Kafka+Spark Streaming集群环境搭 ...
- Linux环境下SolrCloud集群环境搭建关键步骤
Linux环境下SolrCloud集群环境搭建关键步骤. 前提条件:已经完成ZooKeeper集群环境搭建. 一.下载介质 官网下载地址:http://www.apache.org/dyn/close ...
- Linux环境下HDFS集群环境搭建关键步骤
Linux环境下HDFS集群环境搭建关键步骤记录. 介质版本:hadoop-2.7.3.tar.gz 节点数量:3节点. 一.下载安装介质 官网下载地址:http://hadoop.apache.or ...
- Linux环境下ZooKeeper集群环境搭建关键步骤
ZooKeeper版本:zookeeper-3.4.9 ZooKeeper节点:3个节点 以下为Linux环境下ZooKeeper集群环境搭建关键步骤: 前提条件:已完成在Linux环境中安装JDK并 ...
- Linux下Hadoop2.7.3集群环境的搭建
Linux下Hadoop2.7.3集群环境的搭建 本文旨在提供最基本的,可以用于在生产环境进行Hadoop.HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用. 基础环境 JDK的安 ...
随机推荐
- ASP.NET 应用程序生命周期
1.请求到达IIS服务器,IIS根据文件后缀找到对应的ISAPI(Internet Server API)扩展来处理,这个配置可在网站属性里的“根目录”选项卡中的“配置”里看到.可以看到,ashx.a ...
- 《深入Java虚拟机》笔记:指令集 (转)
<深入Java虚拟机>笔记:指令集 指令 含义 iconst_m1 把int型常量-1压入栈中 iconst_0 把int型常量压入栈中 fconst_1 把float型常量1压入栈中 ...
- java输入输出高速
头文件: import java.io.*; 定义: BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); ...
- JDK基本介绍
JDK这是Java Development Kit 缩写,中国被称为Java开发套件.由SUN该公司提供.这是Java应用程序开发提供了编译和执行环境,所有的Java写程序都依赖于它. JDK能够将J ...
- NET 项目结构搭建
NET 项目结构搭建 我们头开始,从简单的单项目解决方案,逐步添加业务逻辑的约束,从应用逻辑和领域逻辑两方面考虑,从简单的单个项目逐步搭建一个多项目的解决方案.主要内容:(1)搭建应用逻辑和领域逻辑都 ...
- SendMail如何签名
MailAddress类有两个参数 第1个参数:发送者的邮箱 第2个参数:发送者的签名 示例: MailMessage message = new MailMessage();message.From ...
- 返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, .net 4.5 带来的更方便的异步操作
原文:返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, ...
- 使用 Gradle 插件进行代码分析(转)
代码分析在大多数项目中通常是作为最后一个步骤(如果做了的话)完成的.其通常难以配置及与现有代码整合. 本文旨在勾勒出使用 Gradle 整合 PMD 与 FindBugs 的步骤,并将其与一个现有的 ...
- PHPthinking官方论坛
PHPthinking官方论坛正式上线一个月!眼下.我们已经有数百个固定用户的.论坛发展迅速,所有份额一些技术贴,我们希望,其他许多用户增加来,创建学习.交流更方便.丰富的内容PHP座谈会! PHPt ...
- 深入理解Javascript闭包概念
一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域无非就是两种:全局变量和局部变量. Javascript语言的特殊之处,就在于函数内部能够直接读取全局变量 ...