• Ubuntu 18.04虚拟机中 安装 Hadoop系统环境


    Ubuntu 18.04 安装 Hadoop系统环境

    安装ssh环境

    配置root用户密码

    修改root用户的初始密码

    sudo passwd

    退出当前用户,使用root登陆系统。

    关闭防火墙

    关闭防火墙

    systemctl stop firewalld.service

    开机不启动防火墙

    systemctl disable firewalld.service

    查看防火墙状态

    ufw status

    inactive状态是防火墙关闭状态,active是开启状态。

    配置root用户远程连接

    (注:装了ssh-server,如果未安装,请先安装)

    apt install openssh-server

    修改sshd_config

    vim /etc/ssh/sshd_config

     

    配置ssh客户端,去掉PasswordAuthentication yes前面的#号
    配置ssh服务器,把PermitRootLogin prohibit-password
    改成PermitRootLogin yes,保存退出。

     

    然后重启SSH服务即可。

    /etc/init.d/ssh restart   #重启SSH服务
    /etc/init.d/ssh stop     #关闭SSH服务

    重启过后通过shell连接:

    注意如果使用Xshell过程提示(SSH服务器拒绝了密码。请再试一次)而且密码肯定没错的情况下,确认是不是用户名字输错了,这里的用户名是SSH用户名不是虚拟主机的用户名 也就是安装系统时候第二次输入的名字(两个名字在填写的时候要求不能重复)

     

    设置ssh localhost 免密码登录

    ssh localhost
    exit

    输入密码登录本机和退出本机

     

    在进行了初次登陆后,会在当前家目录用户下有一个.ssh文件夹,进入该文件夹下:

    cd ~/.ssh/

    使用rsa算法生成秘钥和公钥对:

    ssh-keygen -t rsa

     

    然后把公钥加入到授权中:

    cat ./id_rsa.pub >> ./authorized_keys

    再次ssh localhost的时候就可以无密码登陆了。

    安装jdk

    解压jdk

    创建一个java的文件夹,用户存放Java文件

    mkdir /usr/local/java

    通过ftp工具把下载好的jdk安装包上传到java文件夹下。

    JDk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    Oracle帐号密码:

    2696671285@qq.com 密码:Oracle123

    img

    解压:

    cd /usr/local/java
    tar -vxzf jdk-8u181-linux-x64.tar.gz

    解压成功后会在当前目录下看到:

    jdk1.8.0_181文件夹

    然后删除安装包:

    rm jdk-8u181-linux-x64.tar.gz

    配置jdk

    设置环境变量:

    vim /etc/profile

    在末尾添加:

    JAVA_HOME=/usr/local/java/jdk1.8.0_181
    PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
    export JAVA_HOME
    export PATH

    重新加载环境变量的配置文件:

    source /etc/profile

    检测:

    java -version

     

    安装Hadoop

    解压hadoop

    创建一个hadoop的文件夹,用户存放hadoop文件

    mkdir /usr/local/hadoop

    通过ftp工具把下载好的hadoop安装包上传到hadoop文件夹下。

    官网地址:http://hadoop.apache.org/releases.html

    解压:

    cd /usr/local/hadoop
    tar -vxzf hadoop-2.7.7.tar.gz

    解压完成:

     

    移动hadoop-2.7.7文件下的文件到当前的目录

    mv ./hadoop-2.7.7/* ./

    删除hadoop-2.7.7文件夹

    rm -rf ./hadoop-2.7.7

     

    查看文件夹的所有者以及用户组,最重要的是拥有者是否是当前用户

    ls -l

    img

    如果拥有者不是当前用户,则修改为当前用户:

    sudo chown -R 当前用户名 ./hadoop

    配置hadoop

    设置环境变量:

    vim /etc/profile

    在末尾添加:

    JAVA_HOME=/usr/local/java/jdk1.8.0_181
    HADOOP_HOME=/usr/local/hadoop
    PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    export JAVA_HOME
    export PATH
    export HADOOP_HOME

    重新加载环境变量的配置文件:

    source /etc/profile

    检测:

    hadoop version

    img

     

    修改配置文件

    cd /usr/local/hadoop/etc/hadoop
    vim core-site.xml

    在core-site.xml 中添加

    <!-- 指定HDFS老大(namenode)的通信地址 -->
    <property>
       <name>fs.defaultFS</name>
       <value>hdfs://0.0.0.0:9000</value>
    </property>
    <!-- 指定hadoop运行时产生文件的存储路径 -->
    <property>
       <name>hadoop.tmp.dir</name>
       <value>/usr/local/hadoop/tmp</value>
    </property>
    <property>
       <name>hadoop.tmp.dir</name>
       <value>/usr/local/hadoop/tmp</value>
    </property>

     

    在 hdfs-site.xml 中添加

    vim hdfs-site.xml

     

    <property>
       <name>dfs.data.dir</name>
       <value>/usr/local/hadoop/hdfs/data</value>
       <description>datanode上数据块的物理存储位置</description>
    </property>

    <!-- 设置hdfs副本数量 -->
    <property>
       <name>dfs.replication</name>
       <value>1</value>
    </property>

    <property>
       <name>dfs.permissions</name>
       <value>false</value>
    </property>

     

    在 hadoop-env.sh 中更改 JAVA_HOME

    vim hadoop-env.sh

    注释掉:

    export JAVA_HOME=${JAVA_HOME}

    添加: usr/local/java/jdk1.8.0_241

    export JAVA_HOME=/usr/local/java/jdk1.8.0_181

    重新加载环境变量的配置文件:

    source /etc/profile

    测试,启动

    格式化namenode:

    hadoop namenode -format

     

    启动hdfs

    start-all.sh

     

    查看相应的进程:

    jps

    img

     

    确定5个进程全部启动。

    访问测试:

    10.168.1.129:50070 
    或者?
    localhost:50070

     

    设置开机启动

    进入/etc/init.d/目录下

    cd /etc/init.d/

    创建文件hadoop

    vim hadoop

    写入开机启动相关的脚本内容

    #!/bin/bash
    #
    # chkconfig: 2345 88 33
    # description: Starts and stops Hadoop server

    ### BEGIN INIT INFO
    # Required-Start:
    # Required-Stop:
    # Default-Start:       2 3 4 5
    # Default-Stop:         0 1 6
    # Short-Description:   Starts and stops Hadoop server
    # Description:         Starts and stops Hadoop server
    ### END INIT INFO

    start(){
       #
       # Start Hadoop
       #
      /usr/local/hadoop/sbin/start-all.sh
    }
    stop(){
       #
       # Stop Hadoop
       #
      /usr/local/hadoop/sbin/stop-all.sh
    }

    case "$1" in
       start)
           start
           exit $?
      ;;

       stop)
           stop
           exit $?
      ;;

       restart)
           #
           # Restart Hadoop
           #
           stop
           sleep 5
           start
           exit $?
      ;;
    *)
    echo "Usage hadoop start/stop/restart"
    exit 1;;
    esac

    设置文件权限

    chmod +x hadoop

    添加到服务中

    update-rc.d -f hadoop defaults

    测试

    service hadoop start

    查看服务是否启动成功

    jps

     

    参考链接:https://www.jianshu.com/p/cdae5bab030f

  • 相关阅读:
    SharePoint 2013 文档库中PPT转换PDF
    Linux线程-互斥锁pthread_mutex_t
    利用Python,四步掌握机器学习
    linux 文件夹权限及umask
    Android.mk入门(一)
    《Linux性能及调优指南》----1.1 Linux进程管理
    从进程到线程
    从程序到进程
    Android源码解析系列
    嵌入式工程师必读100本专业书籍
  • 原文地址:https://www.cnblogs.com/StarZhai/p/12664995.html
Copyright © 2020-2023  润新知