美文网首页大数据BigData我爱编程
Hadoop伪分布式系统配置

Hadoop伪分布式系统配置

作者: geekAppke | 来源:发表于2016-08-16 18:04 被阅读129次

    主机与linux服务器网络连接配置:

    1.1 host-only(仅主机模式)  宿主机与客户机单独组网(不在同一网段)
        好处:网络隔离
        坏处:虚拟机与其他服务器之间不能通信
    1.2 bridge  客户机与宿主机在同一个局域网中
        好处:都在同一个局域网,可以互相访问
        坏处:不安全
    
    桥接模式

    hadoop的伪分布式安装步骤(root用户):

    1、设置静态ip

    在centos桌面右上角的图标上,右键修改
    重启网卡:service network restart
    验证:ifconfig

    2、修改主机名

    修改当前会话中的主机名:hostname master
    重启电脑,还是会还原为localhost
    修改配置中的主机名:vi /etc/sysconfig/network

    NETWORKING=yes
    # HOSTNAME=localhost.localdomain
    HOSTNAME=master
    

    验证:重启电脑

    3、把hostname和ip绑定

    执行命令:vi /etc/hosts
    在后面添加ip映射:

    192.168.80.100  master
    192.168.80.101  slave1
    192.168.80.102  slave2
    

    验证:ping master

    4、关闭防火墙

    分布式结构,走网络,过端口,有防火墙麻烦
    执行命令:service iptables stop
    验证:service iptables status

    5、关闭防火墙自动运行

    执行命令: chkconfig iptables off
    验证:chkconfig --list | grep iptables

    6、SSH的免密码登录

    实现远程安全访问linux系统
    产生密钥:ssh-keygen -t rsa
    什么都不要输,一直按回车到结束
    执行命令:cp ~/.ssh/id.rsa.pub ~/.ssh/authorized_keys
    复制产生authorized_keys文件,经授权就能免密码登录
    验证: ssh localhost

    7、安装jdk

    (1)先清空/usr/local/ (面的东西都可以删)命令: rm -rf /usr/local/*
    (2)将jdk安装文件复制到/usr/local 目录下
    (3)赋予执行权限 chown 7 jdk-6u24-linux-i586.bin
    (4)当前目录/usr/local下解压jdk 命令:./jdk-6u24-linux-i586.bin
    (5)重命名 mv jdk1.6.0.24 jdk
    (6)配置环境变量 vi /etc/profile
    (7)执行命令 vi /etc/profile 设置环境变量,增加两行内容:

      export JAVA_HOME=/usr/local/jdk
      export PATH=.:$JAVA_HOME/bin:$PATH
    

    让设置生效:source /etc/profile
    验证:java -version

    以上都是准备工作,下面正式安装

    hadoop 的安装

    (1)解压hadoop文件夹: tar -zxvf hadoop-1.1.2.tar.gz
    x解压缩 z压缩格式 v显示信息 f文件
    (2)改名: mv hadoop-1.1.2 hadoop
    (3)设置环境变量: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
    (4)修改hadoop配置文件,在$HADOOP_HOME/conf 目录下
    分别是:hadoop-env.sh | core-site.xml | hdfs-site.xml | mapred-site.xml
    4.1 修改 hadoop-env.sh:vi /usr/local/hadoop/conf/hadoop-env.sh

    去掉注释`#`号,修改`JAVA_HOME`地址 `export JAVA_HOME=/usr/local/jdk`
    硬配置,ssh远程脚本,不加载profile文件!
    

    4.2 修改 core-site.xml:

    <configuration>
        <property>
            <name>fs.default.name</name>
            <value>hdfs://192.168.80.100:9000</value>
            <description> change your own hostname </description>
        </property>
    
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/usr/local/hadoop/tmp</value>
        </property>
    </configuration>
    
    <description>HDFS 的访问路径</description>
    <description>hadoop 的运行临时文件的主目录</description>
    

    4.3 修改 hdfs-site.xml :

    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
    
        <property>
            <name>dfs.permissions</name>
            <value>false</value>
        </property>
    </configuration>
    
    <description>存储副本数</description>
    dfs.permissions 默认是true有权限,如、其它用户不能删除root上传的文件
    false 把权限关闭了,其它用户任意操作
    

    4.4 修改 mapred-site.xml:

    <configuration>
        <property>
            <name>mapred.job.tracker</name>
            <value>192.168.80.100:9001</value>
            <description> change your own hostname </description>
        </property>
    </configuration>
    
    <description>JobTracker 的访问路径 </description>
    

    (5)首次HDFS文件系统要格式化 :hadoop namenode -format

    Warning: $HADOOP_HOME is deprecated.  
    这个警告,不是错误
    注意:只在第一次启动的时候格式化,不要每次启动都格式化
    理解:新买了块移动硬盘,使用之前总要格式化硬盘?
    如果真的有必要再次格式化,先把$HADOOP_HOME/tmp目录下的文件全部删除
    可以观察目录$HADOOP_HOME/tmp 在格式化前后的变化情况
    格式化操作很少有出现失败的情况。如果真出现了,请检查配置是否正确
    

    (6)启动hadoop系统:start-all.sh

    starting datanode正在启动datanode,还未启动完全成功
    hadoop-daemon.sh start [进程名称]
    这种启动方式适合于单独增加、 删除节点的情况,在安装集群环境的时候会看到 
    

    (7)验证hadoop是否安装成功:
    7.1 执行命令 jps ,会发现5个java进程

    NameNode
    SecondaryNameNode
    DataNode
    JobTracker
    TaskTracker
    

    7.2 在master中通过浏览器验证:

    http://master:50070(或者 http://192.168.80.100:50070)
    http://master:50030(或者 http://192.168.80.100:50030)
    如果想在宿主机(windows)中通过浏览器验证,则用:
        http://192.168.80.100:50070
        http://192.168.80.100:50030
    如果想通过 http://master:50070 ,http://master:50030 来验证,则需要
        在C:\Windows\System32\drivers\etc 的hosts文件中添加映射 192.168.80.100 master
    
    HDFS--50070  MapReduce--50030
    

    NameNode进程没有启动成功原因:

    (1)没有格式化
    (2)配置文件
    (3)hostname 与ip没有绑定
    (4)SSH的免密码登录没有配置成功
    一步步来,光执行,不验证很容易出错;单词要正确

    多次格式化hadoop也是错误的?

    方法:删除/usr/local/hadoop/tmp 文件夹,重新格式化

    解决 start-all.sh stop-all.sh 的警告问题Warning: $HADOOP_HOME is deprecated.

    方法:在/etc/profile 中配置 export HADOOP_HOME_WARN_SUPPRESS=1(不等于空就行)

    相关文章

      网友评论

        本文标题:Hadoop伪分布式系统配置

        本文链接:https://www.haomeiwen.com/subject/hjipsttx.html