基于ubuntu的Hadoop2.9.0的安装步骤(Hadoop2.X.X同适用)

1.Linux 系统 ,可在虚拟机安装

2.创建Hadoop用户

若安装Linux系统时创建的用户不是hadoop,则需要创建一个名为hadoop的用户,
步骤如下:
(1) 使用root进入linux系统
(2) 打开linux命令行终端(没装图形化界面的忽略本步骤)
(3) 使用语句创建一个名为hadoop的用户

useradd –m hadoop –s /bin/bash

(4) 修改密码
这里写图片描述
这里写图片描述
(5) 为hadoop用户增加管理员权限,方便以后的操作
在命令行输入visudo命令出现如下界面

sudo adduser hadoop sudo

这里写图片描述

3.使用hadoop用户登陆linux系统

4.更新apt

后面会用apt安装一些软件,如果没更新,可能有一些会出错,使用以下语句更新

sudo apt-get update

5.安装vim

后边会修改配置文件,使用vim编辑器用法和vi相同,很好用

sudo apt-get install vim      #安装vim

安装有提示 按提示输入y即可

6.安装配置SSH

SSH 为 Secure Shell 的缩写,是建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠、专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。 SSH是由客户端和服务端的软件组成,服务端是一个守护进程(daemon),它在后台运行并响应来自客户端的连接请求,客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序
Hadoop名称节点(NameNode)需要启动集群中所有机器的Hadoop守护进程,这个过程需要通过SSH登录来实现。Hadoop并没有提供SSH输入密码登录的形式,因此,为了能够顺利登录每台机器,需要将所有机器配置为名称节点可以无密码登录它们

(1) 执行以下命令进行校验是否装有SSH Clint 和 SSH server(red hat和cente一般自带的都有)

rpm –qa | grep ssh

若有则出现其版本号,如下图,则不需要再安装
这里写图片描述

(2) 若需要安装,那就安装…(ubuntu默认安装了SSH client 需要手动安装SSH server)

sudo apt-get install openssh-server     #安装SSH server

(3) 之后通过以下命令验证

ssh localhost

按提示先输入yes,再输入hadoop用户的密码,如下图,之后就登陆上了
这里写图片描述

(4) 因为每次登陆ssh是都需要输入密码比较麻烦,所以使用以下语句配置一下无密码登录

exit                           # 退出刚才的 ssh localhost 
cd ~/.ssh/                     # 若没有该目录,请先执行一次ssh localhost 
ssh-keygen -t rsa              # 会有提示,都按回车就可以 
cat ./id_rsa.pub >> ./authorized_keys  # 加入授权

(5) 之后再用ssh localhost登陆,无需输入密码就成功了

这里写图片描述

7.安装java环境

使用以下命令安装openjdk,但注意需要联网

sudo apt-get install default-jre default-jdk

之后通过vim编辑器写给环境变量,将javahome加入其中,命令如下:

vim ~/.bashrc

在文件最前面一行加入

export JAVA_HOME=/usr/lib/jvm/default-java

之后按键盘esc退出编辑模式,再输入命令 :wq保存并退出vim
接下来让环境变量立即生效

source ~/.bashrc    # 使变量设置生效

最后可以检验一下是否设置正确

echo $JAVA_HOME     # 检验变量值 
java -version 
$JAVA_HOME/bin/java -version  # 与直接执行java -version一样

Java环境安装结束

8.安装Hadoop2

(1)可以通过https://dist.apache.org/repos/dist/release/hadoop/common/

下载(在虚拟机的浏览器中打开教程点击此链接下载),一般选择下载最新的稳定版本,即下载 “stable” 下的 hadoop-2.x.y.tar.gz 这个格式的文件,这是编译好的,另一个包含 src 的则是 Hadoop 源代码,需要进行编译才可使用。
下载后一般可以直接使用,如果网络不好可能导致文件不完整,可以在下载后先进性校验:
校验方法:
下载官方网站提供的 hadoop-2.x.y.tar.gz.mds 这个文件(https://dist.apache.org/repos/dist/release/hadoop/common/hadoop-2.9.0/可能会出现点击那个文件直接在网页上打开的情况(无法下载),此时只需执行下面第二条指令,出来一串16禁止字符 和网页上的以一比较就行),该文件包含了检验值可用于检查 hadoop-2.x.y.tar.gz 的完整性,本文涉及的文件均通过浏览器下载,默认保存在 “下载” 目录中(若不是请自行更改 tar 命令的相应目录)。另外,版本号不对应自行修改成你下载的版本号。

cat ~/下载/hadoop-2.9.0.tar.gz.mds | grep 'MD5' # 列出md5检验值 
md5sum ~/下载/hadoop-2.9.0.tar.gz | tr "a-z" "A-Z" # 计算md5值,并转化为大写,方便比较

运行之后显示如下 比较两字符串,若相同则正确,不同则文件损坏,一定要重新下载!!
这里写图片描述

(2)将下载的文件解压安装

sudo tar -zxf ~/下载/hadoop-2.9.0.tar.gz -C /usr/local    # 解压到/usr/local中 
cd /usr/local/ 
sudo mv ./hadoop-2.9.0/ ./hadoop            # 将文件夹名改为hadoop 
sudo chown -R hadoop ./hadoop       # 修改文件权限

(3)使用以下命令检查hadoop是否可用

cd /usr/local/hadoop 
./bin/hadoop version

(4)伪分布式配置

Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。
Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。
首先修改core-site.xml,使用命令gedit ./etc/hadoop/core-site.xml打开将其中的

<configuration> 
</configuration>

修改为

<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>

配置文件修改说明:
Hadoop 的运行方式是由配置文件决定的(运行 Hadoop 时会读取配置文件),因此如果需要从伪分布式模式切换回非分布式模式,需要删除 core-site.xml 中的配置项。
此外,伪分布式虽然只需要配置 fs.defaultFS 和 dfs.replication 就可以运行(官方教程如此),不过若没有配置 hadoop.tmp.dir 参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。所以我们进行了设置,同时也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。

配置完成后,执行以下语句格式化NameNode:

./bin/hdfs namenode –format

成功会看到如下提示:
这里写图片描述

接着执行以下命令开启 NameNode 和 DataNode 守护进程

./sbin/start-dfs.sh  #start-dfs.sh是个完整的可执行文件,中间没有空格

若ssh提示连接,输入yes即可
这里写图片描述

启动完成后,输入命令jps来判断是否启动成功
这里写图片描述

若成功启动则会列出如下进程: “NameNode”、”DataNode” 和 “SecondaryNameNode”

成功启动后,可以访问 Web 界面 http://localhost:50070 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。
若有如下页面,恭喜安装成功。
这里写图片描述

补充:

每次打开hadoop时总切换到hadoop目录十分麻烦,可以将开启hadoop启动程序的可执行文集那所在的目录加入到PATH变量中,以后启动直接输入程序名就可以打开了十分方便。
使用命令:vim ~/.bashrc
打开后,在文件最前边加入以下语句。

export PATH=$PATH:/usr/local/hadoop/sbin:/usr/local/hadoop/bin

之后保存退出,使用语句source ~/.bashrc使配置生效。

参考:

1.http://dblab.xmu.edu.cn/blog/install-hadoop/
2.《大数据技术原理与应用第二版》 林子雨编著

发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Hadoop综合练习第一节--Hadoop1.X和2.X安装详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。