您的位置:首页 > 运维架构

虚拟机环境Hadoop伪分布模式部署

2014-08-24 01:15 393 查看
一、Hadoop的部署模式



本地模式、伪分布模式、集群模式

1、本地模式:运行在本地,只负责存储,没有计算功能

2、伪分布模式:在一台机器上模拟分布式部署,方便学习和调试

3、集群模式:多台机器上部署Hadoop

二、部署前准备工作(需要的环境)

1、VMware虚拟机

2、Centos

3、文件传输工具:WinSCP(将本机中的相关软件拷贝到虚拟机中)

4、PieTTY(远程连接工具,可以直接在windows下以linux命令行形式操作,避免学习时候频繁的在win和虚拟机之间的切换)

虚拟机和centos可以网上百度教程,一步一步安装,后面两款软件需要先配置好宿主机(windows)和客户机(虚拟机中的centos系统)之间的网络连接
三、配置网络连接

1、将centos的设置中的网络适配器选择为host only(仅主机)



2、设置windows适配器中,VMware虚拟机的ipv4的地址设置如下



注意,此处的选择的适配器,需要选择对应VMware虚拟机对应的适配器



该适配器对应的ipv4的地址设置如下:



3、设置centos的网络地址



鼠标右键点击小电脑,出现如图:





注意问题:Adress:必须和2步骤中设置的192.168.80.1在同一网段,Netmask:192.168.80.1(这个必须为2步骤中的地址)



最后设置完以后一定要点击Apply,才能生效

4、验证配置的地址是否生效,可以使用命令:ifconfig



5、验证客户机(centos)和宿主机(windows)网络是否连通

在windows 7中:cmd进入命令行,如下图



在Centos中,输入命令,如下



可以看到,宿主机与客户机之间能够互相通信

四、使用WinSCP和PieTTY软件简单化操作

PieTTY登陆linux如图:



登陆以后操作起来跟linux的命令行是一样的(避免了频繁的两个系统直接切换)



WinSCP软件登陆与上传(将安装Hadoop的软件上传到虚拟机linux中)





五、安装java jdk和Hadoop

1、安装java的jdk

<1>删除该位置usr/local/目录下的所有内容

rm -rf /usr/local/*


<2>使用winscp把jdk文件从window是复制到/usr/local目录下面

<3>赋予jdk文件执行权限(不然执行解压没有权限)

chmod u+x jdk-6u45-linux-i586.bin


<4>解压缩jdk的bin文件(注意命令行中的点号)

.jdk-6u45-linux-i586.bin


<5>解压缩后得到一个目录,重命名为jdk

mv jdk-6u45-linux-i586 jdk


<6>配置环境变量文件

vi /etc/profile


<7>上面命令打开vi编辑器后,是只读模式,“i”命令进入插入模式,在空白位置添加如下内容

export JAVA_HOME=/usr/local/jdk
export PATH=.:$JAVA_HOME/bin:$PATH


<8>在vi编辑器中修改完成以后,ESC键退出,":wq"命令保存退出。

保存后执行如下命令使得配置立即生效

source /etc/profile


<9>验证java的jdk是否安装成功(熟悉java的都应该知道吧!):java -version和java命令

注意:尽量使用jdk1.6,已经验证Hadoop使用1.6安全有效,使用1.7可能有问题

2、安装Hadoop(Hadoop1.1.2)

<1>进入/usr/local/目录中(cd /usr/local),执行解压Hadoop的gz文件

tar -zxvf hadoop-1.1.2.tar.gz


<2>讲解压后的Hadoop文件夹重命名为hadoop(hadoop1.6是上面一步中解压后文件夹的名字)

mv hadoop1.6 hadoop


<3>配置hadoop的环境变量(vi /etc/profile命令进入vi编辑配置文件模式)

增加了一行如下:

export HADOOP_HOME=/usr/local/hadoop


修改了一行如下:

export PATH=.:$HADOOP_HOME:$JAVA_HOME/bin:$PATH


<4>执行命令让修改的配置文件立即生效

source /etc/profile


<5>修改Hadoop的配置文件,位于$HADOOP_HOME/conf目录下的(总共需要修改四个配置文件)

小提示:对于上面的配置文件,vi编辑器使用的不熟悉的亲,是不是觉得使用vi是一种折磨,ok,使用WinScp软件像在windows方式修改,让你爽到底

接下来就使用WinScp软件来修改四个配置文件

a、打开软件如下图所示的位置:



b、右键选中需要编辑的配置文件打开直接编辑即可,首先修改hadoop-env.sh文件



修改为如下内容,如图所示

export JAVA_HOME=/usr/local/jdk




c、修改core-site.xml文件

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

</configuration>


该内容修改为:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>


注意:上面的hdfs://hadoop1:9000中的hadoop1是自己的主机名

修改主机名和映射

为了以后如果搭建多个linux的hadoop环境,以及各个环境之间的通讯,建议修改主机名和主机与ip的映射

1、修改主机名为hadoop1,修改文件:/etc/sysconfig/network



修改完主机名后需要重启电脑,才会生效

2、添加ip与主机名的映射

<span style="white-space:pre">		</span>vi /etc/hosts



验证映射是否修改成功,直接ping修改后的主机名(能ping通则成功)

<span style="white-space:pre">		</span>ping hadoop1
d、修改hdfs-site.xml文件

将内容以下内容:

<span style="white-space:pre">		</span><configuration>

<span style="white-space:pre">		</span></configuration>
修改为以下内容:

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>


e、修改mapred-site.xml文件

将以下内容:

<configuration>

</configuration>
修改为以下内容

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop1:9001</value>
<description>change your own hostname</description>
</property>
</configuration>
注意hadoop1是上面修改过的主机名

说明:做好了以上内容基本上已经配置问hadoop的环境了,但是为了后面的实验不受影响,我们把centos上面的防火墙都关闭了

f、关闭防火墙

依次执行如下命令:

查看防火墙状态

<pre name="code" class="html">service iptables status



关闭防火墙状态

<pre name="code" class="html">service iptablse stop



可以关闭防火墙的所有状态

<pre name="code" class="html">chkconfig iptables off



查看防火墙的所有状态

<pre name="code" class="html">chkconfig --list | grep iptables




六、配置ssh免密码登陆

执行如下两条命令:

<pre name="code" class="html">ssh-keygen -t rsa
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys



第一条命令:用来生成秘钥,产生的秘钥位于~/.ssh文件夹中

第二条命令:拷贝秘钥放到指定位置

七、启动hadoop

1、格式化的hadoop

hadoop namenode -format


2、启动前可以看看进程个数jps命令(只有一个),启动后再看进程个数。如下图

启动hadoop的命令:

start-all.sh


启动前后图示:



可以看到启动后多了5个进程,这也是验证hadoop部署是否成功的一种方式

此外还可以通过浏览器访问http://hadoop1:50070/来验证是否部署成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: