基于华为云搭建Hadoop集群

环境说明:3台华为云服务器

Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS


注意:以下提供的配置,其中有个别备注,要根据情况修改!

1.修改服务器的hosts文件

vi /etc/hosts

在文件中添加:各个服务器IP地址+主机名
注意:云服务器中只有一块内网网卡,外网地址不是直接配置在云服务器中,程序无法绑定公网IP地址。因此服务器本身要改为 —— 内网IP+主机名。不然在可能会在NameNode启动时报错:Cannot assign requested address

备注:也可选择修改各个服务器的主机名,方便查看,看情况决定

vi /etc/hostname

2.创建用户和组

为了安全,还是很有必要的

创建hadoop用户组

sudo addgroup hadoop

创建hadoop用户

sudo adduser -ingroup hadoop hadoop

给hadoop用户添加权限

vim /etc/sudoers
hadoop ALL=(ALL:ALL) ALL

对于用户的权限,后期调整补充(还没详细了解,暂时给ALL)

备注:创建新的用户使用hadoop主要是考虑到安全因素,一般配置的时候都是在root下配置的,使用的时候创建新用户使用hadoop。也可以用root启动和使用hadoop,但是root权限太大,可能因为某个误操作导致灾难性的后果,所以需要创建新的用户。

检验各个服务器之间能否连通

ping + 各个服务器主机名

3.为服务器安装jdk并配置环境变量

我的做法是:先下好想要的JDK包,然后scp传到服务器(速度会比较快,安装hadoop的时候也是选择了这么做)

JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

scp 本地JDK存放路径 服务器用户名@IP地址:存放路径

建议:存放路径为/usr/java(需要新建java目录)
若是提示传入/usr ,可先传入临时目录,然后在使用命令mv移动

登录到服务器

安装JDK

tar -zxvf jdk.....(安装包名称)

配置JDK环境变量

vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_171
export JRE_HOME=/usr/java/jdk1.8.0_171/jre
export CLASSPATH=JAVA_HOME/lib export PATH=:PATH:JAVA_HOME/bin:JRE_HOME/bin

使配置生效

source /etc/profile

查看配置是否成功

java-version.png

4.配置服务器间的SSH免密码登录

各个服务器生成密钥(公: .pub/私),公钥要传到其他服务器

cd ~/.ssh
ls
ssh-keygen -t rsa -P ""

回车后,会提示三次输入信息,我们直接回车即可

可对id_dsa.pub,复制一份并改名,方便识别
cp id_dsa.pub id_dsa_序号.pub

各个服务器都生成密钥后,把公钥传给NameNode。

scp id_dsa.pub 服务器用户名@IP:~/.ssh

将所有服务器生成的公钥(id_rsa.pub)都追加到NameNode 的authorized_keys中

cat id_rsa_序号.pub >> authorized_keys

把authorized_keys传回其他节点,并写出节点的authorized_keys中
cp authorized_keys authorized_keys_total
scp authorized_keys_total 服务器用户名@IP:~/.ssh
cat authorized_keys_total >> authorized_keys

至此,配置完成。
输入命令ssh 主机名 ,根据提示输入“yes”
输入命令exit注销(Logout)

再次输入命令ssh 主机名 即可直接登录

5.NameNode安装Hadoop

下载好Hadoop安装包,传至服务器
下载地址:http://hadoop.apache.org/releases.html
scp 本地存放路径 服务器用户名@IP地址:存放路径
建议:存放路径为/usr/hadoop(新建hadoop目录)
若是提示传入/usr ,可先传入临时目录,然后在使用命令mv移动

安装

tar -zxvf Hadoop.....(安装包名称)

新建目录(重要)

在/usr/hadoop路径下:
mkdir dfs
mkdir dfs/name
mkdir dfs/data
mkdir tmp
/usr/hadoop/hadoop-2.7.3(我安装的版本)路径下:
mkdir logs
mkdir pids

