Hadoop学习笔记1

Hadoop部署方式

  • 本地模式
  • 伪分布模式(在一台机器中模拟,让所有进程在一台机器上运行)
  • 集群模式

服务器只是一堆废铁而已,上面跑了tomcat,我们叫它web服务器;上面跑了mysql,我们叫它数据库服务器。所以不同服务器只是上面跑的进程(或者说程序)不同,我们是根据它们跑的进程来命名它们分别叫什么服务器的。

宿主机(windows)和客户机(linux)之间通信

  1. host-only:宿主机与客户机单独组网
    • 好处:网络隔离
    • 坏处:虚拟机和其他服务器之间不能通信
  2. bridge:客户机与宿主机在同一个局域网
    • 好处:都在同一个局域网,可以互相访问
    • 坏处:不安全

Linux网络设置

修改主机名:/etc/sysconfig/network

将主机名和IP绑定:/etc/hosts

修改ip地址:/etc/sysconfig/network-scripts/ifcfg-eth0

关闭防火墙:service iptables stop chkconfig iptables off

防火墙是禁止一些端口启动的,而hadoop运行需要占用很多端口,因此要关闭防火墙

Hadoop伪分布式/完全分布式安装步骤

此安装步骤适用于Hadoop 0.x 和 Hadoop 1.x 版本。
Hadoop 2.x 很复杂,建议参考官网的教程,下面的不适用于版本2.x。

两种分布式模式

分布式模式分两种,伪分布式和完全分布式。

  • 伪分布式是把进程运行在同一台机器上,但不是一个JVM
  • 而完全分布式就是把整个服务分布在各个节点上

伪分布式

  1. 设置静态ip
  2. 修改主机名
    • 修改当前会话的主机名:hostname XXX
    • 修改配置文件中的主机名:vi /etc/hosts
  3. 把hostname和ip绑定
    • vi /etc/hosts
    • 增加一行:192.168.xx.yyy yourhostname
  4. 关闭防火墙

    不论是伪分布安装,还是真实的分布式安装,如果不关闭防火墙,会遇到例如如下这种情况:执行./start-dfs.sh后,提示说都启动了,也将启动写进日志了,可是去其他机器上执行jps发现并没有启动对应的Java进程。原因就是防火墙没有关闭

    • service iptables stop

    验证:service iptables status

  5. 防止防火墙再次启动:chkconfig iptables off
    验证:chkconfig --list | grep iptables
  6. SSH(secure shell)的免密码登陆

    原理如图:

    SSH免密码登录原理

    Q:为什么要设置免密码登录?

    A:因为分布式应用程序,每台机器都有不同的进程,而整个分布式应用程序要想能起起来,需要各个机器上的进程都起起来并且还需要它们之间的配合。而每台机器上都有不同的进程需要启动,我们想做到在一台机器上能启动整个分布式应用,就需要达到在一台机器上能启动其他机器上的进程的目的。这个时候就需要免密码登录。

    例如在node1上敲例如start-all.sh等命令,它为什么能启动整个分布式应用呢?是因为node1远程登录到了其他节点,启动了其他节点的进程,从而达到启动整个分布式应用的目的。

    其实不配置免密码登录,HDFS一样能启动起来,免密码只是为了运维方便,如果不设置,每次手动去敲会很麻烦。

    • ssh-keygen -t rsa:产生密钥,位于~/.ssh文件夹中
    • cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

    验证:ssh localhost 然后两次exit

  7. 宿主机上安装WinSCP(远程传输数据)

    • rm -rf /usr/local/*:这些东西用不到,我觉得可以全部删掉
    • 将JDK和hadoop拷贝到客户机
    • 安装JDK
    • 安装、配置hadoop
      • tar -zxvf hadoop-x.y.z.tar.gz
      • mv hadoop-x.y.z hadoop
    • 配置hadoop、JDK

      • vi /etc/profile,加下面几行
      • export JAVA_HOME=/usr/local/jdk
      • export HADOOP_HOME=/usr/local/hadoop
      • export PATH=$HADOOP\_HOME/bin:$JAVA\_HOME/bin:$PATH
      • source /etc/profile

      验证 java -version

  8. 修改$HADOOP\_HOME/conf下的4个配置文件(在WinSCP上面修改)

    • hadoop-env.sh:修改该文件中被#注释掉的JAVA_HOME

      改成export JAVA_HOME=/usr/local/jdk/

    • core-site.xml:(配置NameNode进程)

      <configuration>
          <property>
              <name>fs.default.name</name>
              <value>hdfs://hadoop0:9000</value>
          </property>
          <property>
              <name>hadoop.tmp.dir</name>
              <value>/usr/local/hadoop/tmp</value>
              <description>HDFS的工作目录</description>
          </property> 
      &l
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值