Ubuntu16.04 安装hadoop伪分布式1

最近要做毕设了,题目嘛应该用的到hadoop,以前上课都是用虚拟机搭建Master+1slave,总感觉用的不爽,于是多方借鉴搭建了伪分布式。

中间也遇到了很多问题,于是趁现在比较闲,记录下。

 

0.环境

本次使用 Ubuntu 16.04 64位 作为系统环境,安装的不是虚拟机,效果是一样的。

ubuntu系统获取

前两天没事点的时候发现3.0.0不见了,换别的也行,这个不重要

Hadoop使用的版本是3.0.0

Hadoop3.0.0下载(注意是第二个)

然后安装好Ubuntu系统

1.准备工作

1.1 创建hadoop用户

01:先打开终端(Ctrl+Alt+T)

键入指令:

sudo useradd -m hadoop -s /bin/bash

 

 

02:设置用户hadoop的登录密码

sudo passwd hadoop

 

 

提示会要求输入两次密码(键入密码不会显示),这里我就用的hadoop。

03:为用户hadoop增加管理员权限

sudo adduser hadoop sudo

 

 

(虽然增加了管理员权限,但后面有些地方还是需要进入root用户进行操作)

1.2 更新apt

接下来注销,登录到hadoop用户下。

为了安装一些软件,我们需要更新apt

sudo apt-get update 

 

 

 

由于之前实验室的课,用的是Centos,自带的好像是vi编辑器,这里就习惯的安装了一个vim,不想安装也没事,就用gedit也是可以的。

sudo apt-get install vim

 

1.3 安装SSH并配置SSH无密码登录

 

之前配置过hadoop的同学们,肯定是知道这个的。

网上是说Ubuntu已经自带了SSH client,还需要安装SSH server

sudo apt-get install openssh-server

 

安装成功后,使用命令登录本机

 

 

ssh localhost

 

 

提示要求输入yes就输入

 

这样做了,我们每次登录还是会需要输入密码。

 

接下来配置SSH无密码登录

首先退出登录的SSH。

 

想要退出的话,键入exit即可。

接下来生成密码并加入授权:

cd ~/.ssh/
ssh-keygen -t rsa //遇到提示,一路回车即可
cat ./id_rsa.pub >> ./authorized_keys //加入授权

 

接下来可以再次尝试ssh localhost,如若无需再次输入密码,既成功。

 

1.4 安装Java环境

01:下载和安装jdk

这里选择的版本是1.8.0_161

JDK1.8.0_161 64bit下载

下载好后,找到文件所在位置(以我的为例,在下载目录下)

cd ~/下载
mv ~/下载/jdk-8u161-linux-x64.tar.gz /usr/java //若提示权限不够,则进入root下操作
tar -xvf /usr/java/jdk-8u161-linux-x64.tar.gz


可以在对应的路径下找到解压好的jdk文件

 

02:配置环境变量

 

vim ~/.bashrc


将如下环境变量写入文件第一行(i键,对文档开始编辑)

 

 

保存,退出。(Esc--:wq)

接下来需要让环境变量生效:

source ~/.bashrc

 

检查是否配置正确:

 

java -version

2.安装Hadoop

 

cd ~/下载
mv ~/下载/hadoop-3.0.0.tar.gz /usr/local/hadoop
tar -xvf /usr/local/hadoop/hadoop-3.0.0.tar.gz

 

解压完成后,可进行验证

 

cd /usr/local/hadoop

 

 

3.Hadoop伪分布式配置

01. 配置core-site.xml

vim /usr/local/hadoop/etc/hadoop/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>

02. 配置hadoop-env.sh

vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh

 

找到被注释掉的JAVA_HOME

 

03. 配置hdfs-site.xml

 


 
vim /usr/local/hadoop/etc/hadoop/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>

配置完成后,执行NameNode的格式化

/usr/local/hadoop/bin/hdfs namenode -format

 

会有提示是否成功。

 

接着开启NameNode和DataNode

/usr/local/hadoop/sbin/start-dfs.sh

 

这时,你可能会发现一个警告:

 

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

该解决办法请自行问度娘,加一个环境变量就可以。

 

至此,完成配置,可通过jps查看是否启动成功。

 

ps:如果在最后查看localhost:50070

若发现404问题

1. 手动修改hdfs-site.xml 添加如下:

<property>
  <name>dfs.http.address</name>
  <value>127.0.0.1:50070</value>
</property>

127.0.0.1是对应的localhost地址

2. 也有可能是你的电脑为手机开启了热点

可以用第一种方式或者关闭热点解决该问题

 

后面还会进行Yarn的配置,暂时先到这里

 

参考文章:

1.Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

http://www.powerxing.com/install-hadoop/

2.hadoop无法访问50070端口

http://blog.csdn.net/Neone__u/article/details/53741786

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章