前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ubuntu16 安装Hadoop 3.2.0 记录【全网最详细,最全,多图】

Ubuntu16 安装Hadoop 3.2.0 记录【全网最详细,最全,多图】

作者头像
无道
发布2019-11-13 16:42:31
1.2K0
发布2019-11-13 16:42:31
举报
文章被收录于专栏:无道编程无道编程

这学期有相关课程,记录下相关步骤,以后也方便点。

老师说用Ubuntu16稍微好点,那这里就用Ubuntu16.04 LTS。

然后我们这里安装的是伪分布式!

具体配置:

代码语言:javascript
复制
Vmware 15
Ubuntu16.04 LTS 桌面版
Jdk 8

都是tar包,自行去官网下载即可:

ssh服务

我想使用Xshell连接Vm里面的虚拟机,所以先ifconfig查询IP,通过Xshell登录。

然后其他操作请看我另一篇文章:https://cloud.tencent.com/developer/article/1538377 其实这一步不是必须,可以直接在Vmware操作终端即可,但是我个人觉得里面操作很不方便,所以还是要提到外面用Xshell连接操作。 你要在Ubuntu系统中终端里操作命令,请忽略这一步骤。

创建hadoop用户

这一步没搞明白这么弄的目的是什么,今天上课问一下老师。

创建名为hadoop的用户

代码语言:javascript
复制
sudo useradd -m hadoop -s /bin/bash

创建用户hadoop的密码:

代码语言:javascript
复制
sudo passwd hadoop

叫你输入hadoop用户的密码

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

代码语言:javascript
复制
sudo adduser hadoop sudo

配置ssh秘钥

生成ssh秘钥

代码语言:javascript
复制
ssh-keygen -t rsa -P ''

如果提示命令不存在等,请看我另一篇文章:https://cloud.tencent.com/developer/article/1538377

将钥匙添进无密码验证登录文件:

代码语言:javascript
复制
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

然后试一下登录:

代码语言:javascript
复制
ssh localhost

输入yes,看看是不是进入了:

安装Jdk8

为了将Windows端的jdk8和hadoop的文件传到虚拟机上,我们这里通过安装一个lrzsz的软件来直接在Xshell中上传。 PS:老师讲的是建一个ftp服务,然后通过ftp上传,感觉多此一举。

安装lrzsz
代码语言:javascript
复制
sudo apt install lrzsz

安装完成后即可在Xshell终端输入rz,就可打开传输窗口

传输中

安装vim

我们再安装一个vim,操作文件方便 点,用vi也行。

代码语言:javascript
复制
sudo apt install vim
解压jdk

我们这里要将jdk-8u221-linux-x64.tar.gz解压到/usr/local/,目前jdk-8u221-linux-x64.tar.gz在我的家目录,当然在哪里不重要,统一将其安装(解压)到/usr/local里面。 之后的hadoop也装到/usr/local

确认目前你所在的目录是在**jdk-8u221-linux-x64.tar.gz**的目录,那么执行解压命令:

代码语言:javascript
复制
sudo tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/local

其中8u221-linux-x64是由你下载的jdk版本决定,不要照抄,根据自己的名称来,可输入jdk按tab键自动补全。 还有就是必须加sudo,因为Ubuntu默认不是root用户,需要加sudo

那么我解压后的jdk目录就是:/usr/local/jdk1.8.0_221,这就是JAVA_HOME目录,下一步我们要配置环境变量。

配置JDK环境变量

编辑配置环境变量的文件,用之前的安装的vim,没安装的用vi

代码语言:javascript
复制
sudo vim /etc/profile

将一下内容添加到此文件末尾:

代码语言:javascript
复制
#Set Java Environment
JAVA_HOME=/usr/local/jdk1.8.0_221
JRE_HOME=$JAVA_HOME/jre

HADOOP_HOME=/usr/local/hadoop
ECLIPSE_HOME=/usr/local/eclipse

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ECLIPSE_HOME
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME  HADOOP_HOME  ECLIPSE_HOME  PATH  CLASSPATH

其中JAVA_HOME=/usr/local/jdk1.8.0_221后面的/usr/local/jdk1.8.0_221根据你安装的jdk版本来。 以上代码还顺带将hadoop和eclipse的环境变量也写进来了,还没到那一步,不过写进来也无所谓。hadoop我们也要安装进/usr/local里面

其余代码就不管了,至于如果你不会vim,不会将以上文件填进去的话,那么可以先去学一下vi(m)如何编辑文件。或者在vmware里面用可视化工具编辑也行。

要是环境变量配置生效,需要重启系统,或者执行以下代码:

代码语言:javascript
复制
source /etc/profile

测试是否配置成功,输入**java**和**javac**看看效果:

好了,配置jdk的步骤完成了。这里不止配置了jdk,还有一些前置操作,以后步骤需要用到的。所以长了点。

安装Hadoop

我这里上传jdk包的时候,已经顺带把hadoop的压缩包上传到Ubuntu了,没上传的用rz命令参照上面上传即可。

