本文章是我刚刚大二写的,在我博客上面放着,现在腾到语雀上,我的博客地址:ubuntu系统下搭建hadoo环境

说明:本人Ubuntu系统是18.04版本 操作中用的jdk是jdk-8u162-linux-x64 hadoop是hadoop-2.7.1_64bit

1.前期准备

1.切换到root用户下

  1. #初始化root用户密码
  2. sudo passwd

2.查看防火墙状态

inactive是防火墙关闭状态,active是开启状态
image.png

如果开的话就关闭防火墙

systemctl stop firewalld.service

开机不启动防火墙

systemctl disable firewalld.service

3.设置ssh localhost 免密码登录

ssh localhost

输入密码登录本机和退出本机
image.png

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

cd ~/.ssh/

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

ssh-keygen -t rsa

运行后一路回车就可以了,其中第一个是要输入秘钥和公钥对的保存位置,默认是在:

.ssh/id_rsa

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

cat ./id_rsa.pub >> ./authorized_keys

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

过程如下:
image.png

2.安装jdk

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

mkdir /usr/local/java

刷新,此时在我们的user/local中可以看到我们新建的java文件夹
image.png

2.上传我们的jdk安装包到我们新建的java目录下

#切换到java目录下
root@VM-12-9-ubuntu:~# cd /usr/local/java
#上传文件命令
root@VM-12-9-ubuntu:/usr/local/java# rz

3.入图所示,我们jdk下载成功了
image.png

4.解压jdk文件(注意文件名称,jdk版本)

#也可以用ls命令来检查这个目录下是否有这个文件
root@VM-12-9-ubuntu:/usr/local/java# ls
jdk-8u162-linux-x64.tar.gz
#解压jdk文件(注意文件名称,jdk版本,可以用Tab键来补全代码)
root@VM-12-9-ubuntu:/usr/local/java# tar -vxzf jdk-8u162-linux-x64.tar.gz 
jdk1.8.0_162/
jdk1.8.0_162/javafx-src.zip
jdk1.8.0_162/bin/
jdk1.8.0_162/bin/jmc
jdk1.8.0_162/bin/serialver
jdk1.8.0_162/bin/jmc.ini
jdk1.8.0_162/bin/jstack
jdk1.8.0_162/bin/rmiregistry
jdk1.8.0_162/bin/unpack200
jdk1.8.0_162/bin/jar
jdk1.8.0_162/bin/jps
jdk1.8.0_162/bin/wsimport
#.....解压文件中还有很多的内容,这里就不一一列举了

5.配置环境变量

root@VM-12-9-ubuntu:/usr/local/java# vim .bashrc
##在里面输入
JAVA_HOME=/usr/local/java/jdk1.8.0_162
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH

#使配置文件生效
root@VM-12-9-ubuntu:~# source .bashrc

#查看java版本
root@VM-12-9-ubuntu:~# java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

#查看java路径
root@VM-12-9-ubuntu:~# $echo $JAVA_HOME
bash: /usr/local/java/jdk1.8.0_162: Is a directory

#也可以用javac java来验证,看里面的

3.安装Hadoop

1.创建一个hadoop的文件夹,用户存放hadoop文件(步骤同上)

#新建hadoop目录
root@VM-12-9-ubuntu:~# mkdir /usr/local/hadoop
root@VM-12-9-ubuntu:~# cd /usr/local/hadoop
#上传文件
root@VM-12-9-ubuntu:/usr/local/hadoop# rz

2.解压hadoop(注意文件名称,hadoop版本)

root@VM-12-9-ubuntu:/usr/local/hadoop# tar -vxzf hadoop-2.7.1_64bit.tar.gz

3.移动hadoop-2.7.1文件下的文件到当前的目录

root@VM-12-9-ubuntu:/usr/local/hadoop# mv ./hadoop-2.7.1/* ./

4.设置环境变量

#设置环境变量:
root@VM-12-9-ubuntu:~# vim .bashrc
##在里面加入
JAVA_HOME=/usr/local/java/jdk1.8.0_162
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

#使配置文件生效
root@VM-12-9-ubuntu:~# source .bashrc

#检测:
root@VM-12-9-ubuntu:~# hadoop version
Hadoop 2.7.1
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 15ecc87ccf4a0228f35af08fc56de536e6ce657a
Compiled by jenkins on 2015-06-29T06:04Z
Compiled with protoc 2.5.0
From source with checksum fc0a1a23fc1868e4d5ee7fa2b28a58a
This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-2.7.1.jar

4.修改hadoop配置文件

1.在/usr/local/hadoop/etc/hadoop中找到core-site.xml文件和hdfs-site.xml文件

core-site.xml文件中配置信息入下

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

hdfs-site.xml配置文件 入下:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/data</value>
    </property>
</configuration>

5.测试、启动

1.格式化namenode:

root@VM-12-9-ubuntu:/usr/local/hadoop/etc/hadoop# hadoop namenode -format

image.png

看到这两个字眼则表示测试成功!

2.启动hdfs

root@VM-12-9-ubuntu:/usr/local/hadoop/etc/hadoop# start-all.sh

3.查看相应的进程:

root@VM-12-9-ubuntu:/usr/local/hadoop/etc/hadoop# jps

image.png

4.访问测试

1.首先确保你的服务器50070端口是打开状态的,如果没有打开就去服务器防火墙处打开50070端口号,添加规则即可!
image.png

你的ip地址:50070

会出现如下页面:
image.png

3.修改配置文件,让在主目录中也能开启关闭hadoop服务

root@VM-12-9-ubuntu:~# vim ~/.bashrc
#在里面加入
export PATH=$PATH:/usr/local/hadoop/sbin:/user/local/hadoop/bin

#使配置文件生效
root@VM-12-9-ubuntu:~# source  ~/.bashrc
#启动测试
root@VM-12-9-ubuntu:~# start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
Starting namenodes on [localhost]
localhost: namenode running as process 25883. Stop it first.
localhost: starting datanode, logging to /usr/local/hadoop/logs/hadoop-root-datanode-VM-12-9-ubuntu.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: secondarynamenode running as process 26521. Stop it first.
starting yarn daemons
resourcemanager running as process 26773. Stop it first.
localhost: nodemanager running as process 27193. Stop it first.