• Hadoop环境搭建|第二篇:hadoop环境搭建


    硬件配置:1台NameNode节点、2台DataNode节点

    一、Linux环境配置

    这里我只配置NameNode节点,DataNode节点的操作相同。

    1.1、修改主机名

    命令:vi /etc/sysconfig/network
    修改内容:
    NETWORKING=yes
    HOSTNAME=master
    命令:hostname master

    1.2、修改ip地址(桥接模式)

    命令:vi /etc/sysconfig/network-scripts/ifcfg-eth0
    修改内容:(保留最简配置)
    DEVICE=eth0
    BOOTPROTO=static
    ONBOOT=yes
    TYPE=Ethernet
    IPADDR=192.168.12.80
    NETMASK=255.255.255.0
    GATEWAY=192.168.12.254
    命令:service network restart 重启网络服务

    1.3、配置主机名和ip地址的映射关系

    命令:vi /etc/hosts
    修改内容:
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.12.80 master
    192.168.12.81 slave1
    192.168.12.82 slave2

    1.4、关闭防火墙

    命令:service iptables status 查看防火墙状态
    命令:service iptables stop  关闭防火墙

    1.5、设置防火墙开机不启动

    命令:chkconfig iptables --list 查看防火墙开机启动状态
    命令:chkconfig iptables off  设置防火墙开机不启动

    二、java环境配置

    使用软件SSHSecureShellClient进行文件的上传、远程命令执行等。

    2.1、上传jdk

    创建文件夹用于存放jdk文件,下载用于linux操作系统的jdk版本。
    命令:mkdir java

    2.2、解压jdk

    命令:tar -zxvf jdk-8u121-linux-x64.tar.gz -C /home/bi/java

    2.3、修改环境变量

    命令:vi /etc/profile
    修改内容:
    export JAVA_HOME=/home/bi/java/jdk1.8.0_121
    export PATH=${JAVA_HOME}/bin:$PATH
    命令:source /etc/profile 重新加载环境变量脚本

    2.4、验证java是否生效

    命令:java -version

    2.5、将java文件夹复制到DataNode节点下,并配置JDK环境变量

    命令:
    scp -r java bi@slave1:/home/bi/java
    scp -r java bi@slave2:/home/bi/java

    三、hadoop环境配置

    3.1、上传hadoop安装包

    创建文件夹用于存放hadoop安装文件
    命令:mkdir hadoop

    3.2、解压hadoop安装包

    命令:tar -zxvf hadoop-2.7.3.tar.gz -C /home/bi/hadoop
    在hadoop中有几个重要的目录:
    sbin:启动或者停止hadoop相关服务的脚本
    bin:对hadoop相关服务进行操作的脚本
    etc:hadoop相关配置文件
    share:hadoop依赖的相关jar包和文档
    lib:hadoop本地库

    3.3、修改环境变量

    命令:vi /etc/profile
    修改内容:
    export HADOOP_HOME=/home/bi/hadoop/hadoop-2.7.3
    export PATH=${JAVA_HOME}/bin:$PATH:${HADOOP_HOME}/bin
    命令:source /etc/profile

    3.4、配置hadoop(完全分布式)

    命令:mkdir data 在hadoop文件夹下创建data文件夹用于存放hdfs数据
    进入目录/hadoop/hadoop-2.7.3/etc/hadoop下:
    1)修改core-site.xml文件
    <configuration>
    <!-- 配置NameNode地址-->            
    <property>
                        <name>fs.defaultFS</name>
                        <value>hdfs://master:9000</value>
                </property>
    <!-- 配置HDFS数据存储目录 -->
                <property>
                        <name>hadoop.tmp.dir</name>
                        <value>/home/bi/hadoop/hadoop-2.7.3/data</value>
                </property>
    </configuration>
    2)修改hdfs-site.xml文件

    <configuration>
    <!-- 配置HDFS副本备份数 -->
                <property>
                        <name>dfs.replication</name>
                        <value>1</value>
                </property>
                <!-- 配置SecondaryNameNode地址 -->
                <property>
                        <name>dfs.namenode.secondary.http-address</name>
                        <value>master:50090</value>
                </property>
    </configuration>
    3)修改mapred-site.xml文件
    <configuration>
    <!-- 配置mapreduce运行在yarn上 -->
                <property>
                        <name>mapreduce.framework.name</name>
                        <value>yarn</value>
                </property>
                <property>
                        <name>mapreduce.jobhistory.address</name>
                        <value>master:10020</value>
                </property>
                <property>
                        <name>mapreduce.job.tracker</name>
                        <value>master:9001</value>
                </property>
    </configuration>
    4)修改yarn-site.xml文件
    <configuration>
                <property>
                        <name>yarn.nodemanager.aux-services</name>
                        <value>mapreduce_shuffle</value>
                </property>
                <property>
                       <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
                        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
                </property>
    <!-- 配置resourcemanager的地址 -->
                <property>
                        <name>yarn.resourcemanager.address</name>
                        <value>master:8032</value>
                </property>
                <property>
                         <name>yarn.resourcemanager.scheduler.address</name>
                         <value>master:8030</value>
                </property>
                <property>
                         <name>yarn.resourcemanager.resource-tracker.address</name>
                         <value>master:8031</value>
                </property>
                <property>
                         <name>yarn.resourcemanager.admin.address</name>
                         <value>master:8033</value>
                </property>
                <property>
                         <name>yarn.resourcemanager.webapp.address</name>
                         <value>master:8088</value>
                </property>
    </configuration>
    5)修改slaves文件
    修改内容:(删除文件中其他内容)
    slave1
    slave2
    6)修改hadoop-env.sh、mapred-env.sh、yarn-env.sh文件
    修改内容:
    export JAVA_HOME=/home/bi/java/jdk1.8.0_121

    3.5、配置ssh免密码登录

    1)执行下列命令,让master节点能够免密码登录自身服务器
    命令:
    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
        chmod 0600 ~/.ssh/authorized_keys
    2)让master节点可以免密码登录到两个子节点(slave1、slave2)
    为了实现这个功能,两个slave节点的公钥文件中必须要包含主节点的公钥信息,这样master就可以顺利安全的访问这两个slave节点了。
    命令:
    scp -r id_rsa.pub bi@slave1:/home/bi/.ssh/authorized_keys
    scp -r id_rsa.pub bi@slave2:/home/bi/.ssh/authorized_keys
    命令:测试免密码登录是否成功
    ssh slave1
    ssh slave2

    3.6、将master节点配置的hadoop文件复制到两个子节点(slave1、slave2)

    命令:
    scp -r hadoop bi@slave1:/home/bi
    scp -r hadoop bi@slave2:/home/bi

    3.7、格式化NameNode

    命令:hdfs namenode -format

    3.8、启动hadoop

    命令:sbin目录
    sbin/start-all.sh

    3.9、查看启动结果

    命令:jps(master节点)
    命令:jps(slave节点)
    也可以打开界面:192.168.12.80:50070、192.168.12.80:8088查看节点状态

  • 相关阅读:
    POJ 3278 Catch That Cow
    Object-C 函数定义 -- 笔记
    Object-C变量作用域 -- 笔记
    Object-C 对象 (创建/销毁 对象)-- 笔记
    Object-C 类定义 -- 笔记
    JavaScript 自动分页插件 datatables
    JavaScript 随机数函数
    Server Job: error: String or binary data would be truncated. The statement has been terminated.
    SQL Server error "Xml data type is not supported in distributed queries" and workaround for it
    angularJS怎么实现与服务端的PHP进行数据交互
  • 原文地址:https://www.cnblogs.com/maikucha/p/8004014.html
Copyright © 2020-2023  润新知