基于Ubuntu系统下的Hadoop平台搭建

  • 参考文档链接:
  • http://dblab.xmu.edu.cn/blog/2441-2/
  • http://dblab.xmu.edu.cn/blog/2460-2/
  • 1.更换阿里源(因为访问archive.ubuntu太慢,所以换成国内源,访问更快)
  • 2.链接xshell
  • 1.安装SSH服务端
  • 2.链接xhsell
  • 3.安装JAVA环境
  • 4.创建Hadoop用户
  • 4.1创建新用户并设置密码
  • 4.2为hadoop用户添加管理员权限
  • 5.设置SSH免密登录
  • 5.1登录localhost
  • 5.2设置为无密码登录
  • 6.Hadoop安装
  • 6.1解压到我们的Ubuntu系统中
  • 6.2切换到Hadoop用户
  • 6.3解压Hadoop
  • 6.4伪分布式模式配置
  • 6.4.1修改配置文件
  • 6.4.2执行名称节点格式化
  • 6.5启动hadoop
  • 6.6使用浏览器查看HDFS信息
  • 6.7运行伪分布式实例
  • 6.8关闭Hadoop
  • 6.9相关命令


参考文档链接:

http://dblab.xmu.edu.cn/blog/2441-2/

http://dblab.xmu.edu.cn/blog/2460-2/

1.更换阿里源(因为访问archive.ubuntu太慢,所以换成国内源,访问更快)

  • 输入命令行
sudo nano /etc/apt/sources.list

hadoop 为什么 开源 开源hadoop系统搭建_linux

  • 开始替换

  • 替换完毕

hadoop 为什么 开源 开源hadoop系统搭建_大数据_02

  • 进行更新
sudo apt update && sudo apt upgrade

hadoop 为什么 开源 开源hadoop系统搭建_分布式_03

2.链接xshell

1.安装SSH服务端

$ sudo apt-get install openssh-server

2.链接xhsell

hadoop 为什么 开源 开源hadoop系统搭建_hadoop_04

3.安装JAVA环境

  • 安装jdk
sudo apt install openjdk-8-jdk -y

hadoop 为什么 开源 开源hadoop系统搭建_分布式_05

  • 配置环境变量
  • 添加完之后,更新环境变量
1.# 更新环境变量

2.source ~/.bashrc
  • 配置成功

4.创建Hadoop用户

4.1创建新用户并设置密码

  • 用户名为hadoop,使用/bin/bash作为shell
$ sudo useradd -m hadoop -s /bin/bash

hadoop 为什么 开源 开源hadoop系统搭建_分布式_06

4.2为hadoop用户添加管理员权限

sudo adduser hadoop sudo

hadoop 为什么 开源 开源hadoop系统搭建_大数据_07

5.设置SSH免密登录
  • Hadoop并没有提供SSH密码登录的形式,所以需要将所有机器配置为无密码登录

5.1登录localhost

hadoop 为什么 开源 开源hadoop系统搭建_分布式_08

5.2设置为无密码登录

hadoop 为什么 开源 开源hadoop系统搭建_大数据_09

  • 此时就可以使用ssh localhost无密码登录
6.Hadoop安装

6.1解压到我们的Ubuntu系统中

  • 先安装lrzsz(可能有的人装完系统后,这条命令无法使用,可以执行的话请自动略过)
  • hadoop 为什么 开源 开源hadoop系统搭建_分布式_10


  • 把下载好的Hadoop压缩包windows系统中传到我们的虚拟机系统
  • hadoop 为什么 开源 开源hadoop系统搭建_hadoop 为什么 开源_11


6.2切换到Hadoop用户

ssh hadoop@localhost

hadoop 为什么 开源 开源hadoop系统搭建_hadoop_12

6.3解压Hadoop

  • 因为我们刚刚是把压缩包传到了ba这个用户上,现在我们把它movehadoop这个用户上
  • hadoop 为什么 开源 开源hadoop系统搭建_hadoop 为什么 开源_13


  • 再解压
  • hadoop 为什么 开源 开源hadoop系统搭建_大数据_14


  • 此时就转移并解压完成了
  • hadoop 为什么 开源 开源hadoop系统搭建_大数据_15


  • 查看一下版本
  • hadoop 为什么 开源 开源hadoop系统搭建_hadoop 为什么 开源_16


  • 配置环境变量方便打开
  • hadoop 为什么 开源 开源hadoop系统搭建_分布式_17


hadoop 为什么 开源 开源hadoop系统搭建_分布式_18


hadoop 为什么 开源 开源hadoop系统搭建_linux_19

6.4伪分布式模式配置

  • 在单个节点(一台机器上)以伪分布式的方式运行

6.4.1修改配置文件

需要修改/usr/local/hadoop/etc/hadoop/文件夹下的core-site.xmlhdfs-site.xml文件

hadoop 为什么 开源 开源hadoop系统搭建_hadoop 为什么 开源_20

  • core-site.xml
<configuration>
</configuration>

改为

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

hadoop 为什么 开源 开源hadoop系统搭建_hadoop_21


hadoop 为什么 开源 开源hadoop系统搭建_大数据_22

  • hdfs-site.xml
<configuration>
</configuration>

修改为

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

hadoop 为什么 开源 开源hadoop系统搭建_大数据_23


hadoop 为什么 开源 开源hadoop系统搭建_linux_24

6.4.2执行名称节点格式化

$ cd /usr/hadoop

$ ./bin/hdfs namenode -format

6.5启动hadoop

$ cd /usr/hadoop
$ ./sbin/start-dfs.sh

hadoop 为什么 开源 开源hadoop系统搭建_hadoop_25

  • jps命令查看是否启动成功
  • hadoop 为什么 开源 开源hadoop系统搭建_分布式_26


6.6使用浏览器查看HDFS信息

ifconfig 命令即可查看自己的IP地址

hadoop 为什么 开源 开源hadoop系统搭建_大数据_27

6.7运行伪分布式实例

  • 执行以下命令
cd /usr/hadoop

# 在HDFS中创建用户目录
./bin/hdfs dfs -mkdir -p /user/hadoop 

#在HDFS中创建hadoop用户对应的input目录
./bin/hdfs dfs -mkdir input  

#把本地文件复制到HDFS中
./bin/hdfs dfs -put ./etc/hadoop/*.xml input  

#查看文件列表
./bin/hdfs dfs -ls input 

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

#查看运行结果
./bin/hdfs dfs -cat output/*

hadoop 为什么 开源 开源hadoop系统搭建_linux_28

  • 如果要再次运行,需要删除output文件夹

6.8关闭Hadoop

./sbin/stop-dfs.sh

hadoop 为什么 开源 开源hadoop系统搭建_分布式_29

6.9相关命令

$ cd /usr/hadoop

#格式化名称节点 (这个命令只需只需一次)
$ ./bin/hdfs namenode -format 

#启动Hadoop
$ ./sbin/start-dfs.sh  

#查看Hadoop是否成功启动
$ jps 

 # 关闭Hadoop
$ ./sbin/stop-dfs.sh  

 # 删除 tmp 文件,注意这会删除 HDFS中原有的所有数据
$ rm -r ./tmp    

# 重启
$ ./sbin/start-dfs.sh