(编辑:jimmy 日期: 2024/12/26 浏览:2)
网上和很多书上都有不少的hadoop在linux系统下的安装教程,但是尝试过的读者会发现,就算是按照这些教程一步步的操作,还是会在某个地方出错,主要原因是版本问题。尤其是书上的版本一般都较老,所以并不建议对着书上的教程来操作,但是可以作为参考。下面给出我自己亲身实践的安装过程,尽量把我知道的原理也写出来,这样就算有些步骤出现问题,知道了原因也是很容易解决的,就怕出现问题了,还不知道问题出在哪?
下面的代码都是在ubuntu的命令窗口(terminal)中输入:
1.工具准备:
1.1 更新apt-get:在命令行窗口中使用apt-get安装软件很方便;
sudo apt-get update
1.2 安装vim:配置文件。
sudo apt-get install vim
根据输出结果,需要输入“Y”来继续。
2.创建hadoop用户:
2.1增加hadoop用户:创建 hadoop 用户,并使用 /bin/bash 作为 shell
sudo useradd -m hadoop -s /bin/bash
2.2设置密码,按提示输入两次密码:
sudo passwd hadoop
2.3为 hadoop 用户增加管理员权限:
sudo adduser hadoop sudo
3.安装SSH、配置SSH无密码登陆
集群、单节点模式都需要用到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上面运行命令),Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server:
sudo apt-get install openssh-server
安装后,可以使用如下命令登陆本机:
ssh localhost
4.安装java环境
4.1安装jdk:
sudo apt-get install openjdk-8-jre openjdk-8-jdk
4.2配置JAVA_HOME
dpkg -L openjdk-8-jdk | grep '/bin/javac'
该命令会输出一个路径,除去路径末尾的 “/bin/javac”,剩下的就是正确的路径了。如输出路径为 /usr/lib/jvm/java-8-openjdk/bin/javac,则我们需要的路径为 /usr/lib/jvm/java-8-openjdk。
如果这里输出错误,那我们怎么知道JAVA_HOME的地址呢?很简单,输入:
java -verbose
输出:usr/lib/jvm/java-8-openjdk/jre/lib/rt.jar
则前面的usr/lib/jvm/java-8-openjdk就是JAVA_HOME的地址。
然后,使用命令 sudo gedit /etc/profile 打开 /etc/profile 文件:
sudo gedit /etc/profile
然后在文件末尾添加如下三行:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
然后ctrl+s保存。然后执行如下代码,使更改生效:
$source ~/.bashrc
如果JAVA_HOME还是没有更改过来,可能是文件没有生效,运行
$source /etc/profile
再查看JAVA_HOME,可以发现是我们在文件中设置的路径。
如果上面设置正确的话,$JAVA_HOME/bin/java -version 会输出 java 的版本信息,且和 java -version 的输出结果一样,如下图所示,则配置成功:
5.安装Hadoop
5.1hadoop程序下载:http://mirror.bit.edu.cn/apache/hadoop/common/
建议选择下载 “stable” 下的 hadoop-2.x.y.tar.gz 。
5.2 hadoop安装
输入命令:
sudo tar -zxf ~/Downloads/hadoop-2.7.2.tar.gz -C /usr/local cd /usr/local/ sudo mv ./hadoop-2.7.2/ ./hadoop sudo chown -R hadoop ./hadoop
Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:
cd /usr/local/hadoop ./bin/hadoop version
5.3 hadoop单击配置
Hadoop 默认模式为非分布式模式,无需进行其他配置即可运行。非分布式即单 Java 进程,方便进行调试。
配置尚未完成,由于近期较忙,过两天闲下来了再配置。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接