• centos7 hadoop 单机模式安装配置


    前言

    由于现在要用spark,而学习spark会和hdfs和hive打交道,之前在公司服务器配的分布式集群,离开公司之后,自己就不能用了,后来用ambari搭的三台虚拟机的集群太卡了,所以就上网查了一下hadoop+hive的单机部署,以便自己能进行简单的学习,这里记录一下,本来想把hadoop和hive的放在一起写,由于太多,就分成两篇写了。

    1、首先安装配置jdk(我安装的1.8)

    2、下载hadoop

    下载地址:http://mirror.bit.edu.cn/apache/hadoop/common/,我下载的是hadoop-2.7.5.tar.gz
    (由于我之前用的2.7.1是几年前下载保存在本地的,现在发现之前在配置spark那篇写的那个hadoop下载地址较慢,所以改成这个地址)

    3、解压到/opt目录下(目录根据自己习惯)

    tar -zxvf hadoop-2.7.5.tar.gz  -C /opt/

    4、配置hadoop环境变量

    vim /etc/profile
    export HADOOP_HOME=/opt/hadoop-2.7.5
    export PATH=$PATH:$HADOOP_HOME/bin
    source /etc/profile

    5、配置hadoop

    5.1 配置hadoop-env.sh

    vim /opt/hadoop-2.7.5/etc/hadoop/hadoop-env.sh
    export JAVA_HOME=/opt/jdk1.8.0_45

    找到# The java implementation to use.将其下面的一行改为:

    5.2 配置core-site.xml (5.2和5.3中配置文件里的文件路径和端口随自己习惯配置)

    其中的IP:192.168.44.128为虚拟机ip,不能设置为localhost,如果用localhost,后面在windows上用saprk连接服务器(虚拟机)上的hive会报异常(win读取的配置也是localhost,这样localhost就为win本地ip了~也可以给ip加个映射,不过因为单机的我就没加)。

    vim /opt/hadoop-2.7.5/etc/hadoop/core-site.xml
    <configuration>
    <property>
            <name>hadoop.tmp.dir</name>
            <value>file:///opt/hadoop-2.7.5</value>
            <description>Abase for other temporary directories.</description>
        </property>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://192.168.44.128:8888</value>
        </property>
    </configuration>

    5.3 配置hdfs-site.xml

    vim /opt/hadoop-2.7.5/etc/hadoop/hdfs-site.xml
    <configuration>
            <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:///opt/hadoop-2.7.5/tmp/dfs/name</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:///opt/hadoop-2.7.5/tmp/dfs/data</value>
        </property>
    </configuration>
    6、SSH免密码登录

    以下用三台centos为例,ip分别为192.168.44.138、192.168.44.139、192.168.44.140,分别对应别名master、slave1、slave2

    1、首先在每个机器上执行

    ssh-keygen -t rsa

    将公钥导入到认证文件中一直按回车默认就好

    将三个机器上id_rsa.pub的内容合并起来放在authorized_keys,可以用命令按下面的步骤来,也可以分别将三个机器的公钥拷贝出来放在一个文件里,之后分别复制到各自机器的authorized_keys,我用的是下面的命令

    2.1 在master上执行

    cd ~/.ssh
    cat id_rsa.pub>>authorized_keys

    如果不能免密登录,可能是文件权限不对,执行下面的命令,再验证一下(这时如果配单机的话,就可以免密登录本机了,可以执行ssh localhost 或ssh master验证一下,如下图)

    chmod 710 authorized_keys

    然后将master的authorized_keys传到slave1上的.ssh目录下

    scp -r authorized_keys root@slave1:~/.ssh 

    2.2 在slave1上执行

    cd ~/.ssh
    cat id_rsa.pub>>authorized_keys
    scp -r authorized_keys root@slave2:~/.ssh

    2.3 在slave2上执行

    这一步实际是将salve1的id_rsa.pub和master传过来的authorized_keys里的内容合并起来存到authorized_keys,然后将authorized_keys传到slave2机器上

    cd ~/.ssh
    cat id_rsa.pub>>authorized_keys
    scp -r authorized_keys root@master:~/.ssh
    scp -r authorized_keys root@slave1:~/.ssh

    ssh master这一步实际是将salve2的id_rsa.pub和slave1传过来的authorized_keys里的内容合并起来存到authorized_keys,然后将authorized_keys传到master、slave1机器上。
    到这里,每台机器上的authorized_keys都含有三台机器的公钥,在每台机器上验证一下是否可以免密ssh登录到三台机器上了。

    ssh slave1
    ssh slave2

    如果都不需要输入密码,就代表配置成功! 

    7、启动与停止

    第一次启动hdfs需要格式化:

    cd /opt/hadoop-2.7.5
    ./bin/hdfs namenode -format

    Re-format filesystem in Storage Directory /opt/hadoop-2.7.5/tmp/dfs/name ? (Y or N)

    输入:Y
    (出现询问输入Y or N,全部输Y即可)
    启动:

    ./sbin/start-dfs.sh

    停止:

    ./sbin/stop-dfs.sh

    验证,浏览器输入:http://192.168.44.128:50070

    简单的验证hadoop命令:

    hadoop fs -mkdir /test


    在浏览器查看,出现如下图所示,即为成功

    8、配置yarn

    8.1 配置mapred-site.xml

    cd /opt/hadoop-2.7.5/etc/hadoop/
    cp mapred-site.xml.template mapred-site.xml
    vim mapred-site.xml
    <configuration>
        <!-- 通知框架MR使用YARN -->
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    8.2 配置yarn-site.xml

    vim yarn-site.xml
    <configuration>
        <!-- reducer取数据的方式是mapreduce_shuffle -->
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
    </configuration>

    8.3 yarn启动与停止

    启动:

    cd /opt/hadoop-2.7.5
    ./sbin/start-yarn.sh

    停止:

    ./sbin/stop-yarn.sh
    浏览器查看:http://192.168.44.128:8088


    jps查看进程

    到此,hadoop单机模式就配置成功了!

  • 相关阅读:
    关于今后的进展
    很久没来了
    达到极限了
    寒假进度4Scala环境配置
    寒假进度3Jupyter运行PyTorch
    寒假进度2Pycharm运行PyTorch
    寒假进度7Python与Jupyter使用对比
    寒假进度6音频多人声分离赛题分析
    《Google的软件测试之道》(5)
    《Google的软件测试之道》(6)
  • 原文地址:https://www.cnblogs.com/huanghanyu/p/13129415.html
Copyright © 2020-2023  润新知