Linux中安装配置hadoop集群详细步骤

 更新时间:2017年03月31日 10:35:15   转载 作者:会心一击  
本篇文章主要介绍了Linux中安装配置hadoop集群详细步骤,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

一. 简介

参考了网上许多教程,最终把hadoop在ubuntu14.04中安装配置成功。下面就把详细的安装步骤叙述一下。我所使用的环境:两台ubuntu 14.04 64位的台式机,hadoop选择2.7.1版本。(前边主要介绍单机版的配置,集群版是在单机版的基础上,主要是配置文件有所不同,后边会有详细说明)

二. 准备工作

2.1 创建用户

创建用户,并为其添加root权限,经过亲自验证下面这种方法比较好。

 sudo adduser hadoop
 sudo vim /etc/sudoers
 # 修改内容如下:
 root ALL = (ALL)ALL
hadoop ALL = (ALL)ALL

给hadoop用户创建目录,并添加到sudo用户组中,命令如下:

 sudo chown hadoop /home/hadoop
 # 添加到sudo用户组
 sudo adduser hadoop sudo

最后注销当前用户,使用新创建的hadoop用户登陆。

2.2 安装ssh服务

ubuntu中默认是没有装ssh server的(只有ssh client),所以先运行以下命令安装openssh-server。安装过程轻松加愉快~

sudo apt-get install ssh openssh-server

2.3 配置ssh无密码登陆

直接上代码:执行完下边的代码就可以直接登陆了(可以运行ssh localhost进行验证)

cd ~/.ssh  # 如果找不到这个文件夹,先执行一下 "ssh localhost"
 ssh-keygen -t rsa
 cp id_rsa.pub authorized_keys

注意:

这里实现的是无密登陆自己,只适用与hadoop单机环境。如果配置Hadoop集群设置Master与Slave的SSH无密登陆可以参考我的另一篇博文:https://www.jb51.net/article/105483.htm

 三. 安装过程

3.1 下载hadoop安装包

有两种下载方式:

1. 直接去官网下载:

http://mirrors.hust.edu.cn/apache/hadoop/core/stable/hadoop-2.7.1.tar.gz

2. 使用wget命令下载:

复制代码 代码如下:

3.2 配置hadoop

1. 解压下载的hadoop安装包,并修改配置文件。我的解压目录是(/home/hadoop/hadoop-2.7.1),即进入/home/hadoop/文件夹下执行下面的解压缩命令。

tar -zxvf hadoop-2.7.1.tar.gz

2. 修改配置文件:(hadoop2.7.1/etc/hadoop/)目录下,hadoop-env.sh,core-site.xml,mapred-site.xml.template,hdfs-site.xml。

(1). core-site.xml 配置:其中的hadoop.tmp.dir的路径可以根据自己的习惯进行设置。

<configuration>

<property>

<name>hadoop.tmp.dir</name>

<value>file:/home/hadoop/hadoop/tmp</value>

<description>Abase for other temporary directories.</description>

</property>

<property>

<name>fs.defaultFS</name>

<value>hdfs://localhost:9000</value>

</property>

</configuration>

(2). mapred-site.xml.template配置:

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>localhost:9001</value>

</property>

</configuration>

(3). hdfs-site.xml配置: 其中dfs.namenode.name.dir和dfs.datanode.data.dir的路径可以自由设置,最好在hadoop.tmp.dir的目录下面。

注意:如果运行Hadoop的时候发现找不到jdk,可以直接将jdk的路径放置在hadoop-env.sh里面,具体如下:

export JAVA_HOME="/opt/java_file/jdk1.7.0_79",即安装java时的路径。

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>file:/home/hadoop/hadoop/tmp/dfs/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>file:/home/hadoop/hadoop/tmp/dfs/data</value>

</property>

</configuration>

配置完成后运行hadoop。

四. 运行hadoop

4.1 初始化HDFS系统

在hadop2.7.1目录下执行命令:

bin/hdfs namenode -format

出现如下结果说明初始化成功。

4.2 开启 NameNode 和 DataNode 守护进程

在hadop2.7.1目录下执行命令:

