Hadoop集群搭建(小白脱坑版)

Hadoop是大数据领域最常用的一种基础架构,很多公司的基础业务都是在这上面展开的,由于公司需要,把一些空置的电脑连接起来跑数据,Hadoop是一种很好的实现方式,网上的教程也多。作为一个原来跑模型的,现在也需要从底层做起。推荐一本Hadoop界的权威书籍:Hadoop权威指南

https://www.isical.ac.in/~acmsc/WBDA2015/slides/hg/Oreilly.Hadoop.The.Definitive.Guide.3rd.Edition.Jan.2012.pdf

这是英文版的,写的相当详细,具有很高的参考价值,当然也有相应的中文版,当然首推英文版的。 

本文适合按照其他博文的详细步骤安装的时候,因为其中几步错误而安装失败的情况下,在此寻找可能的解决方案。推荐的安装详细步骤教程且亲测成功的是2篇:

https://www.linode.com/docs/databases/hadoop/how-to-install-and-set-up-hadoop-cluster/

https://blog.csdn.net/fanxin_i/article/details/80425461

接下来,介绍下一般的过程步骤:

1. 配置系统,包括linux系统安装,hadoop用户的建立,ssh无密登录设定等等。

2. 安装软件,包括Hadoop和JAVA套件的安装及环境变量的设置。

3. Hadoop的配置和批量分发

4. 初始化和运行HDFS

 

一、系统配置

1. linux的安装

MAC是一种UNIX的系统架构,操作比较像linux,这里主要说windows到linux。主要有2中方式,一种是运行与windows环境下的虚拟机,另一种是直接双系统下的Linux,这里用的是Ubuntu 18 LTS。下来说说这两种方式,用虚拟机的方式优点在于可以直接操作双系统,但是内存和硬盘占用较大,不能把硬件用的极致。如果用虚拟机方式,按照常规步骤配置,只需要注意一点,吧网络连接模式设置成桥接。如下图:

另一种方式就是双系统了,安装教程网上很多了,这里我用的是Server版,对命令行不熟悉的可以使用Desktop版。附镜像下载地址:https://www.ubuntu.com/download

2. 系统的配置

这里假设有linux基本操作能力,首先要做的一点就是为各个node设置统一的用户名和不同的计算机姓名,这点对之后的SSH无密登录的验证很重要!!!

这是配置自己的计算机名的操作,其中master为本node的hostname,hadoop为用户名,

useradd -m hadoop -G root -s /bin/bash

passwd hadoop    (为hadoop用户修改密码)

之后需要为各个node都设置一个hadoop的用户和形如node1,node2...或者slave1,slave2...的hostname

接下来在每个node设置hosts的信息,每行一个地址,IP地址和hostname,中间以Tab键分开。

sudo vi /etc/hosts

 

3. SSH设置

由于我们需要在linux的安全机制和集群机子之间的便利性做权衡(trade off),利用ssh的公钥登录变成了最佳选择。

首先安装ssh服务,一般会有的,但我下载的ubuntu server版没有,不过这个很方便,输入一行安装命令就可:

sudo apt-get install openssh-server

启动或者重启:sudo service ssh start         sudo sshd restart

 

接下来配置rsa方式生成密钥:

ssh-keygen -t rsa -f ~/.ssh/id_rsa

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

可以登录ssh localhost来测试是否成功。

把master或者叫namenode 的公钥分发的各个节点:

ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@node-master
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@node1
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@node2

这里的hadoop指用户名,node-master,node1,node2代表之前编辑过的/etc/hosts文件中的ip地址,192.168.3.66等等

二、安装Hadoop和JAVA

网上下载好java和hadoop之后先解压,

tar -zxvf jdk7.8.0_191

tar -zxvf hadoop-2.7.7

之后用 sudo vi /etc/profile  配置环境变量,之后在vim中输入  :wq!  来保存,请设置成自己的路径!!为了使它立即生效,可以使用source /etc/profile

检验是否安装成功,使用输入 java -version和hadoop命令检验。

三、配置Hadoop

此部分略过,可以参考或者直接复制文章开头提到的2个参考博文。

之后把配置好的master节点的hadoop通过scp或者其他方式分发给各个节点。

四、运行和测试Hadoop

之前都配置好了,但是一般的很难一次成功。先进行HDFS的初始化操作:

hdfs namenode -format

这是一个很好的调试过程,可以根据这步调整之前的配置错误。

初始化成功之后就可以开启hadoop了,这里我用

start-all.sh 和 stop-all.sh 来启动和关闭hadoop系统。可以在各个节点使用jps查看状态。

最后,我们运行一个hadoop自带的MapReduce的例子来测试能否正常跑程序:

hadoop jar  ~/hadoop/hadoop-2.7.7/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar pi 10 10

这样子,举一反三,可以扩展到任一台机子了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值