解压hadoop包

进入到上传包的目录,执行解压命令:

代码语言:javascript
复制
sudo tar -zxvf hadoop-3.2.0.tar.gz -C /usr/local

需要注意的事项,参照解压jdk 【你看此篇文章时到hadoop版本目录问题】

解压中

默认是hadoop-3.2.0,我们需要重命名为hadoop

代码语言:javascript
复制
cd /usr/local # 进入安装目录
sudo  mv hadoop-3.2.0/ hadoop # 重命名
更改hadoop文件夹权限
代码语言:javascript
复制
sudo  chown  -R  hadoop:hadoop  ./hadoop

这一步要求你已经进入/usr/local了,不然以上命令路径没对。

这一步还要我们之前创建了hadoop的用户,因为这是更改为hadoop用户

检测版本信息

在进行这一步之前,我们还需要在hadoop的配置文件里设置一下JAVA_HOME的值:

代码语言:javascript
复制
cd /usr/local/hadoop/etc/hadoop # 进入hadoop的配置文件目录
sudo vim hadoop-env.sh # 编辑配置文件

注:上面截图错了,应该在JAVA_HOME前加个export (注意末尾有个空格)

检测版本信息

代码语言:javascript
复制
cd /usr/local/hadoop
./bin/hadoop veriosn

代码语言:javascript
复制
hadoop veriosn
# 还记得之前我们配置jdk环境变量的时候说的吗,我们顺带配置了hadoop的环境变量(如果你安装到/usr/local/hadoop),那么可以直接运行hadoop命令

WTF,怎么报错了?

代码语言:javascript
复制
kuan@ubuntu:~$ hadoop version
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: /usr/local/hadoop/logs/fairscheduler-statedump.log (Permission denied)
    at java.io.FileOutputStream.open0(Native Method)
    at java.io.FileOutputStream.open(FileOutputStream.java:270)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:133)
    at org.apache.log4j.FileAppender.setFile(FileAppender.java:294)
    at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:207)
    at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:165)

    .......

首先,你没报错的话,说明可能你没有完全按照我的步骤来。 报错了的话,原因很简单,用户不对 我们之前执行了命令sudo chown -R hadoop:hadoop ./hadoop,更换了hadoop文件夹的所属,但我们现在是谁?

切换用户即可:

su - hadoop

输入hadoop密码,切换用户即可。

再次执行:hadoop version

Yes,没有报错。hadoop到此安装完成了,环境变量也配置了。

修改hadoop配置

对于伪分布式安装,我们需要修改core-site.xml和hdfs-site.xml这两个文件。

进入配置文件的目录:

代码语言:javascript
复制
cd /usr/local/hadoop/etc/hadoop

core-site.xml

代码语言:javascript
复制
vim core-site.xml 

添加以下内容:

代码语言:javascript
复制
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000/</value>
        <description>默认的HDFS端口,用于NameNode与DataNode之间到的通讯,IP为NameNode的地址</description>
    </property>
<property>
    <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
        <description>存放hadoop文件系统依赖的基本配置</description>
    </property>
</configuration>

先把这两行删除,然后整体复制我上面的内容

hdfs-site.xml

同样道理

代码语言:javascript
复制
vim ./hdfs-site.xml 

删除默认的<configuration></configuration>

代码语言:javascript
复制
<configuration>
<property>
        <name>dfs.replication</name>
        <value>1</value>
        <description>设置副本数</description>
</property>

<property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/usr/local/hadoop/tmp/dfs/name</value>
   <description>设置存放NameNode的文件路径</description>
</property>

<property>
   <name>dfs.datanode.data.dir</name>
   <value>file:/usr/local/hadoop/tmp/dfs/data</value>
  <description>设置存放DataNode的文件路径</description>
</property>

</configuration>

然后初始化文件系统

代码语言:javascript
复制
hadoop namenode -format

以上命令是配置了环境变量才可以直接使用,不然需要到/usr/local/hadoop/bin目录执行:./hadoop namenode -format

执行结果:

看到如上内容,理论上执行成功了。

执行所有服务

代码语言:javascript
复制
cd /usr/local/hadoop/ #进入安装目录
./sbin/start-all.sh # 执行启动命令

如上。

输入命令**jps**查看在运行的进程:

有以上6个,说明你的hadoop安装运行都没有问题了。

安装eclipse

这后面的内容就是安装eclipse,和本文章关系不大,而且安装的Ubuntu是可视化界面,安装一个软件也没什么。

可能讲到mapreduce还要在续写,或者新写一篇文章。

待续.......

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ssh服务
  • 创建hadoop用户
  • 配置ssh秘钥
  • 安装Jdk8
    • 安装lrzsz
      • 安装vim
        • 解压jdk
          • 配置JDK环境变量
          • 安装Hadoop
            • 解压hadoop包
              • 更改hadoop文件夹权限
                • 检测版本信息
                • 修改hadoop配置
                • 安装eclipse
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档