Hadoop安装与集群配置

1.下载软件

a. 下载VirtualBox http://download.virtualbox.org/virtualbox/5.1.18/VirtualBox-5.1.18-114002-Win.exe
b. 下载CentOS http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso
c. 下载XShell与XFtp 请在百度自己搜索与安装
d. 下载jdk http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.rpm
e. 下载hadoop2.7.3 -> http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz

2.安装VirtualBox

下载后请自行安装,安装完需要自行安装linux,此文为centos7.可自行百度教程。
网络配置请参考我之前的文章《Virtualbox配置centos7网络》
在此简单的列举主要步骤如下:

a. 在虚拟机中选用host-only网络
b. vi /etc/sysconfig/network
NETWORKING=yes
c. vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 TYPE=Ethernet IPADDR=192.168.56.200 NETMASK=255.255.255.0
d. 修改主机名hostnamectl set-hostname master (主机名千万不能有下划线!)
e. 重启网络service network restart
f. 互相ping,看是否测试成功,若不成功,注意防火墙的影响。关闭windows或虚拟机的防火墙。
systemctl stop firewalld
systemctl disable firewalld

3.安装JDK

rpm -ivh ./xxxxx.jdk,验证rpm -qa | grep jdk,在命令行中敲java命令,确认jdk已经安装完成
配置环境变量:

JAVA_HOME=/usr/java/jdk1.8.0_91
JRE_HOME=/usr/java/jdk1.8.0_91/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

使环境变量生效:

source /etc/profile

4.安装hadoop

cd /usr/local
tar –xvf ./hadoop-2.7.3.tar.gz
把目录修改为hadoop mv hadoop-2.7.3 hadoop
修改hadoop-env.sh
vi /usr/local/hadoop/etc/hadoop/hadoop-env.sh
修改export JAVA_HOME 语句为 export JAVA_HOME=/usr/java/default
把/usr/local/hadoop/bin和/usr/local/hadoop/sbin设到PATH中
vi /etc/profile
追加 export PATH=$PATH:/usr/hadoop/bin:/usr/hadoop/sbin
source /etc/profile
测试hadoop命令是否可以直接执行,任意目录下敲hadoop

5.关闭虚拟机,复制三份

6.开机后,自行配置各自的网络配置,参照之前步骤。

主要是要修改:/etc/hosts,注意:四个节点的ip以及hostname都加上

7.分布式集群配置

7.1 配置core-site.xml

在所有的节点上都应该修改/etc/hadoop/core-site.xml.注意:需要修改tmp目录,不然默认是linux的tmp目录,这样会出现意想不到的错误,因为linux重启后,会删除/tmp目录下的内容。

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/hadoop/current/tmp</value>
</property>
<property>
    <name>fs.trash.interval</name>
    <value>4320</value>
</property>

注意:必须在各个机器上一定要保持此配置的一致性。这里配置的是master的地址,与对外通讯的端口,slaves需要知道master对外提供通讯的地址与端口,所以各台机器需要保持一致,否则会在web管理页面发现live nodes是0.正常应该是slaves的数量。

image.png

7.2配置hdfs-site.xml

在所有节点上修改/etc/hadoop/hdfs-site.xml

<property>
   <name>dfs.namenode.name.dir</name>
   <value>/usr/local/hadoop/current/dfs/name</value>
 </property>
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>/usr/local/hadoop/current/dfs/data</value>
 </property>
 <property>
   <name>dfs.replication</name>
   <value>3</value>
 </property>
 <property>
   <name>dfs.webhdfs.enabled</name>
   <value>true</value>
 </property>
 <property>
   <name>dfs.permissions.superusergroup</name>
   <value>staff</value>
 </property>
 <property>
   <name>dfs.permissions.enabled</name>
   <value>false</value>
 </property>

7.3格式化HDFS

执行以下命令即可:

 hdfs namenode -format
image.png

8.启动集群

在master上启动hadoop-daemon.sh start namenode

image.png

在slave上启动hadoop-daemon.sh start datanode

image.png

用hdfs dfsadmin -report观察集群配置情况,如图所示,含有三个从节点

image.png

查看端口号:netstat -ntlp

image.png

通过http://192.168.56.100:50070/web界面观察集群运行情况

image.png

用hadoop-daemon.sh stop ...手工关闭集群

image.png
image.png

9.集中管理

9.1对集群进行集中管理,需要修改以下配置文件:

修改master上/etc/hadoop/slaves文件,每一个slave占一行

slave1
slave2
slave3

9.2使用start-dfs.sh启动集群,并观察结果

image.png

以上需要每个节点的密码都需要重新输入一下
启动成功:

NameNode.png
DataNode.png

9.3使用stop-dfs.sh停止集群

image.png

停止集群也需要每次输入密码

10.配置SSH免密登录

在上一步骤中,每次都需要输入密码,非常麻烦,故需要配置一下SSH的免密登录。
执行如下步骤:

cd
ls -la
cd .ssh
ssh-keygen -t rsa (四个回车)
image.png

会用rsa算法生成私钥id_rsa和公钥id_rsa.pub

image.png

利用ssh-copy-id slaveX命令把生成的公钥copy到其他的节点上。

image.png

此时在yxxy-node2节点就可以有以下文件:

image.png

以此类推,其他两个从节点也是这样执行即可。
再次ssh slave1

image.png

此时应该不再需要密码
重新使用start-dfs.sh启动集群

image.png

此时执行启动命令,则还是需要输入主节点的密码,故也需要把公钥拷贝一份到自己的主节点上

image.png

停止集群stop-dfs.sh

image.png

11.web管理

修改windows中的C:\Windows\System32\drivers\etc\hosts文件,可以通过名字访问集群web界面。

image.png

12.基本操作

12.1使用hdfs dfs 或者hadoop fs命令对文件进行增删改查的操作

hadoop fs -ls /
hadoop fs -put file /
hadoop fs -mkdir /dirname
hadoop fs -text /filename
hadoop fs -rm /filename
基本操作.png

12.2 动态扩展

设定dfs.namenode.heartbeat.recheck-interval为10000,然后停掉其中一台slave,观察自动复制情况。
启动停掉的slave节点,通过网页观察datanode的动态添加

12.3 横向扩展

添加新的节点,体会hadoop的横向扩展,步骤如下:

启动slave4,关闭防火墙,修改hostname
修改etc/hosts,加入对自己以及其他机器的解析,重启网络
在master中设定对于slave4的解析
启动slave4的datanode,通过网页进行观察
hdfs dfsadmin –shutdownDatanode slave4:50020

13.遇到问题

在启动集群的时候,主节点(namenode)正常启动,datanode启动2个,一个未启动,查看日志显示如下异常信息:

image.png

经过网上查询原因说是/etc/hosts中的第一第二行不能删除。把他加上即可,如下图所示:

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,290评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,107评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,872评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,415评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,453评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,784评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,927评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,691评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,137评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,472评论 2 326
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,622评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,289评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,887评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,741评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,316评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,490评论 2 348

推荐阅读更多精彩内容