hadoop伪分布式集群环境搭建--基于CentOS,hadoopcentos


1.搭建伪分布式集群使用root用户登录

第一步:设置ip,为虚拟机设置一个ip地址:


设置完成后要检测:service network restart 重启生效,然后ping命令测试该ip是不是能ping通。

2.更改主机名:

执行命令:vi  /etc/sysconfig/network


更改之后再重新启动就会更改用户名,通过命令hostname即可查看

 

3.设置hostsip与主机名的绑定

执行命令 vi  /etc/hosts

在里面添加选项设置你的主机名与ip的对应关系


Ping一下这个主机名看是不是能ping

注意这里在windows 里面由于没有设置应该是ping不通过的,设置c盘下windows文件夹下面system32这个文件夹里面driversetc下的hosts文件进行更改,添加对应你的主机名与ip地址



但是更改hosts时可能会因为权限问题被阻止更改,注意一下更改你对这个文件的权限

 

4.关闭防火墙


第一行的命令即可查看防火墙的状态,关闭的命令:

Service iptables stop


进行验证:


Chkconfig 这个命令下面是服务的一些配置,查看会不会有重启的可能

执行命令 chkconfig --list

存在on的就是可能在某些条件下重启的

查找防火墙的重启的相关项 :

Chkconfig --list |grep iptables 



关闭:chkconfig iptables off


6 ssh-->secure shell

传输的数据是加过密的比较安全.

执行命令产生密钥:ssh-keygen  -t  rsa  位于当前用户下的~/.ssh这个文件夹中

 

查看目录下面有木有东西:


继续执行下面新的命令


ssh的免密码登录就搞定了


7.安装jdk

使用winSCP传输hadoopjdk的压缩包放入linux系统,放在root/downloads里面

安装到usr/local里面,删除之前存在的文件


cp  /root/Downloads/*  .  


执行jdk但是这里遇到了权限的问题,接下来要更改权限


颜色已经变了,原来显示的是白色的,现在是绿色了,应该就能运行了

执行原先的命令./jdk-6u24-linux-i586.bin

等待安装完成即可


安装完了,还得配置环境变量的;



安装完成了。


8.安装hadoop

执行命令 tar  -zxvf  hadoop-1.1.2.tar.gz


修改hadoop的配置文件

位于$HADOOP_HOME/conf目录下的修改四个配置文件:hadoop-env.shcore-site.xml

hdfs-site.xml mapred-site.xml

 

1.hadoop-env.sh

export JAVA_HOME=/usr/local/jdk/

 

2.core-site.xml

<configuration>

    <property>

        <name>fs.default.name</name>

        <value>hdfs://hadoop0:9000</value>

        <description>change your own hostname</description>

    </property>

    <property>

        <name>hadoop.tmp.dir</name>

        <value>/usr/local/hadoop/tmp</value>

    </property>  

</configuration>

3.hdfs-site.xml

<configuration>

    <property>

        <name>dfs.replication</name>

        <value>1</value>

    </property>

    <property>

        <name>dfs.permissions</name>

        <value>false</value>

    </property>

</configuration>

 

4.mapred-site.xml

<configuration>

    <property>

        <name>mapred.job.tracker</name>

        <value>hadoop0:9001</value>

        <description>change your own hostname</description>

    </property>

</configuration>

 

进行格式化:



但是hadoop这里有警告

去掉启动过程中的警告

/etc/profile里面添加一行


export  HADOOP_HOME_WARN_SUPPRESS=1或者其他的什么值只要不是空即可


这样配置就完成了一个单机的配置

 

按照这几个步骤,在建立好的其他的虚拟机里面进行同样的配置。

这样配置完成之后还要进行其他的配置:ssh免密码登录需要重新设置一下

在Hadoop启动以后,Namenode是通过SSH(Secure Shell)来启动和停止各个节点上的各种守护进程的,这就需要在节点之间执行指令的时候是不需要输入密码的方式,故我们需要配置SSH使用无密码公钥认证的方式。

首先要保证每台机器上都装了SSH服务器,且都正常启动。实际中我们用的都是OpenSSH,这是SSH协议的一个免费开源实现。

以本文中的4台机器为例,现在hadoop1是主节点,它需要主动发起SSH连接到hadoop2,对于SSH服务来说,hadoop1就是SSH客户端,而hadoop2, hadoop3,hadoop4则是SSH服务端,因此在hadoop2,hadoop3,hadoop4上需要确定sshd服务已经启动。简单的说,在hadoop1上需要生成一个密钥对,即一个私钥,一个公钥。将公钥拷贝到hadoop2上,这样,比如当hadoop1向hadoop2发起ssh连接的时候,hadoop2上就会生成一个随机数并用hadoop1的公钥对这个随机数进行加密,并发送给hadoop1,hadoop1收到这个加密的数以后用私钥进行解密,并将解密后的数发送回hadoop2,hadoop2确认解密的数无误后就允许hadoop1进行连接了。这就完成了一次公钥认证过程。

搭建集群的时候需要配置各个机子的hosts里面的每个机子的ip地址与主机名都要有


我这里是这样设置的

另外还有一点是:配置hadoop文件当中的conf文件夹下面的mastersslaves这两个文件中进行配置主从节点,好像是masters里面的是secondaryNameNode存在哪里,就是备份secondaryNameNode的,在这里我配置的时候在master中配置为hadoop了,在salves文件里面配置了三个机子



hadoop中进行启动start-all.sh,


在每个虚拟机中进行确认



到这里基本上伪分布式集群就已经设置完成了


相关内容