Hadoop3.1.1+Ubuntu18.04虚拟机三种部署方式

一.安装虚拟机:

  1. 在3台电脑中或者3个虚拟机中安装Ubuntu系统,并测试三台电脑能互相ping通

Hadoop3.1.1+Ubuntu18.04虚拟机三种部署方式_第1张图片

二.安装Java:

1. 在3台Ubuntu电脑中安装Oracle Java 8

(由于Hadoop对高版本jdk支持不好,所以若jdk版本大于8,卸载后重新安装。卸载 指令:

移除所有 Java相关包 (Sun, Oracle, OpenJDK, IcedTea plugins, GIJ):

sudo apt-get update

sudo apt-cache search java | awk '{print($1)}' | grep -E -e '^(ia32-)?(sun|oracle)-java' -e '^openjdk-' -e '^icedtea' -e '^(default|gcj)-j(re|dk)' -e '^gcj-(.*)-j(re|dk)' -e 'java-common' | xargs sudo apt-get -y remove

sudo apt -y autoremove

清除配置信息: dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge

清除java配置及缓存: bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf

手动清除JVMs: rm -rf /usr/lib/jvm/*)

安装jdk8:

官网下载:

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

解压:

sudo mkdir /usr/lib/jdk8

sudo tar zxvf jdk-8u191-linux-x64.tar.gz -C /usr/lib/jdk8

cd /usr/lib/jdk8

sudo gedit ~/.bashrc

在文件内添加:

export JAVA_HOME=/usr/lib/jdk8/jdk1.8.0_191

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

重新启动脚本:

source ~/.bashrc

安装完成后可以查看java版本

 

三.安装SSH服务以及配置免密登陆:

1. hadoop需要使用SSH的方式登陆,linux下需要安装SSH。客户端已经安装好了,只需要安装服务端就可以了:

sudo apt install openssh-server

测试登陆本机 ssh localhost  输入yes就应该可以登录了。

 

2.  配置成免密码登陆的方式

(三台电脑)ssh-keygen -t rsa (一直Enter直到生成完成)

(Master)cd ~/.ssh

cat id_rsa.pub >> authorized_keys

scp authorized_keys gary@slave1:~/.ssh

scp authorized_keys gary@slave2:~/.ssh

此时Master主机输入ssh 可以无密码登陆

Hadoop3.1.1+Ubuntu18.04虚拟机三种部署方式_第2张图片

 

四.安装Hadoop:

1. 从官网下载Hadoop 3,并复制进每台机器中,官网下载地址:

https://hadoop.apache.org/releases.html

解压至当前目录即可,解压后赋予权限:

sudo chown -R gary ./hadoop-3.1.1

将hadoop添加进系统变量中:sudo gedit ~/.bashrc

export HADOOP_HOME=~/Code/hadoop-3.1.1

export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

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

使系统变量生效:

source ~/.bashrc

此时在终端中输入hadoop version可以看到hadoop的版本即为配置成功:

Hadoop3.1.1+Ubuntu18.04虚拟机三种部署方式_第3张图片

然后进入hadoop-3.1.1目录

单点模式测试

准备输入文件: mkdir input

cp etc/hadoop/*.xml input

使用hadoop自带程序进行测试:

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jar wordcount input output

运行结束后查看运行结果:

cat output/*

Hadoop3.1.1+Ubuntu18.04虚拟机三种部署方式_第4张图片

伪分布式测试:

编辑以下文件:

文件在Hadoop文件夹“etc/hadoop/”目录下

core-site.xml

    

        fs.defaultFS

        hdfs://localhost:9000

    

hdfs-site.xml

    

        dfs.replication

        1

    

hadoop-env.sh (设置java的路径)

找到JAVA_HOME行,设置为自己的java环境变量

运行与测试:

依次输入如下命令:

bin/hdfs namenode -format

sbin/start-dfs.sh

bin/hdfs dfs -mkdir /user

bin/hdfs dfs -mkdir input

bin/hdfs dfs -put etc/hadoop/*.xml input //将要处理的数据输入

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0.jar grep input output 'dfs[a-z.]+'

bin/hdfs dfs -get output output//将输出提取到本地的output文件夹内

cat output/*

bin/hdfs dfs -cat output/*

sbin/stop-dfs.sh //结束

启动成功后 http:// localhost:8088/为hadoop web页面

http:// localhost:9870/为HDFS页面

Hadoop3.1.1+Ubuntu18.04虚拟机三种部署方式_第5张图片

Hadoop3.1.1+Ubuntu18.04虚拟机三种部署方式_第6张图片

完全分布式测试:

  1. 修改各个主机的host文件(sudo gedit /etc/hosts):

sudo gedit /etc/hosts

  1. 修改core-site.xml文件

  fs.default.name

  hdfs://master:9000

  1. 修改配置文件 hdfs-site.xml

  dfs.replication

  2

  1. 修改mapred-site.xml文件

  mapreduce.job.tracker

  master:5431

  mapred.framework.name

  yarn

  1. 修改yarn-site.xml文件

  yarn.resourcemanager.resource-tracker.address

  master:8025

  yarn.resourcemanager.scheduler.address

  master:8035

  yarn.resourcemanager.address

  master:8050

  1. 修改workers文件

master

slaver1

slaver2

  1. 将主机已配置好的hadoop文件拷贝至另外两台主机:

scp -r hadoop-3.1.1 gary@slaver1:/home/gary/Code

scp -r hadoop-3.1.1 gary@slaver2:/home/gary/Code

  1. 停止服务,并格式化namenode:

hdfs namenode -format

PS:若需要停止服务,则:

若需要重启服务,则:

  1. cd sbin
  2. ./stop-all.sh
  3. 删除/tmp/hadoop*文件夹
  4. hdfs namenode -format
  5. ./start-all.sh

 

  1. 启动服务:

start-dfs.sh

start-yarn.sh

Hadoop3.1.1+Ubuntu18.04虚拟机三种部署方式_第7张图片

  1. 在master节点运行jps可看到如下结果:

Hadoop3.1.1+Ubuntu18.04虚拟机三种部署方式_第8张图片

在slaver节点运行jps可看到如下结果:

  1. 在master节点运行hdfs dfsadmin -report可看到如下结果:

Hadoop3.1.1+Ubuntu18.04虚拟机三种部署方式_第9张图片

Hadoop3.1.1+Ubuntu18.04虚拟机三种部署方式_第10张图片

Hadoop3.1.1+Ubuntu18.04虚拟机三种部署方式_第11张图片

  1. 可在浏览器中输入https://master:8088/cluster查看到3台主机的状态:

Hadoop3.1.1+Ubuntu18.04虚拟机三种部署方式_第12张图片

  1. 运行wordcount测试程序:

hdfs dfs -mkdir -p input

hdfs dfs -put -p etc/hadoop/*.xml input

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jar wordcount input output

hdfs dfs -cat output/*

运行结束后即可看到运行结果:

Hadoop3.1.1+Ubuntu18.04虚拟机三种部署方式_第13张图片

 

你可能感兴趣的:(大数据)