zoukankan      html  css  js  c++  java
  • 2015.07.12hadoop伪分布安装

    hadoop伪分布安装

     

    1. Hadoop2的伪分布安装步骤【使用root用户用户登陆】other进去超级用户拥有最高的权限

      1.1(桥接模式)设置静态IP ,,修改配置文件,虚拟机IP192.168.1.99重启网卡,网关192.168.1.1是物理机下面的默认网关,

      执行命令

      vi /etc/sysconfig/network-scripts/ifcfg-eh0

       

      修改内容:

      TYPE="Ethernet"

      BOOTPROTO="static"

      ONBOOT="yes"

      IPADDR="192.168.1.99"

      GATEWAY="192.168.1.1"

      DNS1="192.168.1.1"

      NETMASK=255.255.255.0

       

      重启网卡,执行命令service network restart

       

      验证:执行命令 ifconfig

       

      1.2修改主机名(主机名类似于域名(baidu.com))

      <1>修改当前会话中的主机名,执行命令hostname hadoop

      <2>修改配置文件中的主机名,执行命令vi /etc/sysconfig/network

      验证:重启机器reboot -h now

      命令vi三种模式 只读,不能写

                  编辑,能读,也能写(敲击键盘ai

      命令,需要执行命令(按Esc键,然后按Shift+:组合键,输入wq保存退出)

      编辑文件强退时会产生(没保存时vi就自动保存成.a.swp)交换分区缓存文件(.a.swp) 查看隐藏文件使用命令ls -a

      1.3把hostnameIP绑定

      执行命令vi /etc/hosts,增加一行内容,如下

      192.168.1.99 hadoop (虚拟机的IP地址)

      保存退出。

      验证:ping hadoop

      1.4关闭防火墙

      执行命令 service iptables stop

      验证:service iptables status

      1.5关闭防火墙的自动运行(防火墙重启后可能会自动启动)

      执行命令 chkconfig iptables off

      验证:chkconfig --list | grep iptableschkconfig是检查自动运行的配置项,--list是显示所有结果)

      1.6 ssh免密码登录(类似与telnet命令,是明文传输包括密码,不安全。ls /root/.shh/查看(重启命令service shhd restartA要免密码登录BAB的自身shh是可以运行,A将公钥文件复制给B中的authorized_keys文件,AB发送登录请求,BA发送随机的字符串,A用私钥加密字符串后的数据发回BB自身将公钥加密之前的字符串,然后对比加密后的数据,如果比对匹配则可通信,反之不可通信)

      <1>执行命令ssh-keygen -t rsa(-t指定加密类型,rsa是加密的算法一种)产生密钥,位于~/.shh文件夹中(id_rsa.pub是公钥文件id_rsa是私钥文件

      <2>执行命令(将自己的公钥文件拷贝到其他机器)ssh-copy-id -i hadoop ((不安全偷懒)或者将crxy2的密钥文件拷贝到hadoopcrxy2执行命令scp /root/.ssh/* crxy1:/root/.shh/(cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys)

      验证:ssh localhost

       

      主节点->(公钥)子节点,子节点->(字符串)主节点,主节点->(密钥加密字符串)自己公钥加密字符串配对

      公钥到了对方那里会放到authorized_keys文件夹中,ssh验证的时候会读取authorized_keys文件夹的内容

      2.7安装jdk

      <1>执行命令rm -rf/usr/local/*删除所有内容(r是递归删除,f是强制删除*是全部)

      <2>使用winscpjdk文件从windows复制到/usr/local目录下

      <3>执行命令 chmod u+x jdk-8u31-linux-x64.tar.gz 赋予执行权限

      <4>执行命令(当前目录/usr/local/) tar -zxvf jdk-8u31-linux-x64.tar.gz(./jdk-6u24-linux-i586.bin 解压缩)

      <5>执行命令 mv jdk-8u31 jdk 重命名

      <6>执行命令 vi /etc/profile 设置环境变量,增加了2行内容

      export JAVA_HOME=/usr/local/jdk

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

      保存退出

      执行命令 source /etc/profile 让该设置立即生效

      验证:java -version

      安装hadoop(注意是64位的,如果是32位需要编译)

      <1>执行命令 tar -zxvf(z是压缩格式,x是解压,f是文件) hadoop-2.6.0.tar.gz进行解压缩

      <2>执行命令 mv hadoop-2.6.0 hadoop 重命名

      <3>执行命令 vi /etc/profile 设置环境变量,增加了1行内容

      export HADOOP_HOME=/usr/local/hadoop

      修改了1行内容

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

      保存退出

      执行命令 source /etc/profile 让该设置立即生效

      <4>修改hadoop的配置文件,位于$HADOOP_HOME/etc/hadoop 目录下的

      修改3个配置文件,分别是hadoop-env.shcore-site.xmlhdfs-site.xml

      注意:查看hadoop版本:进入$hadoop_home/lib/native,执行file libhadoop.so.1.0.0(我们知道在64位机器上需要编译源码,可是为什么要编译源码,编译源码后,会有什么效果。
      1.为什么需要编译Java文件?
      你写出来的都是*.JAVA文件,JVM能执行的都是*.CLASS文件,所以需要编译


      2.
      为什么要编译hadoop文件?
      只有编译后的hadoop,才能被就jvm执行,才能被安装

      3.hadoop
      Java文件,Java文件不是一处编译,处处运行的吗?为什么还要编译?
      处处运行是有前提条件的,就是有虚拟机执行,虚拟机分为两种32位,64位。
      如果是32虚拟机编译的文件,只能运行于32虚拟机
      如果是64虚拟机编译的文件,只能运行于64虚拟机

       

       

       

      关闭防火墙

       

       

      参考一下

      疑问:老师操设置完环境变量后并没有source /etc/profile就可以echo $JAVA_HOME,而我操作时却需要source /etc/profile才能echo $JAVA_HOME

       

      注意细节,最后是</configuration>,不然就会报错。

      HDFS伪分布搭建

      修改配置文件etc/hadoop/hadoop-env.sh

      JAVA_HOME=/usr/local/jdk(安装jdk所在的路径)

      修改配置文件etc/hadoop/core-site.xml

      <configuration>

      <property>

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

      <value>hdfs://hadoop:9000</value>

      </property>

          <property>

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

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

      </property>

      <property>

      <name>fs.trash.interval</name>

      <value>1440</value>

      </property>

       

      </configuration>

       

      //备注:<value>/usr/local/hadoop/tmp</value>(备注hadoop运行时产生的数据文件所存在的目录,具有读写权限)

       

       

      修改配置文件etc/hadoop/hdfs-site.xml:

      <configuration>

      <property>

      <name>dfs.replication</name>

      <value>1</value>(指的是副本数)

      </property>

      </configuration>

       

      格式化文件系统

      $ bin/hdfs namenode -format(格式化)

      启动hdfs集群:

      $ sbin/start-dfs.sh

      访问web浏览器:

      (NameNode ) http://localhost:50070/

      练习:

      创建目录:

      $ bin/hdfs dfs -mkdir /user

      $ bin/hdfs dfs -mkdir /user/root

      复制文件:

      $ bin/hdfs dfs -put /etc/profile input

      关闭集群:

      $ sbin/stop-dfs.sh

      启动不成功查看日志文件

      用浏览器查看hdfshttp://hadoop50070/)(能查看就说明HDFS已启动成功啦!恭喜恭喜!)

       

      试验(验证hdfs是启动成功)

       

       

       

       

       

       

      报错情况与解决办法:

       

      配置文件修改错了!重新修改一次!

       

       

      先停止hdfs(sbin/stop-all.sh),删除hadoop下的logs文件夹,然后再删除tmp文件夹,再格式化NameNode(bin/hdfs namenode -format),最后启动hdfs(sbin/start-all.sh)

       

       

  • 相关阅读:
    LAMP 环境搭建
    环境搭建/安装部署
    Linux 系统安装(5分钟)
    Eclipse 配置
    wsdl生成的客户端
    Oracle 修改字符集
    jquery expand
    js中不常用的对象或方法
    js中面向对象的封装
    JavaScript点击li显示索引
  • 原文地址:https://www.cnblogs.com/liuyifeng/p/4802868.html
Copyright © 2011-2022 走看看