zoukankan      html  css  js  c++  java
  • hadoop-1.2.1集群搭建

    继续上一篇:http://www.cnblogs.com/CoolJayson/p/7430654.html

    首先需要安装上台虚拟机, 分别为: master, salve1, slave2

    1.复制CentOS_6.5, 分别重命名为-slave1和-slave2

    2.用虚拟机打开slave1和slave2, 因为我们使用的是NAT模式, 此时三台虚拟机的ip是相同的需要进行修改.(关于如何修改请参考上一篇)

    修改完成后重启网络服务, 查看ip和网卡(HWaddr)是否有相同的, 如果网卡相同的话, 进入到虚拟机设置, 移除原来的网络适配器,再重新添加一个网络适配器, 网卡就改变了.

    完成后通过SecureCRT连接三台虚拟机, 测试是否能够连接网络.

    3. 安装jdk

     在虚拟机中设置共享文件夹(目录为jdk所在的目录)

    查看是否共享成功, 使用命令 cd /mnt/hgfs/ 下查看是否有共享的文件夹

    共享成功后将jdk拷贝到 /usr/local/src/目录下

    开始安装jdk

    安装完成后添加环境变量: 编辑根目录下的.bashrc文件

     

    添加完环境变量后按ESC, 使用命令 :wq 保存退出, 使用source ~/.bashrc是配置的环境变量生效(或者用命令bash)

       

    执行以下命令, 将jdk从master拷贝到salve2(拷贝到salve1也是相同操作), 然后重复上述操作在slave1和salve2中安装jdk并且配置环境变量.

    >>>>>>>>>>>>>开始安装hadoop集群>>>>>>>>>>>>>

    1.在共享文件夹中将hadoop压缩包拷贝到/usr/local/src/目录下,  同时进行解压

    2.进入到hadoop解压的目录中,创建一个tmp文件夹用来存放临时文件

    3.进入到conf目录下, 修改masters文件和slaves文件

          

    4.修改core-site.xml文件和mapred-site.xml文件

       

    5.修改hdfs-site.xml文件和hadoop-env.sh文件

       

    6.本地网络配置, 修改/etc/hosts文件, 配置后可以直接通过hostname(master/slave1/slave2)来访问虚拟机而不需要通过ip来访问

    7.修改虚拟机的hostname, 如果要永久生效需要修改/etc/sysconfig/network文件

       

    目前为止在master节点一共修改了以下8个文件:

    hadoop的conf目录下的: masters,  slaves,  core-site.xml,  mapred-site.xml,  hdfs-site.xml,  hadoop-env.sh

    以及 /etc/hosts文件和 /etc/sysconfig/network文件.

    8.将hadoop解压文件远程拷贝到slave1和slave2节点. 检查以下拷贝的文件是否有误.

     

     

    9.修改slave1和slave2节点的/etc/hosts文件和/etc/sysconfig/network文件. slave1和slave2的/etc/hosts文件和master相同.

     

       

    10.通过 hostname slave1和hostname slave2命令让hostname立即生效. /etc/sysconfig/network文件的修改要重启虚拟机后才能生效

      

    11.系统环境不同, 为了避免网络传输出现问题时难排查, 对防火墙和selinux进行关闭. 每台机器都要关闭防火墙和selinux. 通过iptables -L命令检查防火墙是否已关闭

          

    12.建立每台机器之间的互信机制(在远程访问每台机器的ip或hostname时不用再输入密码)

    在master节点通过ssh-keygen生成密钥文件

    进入~/.ssh/隐藏目录, 将id_rsa.pub公钥文件拷贝到authorized_keys文件, 并检查两个文件内容是否相同.

    在slave1和slave2节点也通过ssh-keygen命令生成密钥, 并把它们的公钥拷贝到master节点的authorized_keys文件中

    将authorized_keys文件拷贝到slave1和slave2节点中.

    此时在master节点可以直接通过ssh slave1来访问slave1节点而不需要密码, 在slave1节点也可以通过ssh master直接访问master.

       

    13.进入到hadoop目录下的bin目录, 先进行格式化

    14.通过 ./start-all.sh 命令把整个集群启动起来, 通过jps查看每个节点的进程.

       

    15.通过 ./hadoop fs -ls /  命令查看hdfs文件系统

    16.通过 ./hadoop fs -put /etc/passwd / 命令将passwd文件拷贝到hdfs文件系统中, 如果没有报错就说明成功了.

    17.通过 ./hadoop fs -cat /passwd  命令来读取passwd文件.

     

    ---------------- 到这里hadoop集群就配置成功了!!!------------------

  • 相关阅读:
    Unity--------------------万向锁的概念
    unity--------prefab嵌套prefab
    ListView嵌套 EditText的光标不显示
    maven clean package 时出现Failed to read artifact descriptor for的问题解决
    maven打包之后为什么class文件中没有注释了?
    Maven中maven-source-plugin,maven-javadoc-plugin插件的使用
    c3p0三种配置方式(automaticTestTable)
    db2设置共享内存
    解决Tomcat数据连接池无法释放
    DB2死锁的解决办法
  • 原文地址:https://www.cnblogs.com/CoolJayson/p/7434861.html
Copyright © 2011-2022 走看看