从CentOS安装到Hadoop2.4.0完全分布式配置

1.前提

需要提前下载的有:

      1、JDK-1.8.0   

      2、hadoop-2.4.0   

      3、putty   


     1.1安装VMware

            VMware安装比较简单,网盘中有安装文件,遇到什么问题请百度之,此处不再罗嗦

     1.2安装centos6.4     

           1.2.1 网络配置

                打开VMware->编辑->虚拟网络编辑器  如图配置

      

      

1.2.2正式安装

Hadoop完全分布式集群至少须要两台虚拟机,考虑到内存占用量大的问题,此处推荐以下配置

内存安装模式IP地址
Master1GMinimal Desktop192.168.224.100
Slave1512MMinimal192.168.224.71
IP地址可以随意配置,只要在同一网段内就行。


step1:打开VMware->文件-> 新建虚拟机  选 “自定义(高级)”->下一步

 

step2:选稍后安装操作系统->选择linux系统、版本CentOS->名称、位置随意->处理器核数根据自己情况选->内存选择

      512M:只能安装命令行模式,322G内存可以同时运行3台虚拟机(也够呛了)

      1G:可以安装多种带图形操作界面模式,322G内存可以同时运行2台虚拟机

             随后一直点确认就对了

       

step3:在创建好的虚拟机上右键-》设置虚拟机,点CD/DVD载入CentOS6.4映像文件,运行虚拟机

   

step4:运行虚拟机

       下面以1G安装为例(区别在于:安装界面稍有不同,512M需在安装完成后才能配置网络和主机名,1G在安装过程中可配置)

    因为是虚拟机,所以安装过程中提示的“是否检查磁盘”“是否格式化”之类的全部都选最省时的选项吧。

    到以下步骤时,点配置网络:地址如下图配置,DNS服务器地址按个人情况配置,     

 DNS服务器地址查看方法:

       开始-》运行-cmd-》输入命令 “ ipconfig -all ”   找到DNS地址填入下图



    


step 5 选择好安装模式,设置好用户名密码、根据提示完成安装。

step 6 以root身份登录CentOS



2.配置Master

      2.1连接网络 

             如果在安装过程中已经配置好IP地址等,则打开终端,ping www.baidu.com  看一下是否能ping通。

             如果无法ping通,查看VMware相关的服务是否开启了。

     查看方法:控制面板-》管理工具-》服务   找到以“VMware”开头的服务,未开启则全部右键开启

             仍然无法ping通,则根据一下步骤重新配置一下:

      

             step1: 打开终端,输入 vi /etc/sysconfig/network-scripts/ifcfg-eth0     (新手提示:按[tab]可以自动填充路径的,在终端输入命令时多按[tab]可以减少输入错误)

                             主要确认以下配置:(物理地址HDDR不要乱改)

DEVICE=eth0                   
ONBOOT=yes                  
BOOTPROTO=static
IPADDR=192.168.224.100      //ip地址
NETMASK=255.255.255.0       //子网掩码
GATEWAY=192.168.224.2       //网关
DNS1=192.168.10.8           //DNS地址
DNS2=192.168.11.8

               step2:   输入: service network restart     重启网络服务

                                          ping  www.baidu.com           看一下能不能ping 通

      2.2修改主机名

             vi /etc/sysconfig/network

             

NETWORKING=yes
HOSTNAME=master

 

             vi /etc/hosts        

              替换成以下内容

              

192.168.224.100 master
192.168.224.71 slaver1

 2.3创建工作组和用户

创建用户组:hadoop,然后在此用户组下创建hadoop用户。

[root@ master ~]# groupadd  hadoop

[root@ master ~]# useradd -g hadoop  -d /home/hadoop  hadoop

hadoop”是所创建的用户名, -d指明“ hadoop”用户的home目录是/home/hadoop

[root@ master ~]# passwd hadoop [给用户hadoop设置口令]

1). 在真实集群分布模式下,要求集群中所有节点使用相同的用户名,这是hadoop的基本要求。比如,可以使用“hadoop”作为所有节点上统一的用户名。

2). 并且要求在所有节点上安装的hadoop系统具有完全一致的目录结构。

         

     2.4安装JDKHadoop 

 

         step1:解压putty

         step2:运行cmd,把JDKHadoop安装文件传送到虚拟机中

                        具体操作:cd putty安装目录下,比如说我的安装路径为  G:\putty,则

          

C:\user\test>g:
C:\user\test>cd putty
C:\user\test>pscp [jdk所在位置]  hadoop@192.168.224.100:/home/hadoop/
C:\user\test>pscp [hadoop所在位置]  hadoop@192.168.224.100:/home/hadoop/



          step3:在root身份下安装JDK

                       cd  /home/hadoop/ 

                  rpm -ivh jdk-8u5-linux-i586.rpm

                     

                       JDK默认安装在/usr/java/目录下

 

          step4:配置环境变量(此处顺便把HADOOP一起配置了,虽然它还没安装)

vi  /etc/profile

在最后面添加以下内容

export JAVA_HOME=/usr/java/jdk1.8.0_05
export JRE_HOME=/usr/java/jdk1.8.0_05/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export HADOOP_HOME=/home/hadoop/hadoop-2.4.0/
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin



source /etc/profile  使配置生效

terminal中输入     

  java -version            看一下是否配置成功,如果配置成功会显示JAVA的版本号等信息。

 

      step5:安装hadoop

            

su hadoop  //hadoop身份登录

cd ~       

