基于Ubuntu-Server配置Hadoop伪分布式

准备工作:

创建虚拟机:使用VirtualBox创建虚拟机

安装Ubuntu-Server:VirtualBox安装ubuntu-Server版

VirtualBox网络配置:Virtualbox虚拟机网络配置详解

这里主要讲解伪分布式的安装

  1. 创建一个用户,在这个用户上配置hadoop
  2. 修改hostname 及 hosts
  3. 设置免密登录
  4. 安装并配置JDK
  5. 安装并配置hadoop

1. 新建一个用户,不妨就取名为hadoop

sudo useradd  hadoop -m -s /bin/bash

#为新用户配置密码

sudo passwd hadoop

#将hadoop添加sudo权限

sudo vi /etc/sudoers 

  #在root行下面增加一行,增加的一行将root换成hadoop, 保存时用x! 保存

#切换到新建的hadoop用户

su hadoop

2. 修改hostname及hosts

sudo vi /etc/hostname   #修改主机名为 hadoopnode

(修改hostname不重启的方法,修改完后再运行一遍命令  sudo hostname hadoopnode)

修改hosts文件

sudo vi /etc/hosts    #增加一行内容, hadoopnode前面的IP以你实际的IP为准
192.168.56.101   hadoopnode

3. 设置免密登录

首先安装 sudo apt install openssh-client  &&  sudo apt install openssh-server 如果提示已经安装,继续便是

ssh-keygen -t rsa      #一路回车就行

ssh-copy-id -i  ~/.ssh/id_rsa.pub  hadoopnode

ssh hadoopnode     #如果没让你输入密码,表示免密登录设置成功

4. 安装并配置JDK

打开:https://www.oracle.com/technetwork/java/javase/downloads/index.html 

获取到JDK下载地址,可以在服务器(虚拟机)上使用wget方式下载到服务器,如果下载到Windows,可以使用xftp等工具上传到服务器

解压到根目录:

tar -zxvf jdk-8u201-linux-x64.tar.gz  -C  ~

建一个软链接(方便使用)

ln  -s  jdk1.8.0_201  jdk

配置环境变量:

vi  ~/.bashrc

(等号两侧不要加入空格)

export JAVA_HOME=~/jdk

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:.

使得变量生效:

source  ~/.bashrc

输入java –version检查JDK安装是否成功

5. 安装并配置hadoop

下载, 这里以2.7.7为例:

​
cd ~ && wget “http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz” -O ~/ hadoop-2.7.7.tar.gz

​

解压

tar -zxvf hadoop-2.7.7.tar.gz -C ~

创建超链接:(便于使用)

ln -s hadoop-2.7.7 hadoop

配置环境变量:

vi ~/.bashrc

export HADOOP_HOME=~/hadoop

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

使配置生效:

source  ~/.bashrc

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

export JAVA_HOME=/home/hadoop/jdk

运行 hadoop version 检测当前配置是否正确,如果能看到hadoop版本号再继续往下配置

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

<configuration>
         <property>
                  <name>fs.defaultFS</name>
                  <value>hdfs://hadoopnode:9000</value>
         </property>
         <property>
                  <name>hadoop.tmp.dir</name>
                  <value>file:/home/hadoop/tmp</value>
                  <description>Abase for other temporary directories.</description>
         </property>
</configuration>

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

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
         <name>dfs.namenode.name.dir</name>
         <value>file:/home/hadoop/tmp/dfs/name</value>
     </property>
</configuration>

修改配置文件 $HADOOP_HOME/etc/hadoop/mapred-site.xml

<configuration>
     <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
   <property>
        <name>mapreduce.job.ubertask.enable</name>
        <value>true</value>
    </property>
</configuration>

注意:mapred-site.xml文件不存时,可以拷贝mapred-site.xml.template

修改配置文件$HADOOP_HOME/etc/hadoop/yarn-site.xml

<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoopnode</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

修改配置文件$HADOOP_HOME/etc/hadoop/slaves

hadoopnode

启动hadoop

hdfs namenode -format   #格式化
start-all.sh                        #启动HDFS YARN
jps                                     #查看启动的进程

31876 NodeManager       

31032 NameNode          

31704 ResourceManager    

6090 Jps                   

31484 SecondaryNameNode

31229 DataNode             

通过web查看(配置文件里只是最基本的配置,没有改默认端口):

HDFS:  http://服务器IP:50070  http://服务器IP:50090

Yarn:  http://服务器IP:8088

通过MapReduce测试:

但预先要往hdfs传一个文件,如何操作?

1)  Linux目录下,随意一个目录,创建一个文本文件data.txt,里面写些内容。

2) hdfs dfs  -mkdir /input

3) hdfs dfs -put data.txt /input    ---上传

4) hdfs dfs -ls /input            --查看

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /input/data.txt  /output

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JJustRight

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值