配置环境 (master中文件配置建议使用0.0.0.0地址)

文件都在/usr/hadoop/hadoop-2.7.3/etc/hadoop 路径下

配置文件:hadoop-env.sh

export JAVA_HOME= JAVA路径

hadoop-env.png

配置文件:yarn-env.sh

export JAVA_HOME= JAVA路径

yarn-env.png

配置文件:slaves

slaves.png

配置文件:core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs:// nameNode主机名:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/hadoop/tmp(tmp路径)</value>

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

</configuration>

配置文件:hdfs-site.xml

<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/hadoop/dfs/name(dfs/name路径)</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/hadoop/dfs/data(dfs/data路径)</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>

配置文件:mapred-site.xml

先创建然后编辑

cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>nameNode主机名:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>nameNode主机名:19888</value>
</property>
</configuration>

配置文件:yarn-site.xml

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>nameNode主机名:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>nameNode主机名:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>nameNode主机名:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>nameNode主机名:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>nameNode主机名:8088</value>
</property>
</configuration>

至此环境配置完成!

将/usr/hadoop目录传输到其他dataNode的 /usr/hadoop目录中

scp -r hadoop 服务器用户名@IP:/usr/hadoop

在此,我选择先把/usr/hadoop目录传到本地,然后再从本地传到其他dataNode,感觉速度快了很多!如果传输时报错说 :权限拒绝,可以先把文件传送到非/usr目录下,然后再把目录再移动到/usr/

若是想直接从nameNode传到其他节点,要注意设置激活,不然一段时间后会掉线,停止传输

ssh.png

参考:http://www.talkwithtrend.com/Question/225451-1370171

配置环境变量,并启动hadoop,检查是否安装成功

配置环境变量

vim /etc/profile

export JAVA_HOME= java路径
export JRE_HOME=/usr/java/jre
export CLASSPATH=JAVA_HOME/lib export PATH=:PATH:JAVA_HOME/bin:JRE_HOME/bin

注意:使文件生效
source /etc/profile

启动Hadoop

cd /usr/hadoop/hadoop-2.7.3

bin/hdfs namenode -format :格式化nameNode
sbin/start-all.sh :启动Hadoop集群
stop-all.sh :停止Hadoop集群

备注:格式化nameNode成功的提示如下,要注意是否出现错误!若出现错误,不要启动集群,先根据提示解决文件。然后把新建目录(重要)那一步中新建的目录下的文件都删掉(注意!)后,再重新格式化。

format.png

检查是否安装成功

启动后分别在服务器中输入jps查看进程,若成功则显示:

nameNode:
nameNode.png
dataNode:

dataNode.png

至此,基于华为云搭建Hadoop集群完成,可以愉快的开始玩耍了!

如果对你有帮助,给我点个赞哦~(莫问前程,但行好事)

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

推荐阅读更多精彩内容

  • 一、系统参数配置优化 1、系统内核参数优化配置 修改文件/etc/sysctl.conf,添加如下配置,然后执行s...
    张伟科阅读 3,748评论 0 14
  • 看到题目有没有一种高大上的感觉?毛线,当前是个人、是个公司都在说自己搞大数据,每天没有几个PB的数据入库,每天没有...
    丁小晶的晶小丁阅读 4,468评论 0 50
  • 1.找到事半功倍的环节 在用户培养中,根据产品的决策成本高低,所需要花大功夫的环节也会出现差异 典型的高决策成本的...
    奥利奥君阅读 287评论 0 0
  • 在终端用gem命令的时候,时常遇到的问题: 墙墙墙通过 gem source 查看你的当前的gem资源库位置,如果...
    傻啦啦了阅读 2,080评论 1 0
  • 阿哲很会察言观色。 阿哲在学生时代不是那种学习特好的学生,但他能和班里每个人说上话。 毕业后,尽管阿哲不是名牌大学...
    荒城过客阅读 198评论 0 0