tar   -zxvf   hadoop-2.4.0.gzip.tar  ~/     //hadoop解压到/home/hadoop/目录下

   

 2.5配置hadoop

 

       cd  ~/hadoop-2.4.0/etc/hadoop/              修改以下文件内容:

hadoop-env.sh

#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/usr/java/jdk1.8.0_05/


core-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.224.100:9000/</value>
</property>
</configuration>


hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/hadoop-2.4.0/hdfs/name</value>
</property> 
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/hadoop-2.4.0/hdfs/data</value>
</property>
</configuration>


yarn-site.xml

<?xml version="1.0"?>
<configuration>
<property>
<name>yarn.nodemanager.log-dirs</name>
<value>/home/hadoop/hadoop-2.4.0/yarn/log</value>
</property>
</configuration>

slaves


master
slave1

如果你比较懒,也可以下载上文提供的网盘中的文件,把它们发送到虚拟机中。方法参考2.4中的step2,

如果要传送整个目录

lcd win中的目录

psftp -r 目录名 新目录名

关于psftp更多相关命令:http://blog.csdn.net/greenzb/article/details/4216128


3.安装配置slave

 

        有两种方法:1.克隆master,修改配置变成slave       2.另外安装一台slave

        克隆出来的slave配置与master一模一样,如果想要低配一点的slave,则要另外安装。

3.1另外安装slave

    为什么要另外安装这么麻烦?因为楼主的 32 2G 渣机开两台 1G 虚拟机时,想开个 word 写技术文档都得卡得想死啊…(内存都达 98% 了   T^T 显卡过热蓝屏是家常便饭。)

    安装步骤与上面基本一致,配置时可以偷偷懒从master机里用scp命令     直接把hadoop文件夹等 复制过去(复制过去后注意文件拥有者是否与master中的一致)

     

3.2克隆        

 在VMware中有克隆虚拟机的功能,选中要克隆的虚拟机master, 完整克隆一台slave1,完成后启动slave1     

step1 修改主机名:

 vi /etc/sysconfig/network

             

NETWORKING=yes
HOSTNAME=master


         

step2 修改网络配置:

执行:vim  /etc/udev/rules.d/70-persistent-net.rules    

          把eth1改成eth0, 记下ATTR{address}

执行:vi /etc/sysconfig/networking/devices/ifcfg-eth0 

修改:IPADDR=192.168.224.71

修改:HWADDR= 上面记下的ATTRaddress}(或者在虚拟机设置中选中“网络适配器”-》“高级”  得到MAC地址)

执行: reboot      重启

 

重启后ping www.baidu.com  看一下是否能ping通,ping 不通说明网络没配置好

ping不通时:  vim  /etc/udev/rules.d/70-persistent-net.rules  看一下什么情况,如果多一行eth1   eth0  eth1都有的情况,把eth0那行删了,eth1改成eth0,再修改ifcfg-eth0把物理地址改成与上面配置中的eth0一致

 

   

4.设置SSH无密码登录

 

step1:打开两台虚拟机,登录到master中,执行如下命令:

 

$ssh 

 

如果提示Bash :  ssh  command  not  found

#yum install openssh-clients

安装openssh安装完成后换成hadoop身份登录执行如下命令:

  

$ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa 

$cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys


然后记得修改文件权限

             修改 authorized_keys 权限为600

               $chmod 600 /home/hadoop/.ssh/authorized_keys




修改SSH配置文件   转换到root身份  su

                # vim /etc/ssh/sshd_config 
将下面三行注释去掉,并修改如下: 
RSAAuthentication yes # 启用 RSA 认证 
PubkeyAuthentication yes # 启用公钥私钥配对认证方式 
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同) 

              设置完后,重启SSH服务 #service sshd restart 

                验证是否成功 换到hadoop身份   #su hadoop  

                $ssh master  

                如果不用输入密码则成功了。

 (PS:如果仍然要输入密码 可能是 .ssh权限问题    尝试 $chmod 700 /home/hadoop/.ssh   再  $ssh master

        如果修改权限后还不行可能是用户身份的问题 要注意上面带$指令 带#指令 用户身份区别)


                然后把id_rsa.pub文件追加到slave1  hadoop的authorized_keys中

               $scp  ~/.ssh/id_rsa.pub     hadoop@slave1:~/.ssh/authorized_keys

 

              中间可能需要输入密码 ,按提示输入即可。

               

             


             打开slave1  登录hadoop


              改文件夹 .ssh 权限 为 700

               $chmod 700 /home/hadoop/.ssh

                同理,按照master上的操作

                

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa 

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

                $chmod 600 /home/hadoop/.ssh/authorized_keys


                修改SSH配置文件   转换到root身份  su

                # vim /etc/ssh/sshd_config 
将下面三行注释去掉,并修改如下: 
RSAAuthentication yes # 启用 RSA 认证 
PubkeyAuthentication yes # 启用公钥私钥配对认证方式 
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同) 

$scp  ~/.ssh/id_rsa.pub     hadoop@master:~/.ssh/authorized_keys

     


              


                   

现在打开master先后执行如下命令


ssh slave1

ssh master

不需要再输入密码就对了。如果仍然不成功:tail /var/log/secure -n 20  查看登录日志

 

 

5.启动Hadoop

 

执行HDFS格式化命令:

 

hadoop namenode -format

 

master虚拟机中

sh   /hadoop/hadoop-2.4.0/sbin/start-all.sh 

 

jps    查看进程

应该有如下进程

 

 

ok,搞定!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值