sbin/start-dfs.sh

成功的截图如下:

4.3 使用jps命令查看进程信息:

若出现如图所示结果,则说明DataNode和NameNode都已经开启。

4.4 查看web界面

在浏览器中输入 http://localhost:50070 ,即可查看相关信息,截图如下

至此,hadoop的环境就已经搭建好了。

 五. 运行wordcount demo

1.  在本地新建一个文件,里面内容随便填:例如我在home/hadoop目录下新建了一个haha.txt文件,里面的内容为" hello world! "。

2. 然后在分布式文件系统(hdfs)中新建一个test文件夹,用于上传我们的测试文件haha.txt。在hadoop-2.7.1目录下运行命令:

# 在hdfs的根目录下建立了一个test目录
bin/hdfs dfs -mkdir /test

# 查看HDFS根目录下的目录结构
bin/hdfs dfs -ls /

结果如下:

3. 将本地haha.txt文件上传到test目录中;

# 上传
bin/hdfs dfs -put /home/hadoop/haha.txt /test/
# 查看
bin/hdfs dfs -ls /test/

结果如下:

4. 运行wordcount demo;

# 将运行结果保存在/test/out目录下
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /test/haha.txt /test/out
# 查看/test/out目录下的文件
bin/hdfs dfs -ls /test/out

结果如下:

运行结果表示:运行成功,结果保存在part-r-00000中。

5. 查看运行结果;

# 查看part-r-00000中的运行结果
bin/hadoop fs -cat /test/out/part-r-00000

结果如下:

至此,wordcount demo 运行结束。

六. 总结

配置过程遇到了很多问题,最后都一一解决,收获很多,特此把这次配置的经验分享出来,方便想要配置hadoop环境的各位朋友~

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Linux下的Apache与PHP安全设置技巧

    Linux下的Apache与PHP安全设置技巧

    Linux下的Apache与PHP安全设置技巧,都是一些比较重要的细节。为了让你的服务器更安全,一定要注意下。
    2010-12-12
  • centos 7 修改sshd | 禁止 root登录及sshd端口脚本定义

    centos 7 修改sshd | 禁止 root登录及sshd端口脚本定义

    这篇文章主要介绍了centos 7 修改sshd | 禁止 root登录及sshd端口脚本定义,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • linux实现猜数字小游戏源码

    linux实现猜数字小游戏源码

    这篇文章主要为大家详细介绍了linux实现猜数字小游戏源码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • 在Linux上安装和使用Docker的方法

    在Linux上安装和使用Docker的方法

    这篇文章主要介绍了在Linux上安装和使用Docker的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 详解Linux常用命令的用法(二)————文本编辑器命令vi/vim

    详解Linux常用命令的用法(二)————文本编辑器命令vi/vim

    这篇文章主要介绍了Linux常用命令的用法(二)————文本编辑器命令vi/vim,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • linux(centos7)搭建SVN服务器的思路

    linux(centos7)搭建SVN服务器的思路

    这篇文章主要为大家详细介绍了linux搭建SVN服务器的思路,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Centos6.x服务器配置jdk+tomcat+mysql环境(jsp+mysql)

    Centos6.x服务器配置jdk+tomcat+mysql环境(jsp+mysql)

    这篇文章主要介绍了Centos6.x服务器配置jdk+tomcat+mysql环境(jsp+mysql),需要的朋友可以参考下
    2017-09-09
  • Ubuntu18.04安装Pycharm教程的实现

    Ubuntu18.04安装Pycharm教程的实现

    这篇文章主要介绍了Ubuntu18.04安装Pycharm教程的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Linux一个增强的截图及分享工具:ScreenCloud

    Linux一个增强的截图及分享工具:ScreenCloud

    今天小编就为大家分享一篇关于Linux一个增强的截图及分享工具:ScreenCloud,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • Linux下Mysql定时任务备份数据的实现方法

    Linux下Mysql定时任务备份数据的实现方法

    当安装完成操作系统之后,默认便会启动此任务调度命令。下面这篇文章主要给大家介绍了关于在Linux下Mysql定时任务备份数据的实现方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-11-11

最新评论