环境搭建-Hadoop集群搭建

写在前面,前面我们快速搭建好了centos的集群环境,接下来,我们就来开始hadoop的集群的搭建工作

实验环境
Hadoop版本:CDH 5.7.0
这里,我想说一下,我们我没有选择官方版本,是因为,cdh版本已经解决好了各个组件之间的依赖。因为,后面,我们还会使用更多hadoop家族里面的组件。cdh版本目前也是国内成产环境中使用最多的一个版本。

环境所需要的安装包我可以在我的百度云分享中获取到:
链接:http://pan.baidu.com/s/1c24gbUK 密码:8h1r

在开始正式安装hadoop之前,我们得配置集群SSH免密码登陆

配置/etc/hosts文件

添加上:

192.168.1.61 hadoop000
192.168.1.62 hadoop001
192.168.1.63 hadoop002

[root@localhost ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.
localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.
localdomain6192.168.1.61    hadoop000
192.168.1.62    hadoop001
192.168.1.63    hadoop002

每一台机器都要添加上哟!

这样的话,我们的服务器之间就是可以相互ping主机名ping通的了

开始配置集群SSH免密码登陆

在三台机器上配置对本机的ssh免密码登录

ssh-keygen -t rsa

生成本机的公钥,过程中不断敲回车即可

[root@localhost app]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
0b:9a:fb:86:9c:97:b8:6f:2a:d9:2e:6e:a2:3b:49:95 root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|    .            |
|   E             |
|  .   . S        |
| .   o . .       |
|.. +o+ ..        |
|+ = *.=          |
|+*.+=Oo          |
+-----------------+
[root@localhost app]#


公钥复制为authorized_keys文件,

[root@localhost ~]# cd .ssh/
[root@localhost .ssh]# ls
id_rsa  id_rsa.pub
[root@localhost .ssh]# touch authorized_keys
[root@localhost .ssh]# cp id_rsa.pub authorized_keys
cp: overwrite `authorized_keys'? yes
[root@localhost .ssh]# ls
authorized_keys  id_rsa  id_rsa.pub
[root@localhost .ssh]# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxwB29J6IeubQq986jvCOss7luE0Kq1l5ayguovC7AzXtxVVzc8Tls0OmZ3UFddGI9YGPQSHn4Vlgh5LltmIlCWEz01s2sHXaIMA3hx6dMK9jYeOY1qJPpKMb+TyM5p2qkfFUj/uFYfW/jTLohQlXZpp5pGEH9bSsh+sS5EmLDRPYFFH89NU/fhUBmNrbY3QqWlBcM+dmxdHoAK/sVeMxurYolQ3Ws8DzGo0IhbOoMTkxEACiTkf72Nw+2ZtF1Bkv1gYRa6fEqm2GvalOjvDkgFhN6DiT12JtTOQ3B0ZR1o/94koQtRzhU0IMcrLMfFcGKqUisLS6mguO+0sCKqDXlQ== root@localhost.localdomain
[root@localhost .ssh]#
#这里的,每一步都是很重要的

此时使用ssh连接本机就不需要输入密码了(第一次例外)

[root@localhost .ssh]# ssh hadoop000
The authenticity of host 'hadoop000 (192.168.1.61)' can't be established.
RSA key fingerprint is d7:1b:23:6b:0f:80:26:cd:da:9f:89:75:f6:4d:50:4c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'hadoop000,192.168.1.61' (RSA) to the list of known hosts.
Last login: Thu Nov 23 15:01:36 2017 from 192.168.1.9
[root@localhost ~]# logout
Connection to hadoop000 closed.
[root@localhost .ssh]# ssh hadoop000
Last login: Thu Nov 23 15:32:58 2017 from hadoop000
[root@localhost ~]#

其他两个服务器执行同样上述操作

配置hadoop000节点ssh免密码登录其余节点

ssh-copy-id -i hadoop001
[root@localhost .ssh]# ssh-copy-id -i hadoop001
The authenticity of host 'hadoop001 (192.168.1.62)' can't be established.
RSA key fingerprint is d3:ca:00:af:e5:40:0a:a6:9b:0d:a6:42:bc:22:48:66.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'hadoop001,192.168.1.62' (RSA) to the list of known hosts.
root@hadoop001's password:
Now try logging into the machine, with "ssh 'hadoop001'", and check in:.ssh/authorized_keysto make sure we haven't added extra keys that you weren't expecting.[root@localhost .ssh]#

测试:

[root@localhost .ssh]# ssh hadoop001
Last login: Thu Nov 23 14:25:48 2017 from 192.168.1.9
[root@localhost ~]# logout
Connection to hadoop001 closed.
[root@localhost .ssh]#
#免密码登录成功

好啦,前面讲了这么多,下面正式开始搭建Hadoop环境。

安装 Hadoop

1.我们首先得先下载软件,是把,这里我们直接从本地的软件包里面上传上去就好,当然,从官网下载也是可以的。

2.接着,就是解压到app目录下面去,修改文件名为hadoop

[root@localhost softwares]# ls
hadoop-2.6.0-cdh5.7.0.tar.gz  jdk-8u144-linux-x64.tar.gz
[root@localhost softwares]# tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz -C ../app/

3.设置系统环境变量

[root@localhost hadoop]# vim ~/.bash_profile
# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fiexport JAVA_HOME=/root/app/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATHexport HADOOP_HOME=/root/app/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
export PATH=$HADOOP_HOME/sbin:$PATH

检验:

[root@localhost hadoop]# source ~/.bash_profile
[root@localhost hadoop]#
[root@localhost hadoop]# hadoop version
Hadoop 2.6.0-cdh5.7.0
Subversion http://github.com/cloudera/hadoop -r c00978c67b0d3fe9f3b896b5030741bd40bf541a
Compiled by jenkins on 2016-03-23T18:41Z
Compiled with protoc 2.5.0
From source with checksum b2eabfa328e763c88cb14168f9b372
This command was run using /root/app/hadoop/share/hadoop/common/hadoop-common-2.6.0-cdh5.7.0.jar
[root@localhost hadoop]#
#可以看见上面的输出结果,就说明没有问题了

如果你还不放心,可以检查一下yarn

[root@localhost hadoop]# yarn version
Hadoop 2.6.0-cdh5.7.0
Subversion http://github.com/cloudera/hadoop -r c00978c67b0d3fe9f3b896b5030741bd40bf541a
Compiled by jenkins on 2016-03-23T18:41Z
Compiled with protoc 2.5.0
From source with checksum b2eabfa328e763c88cb14168f9b372
This command was run using /root/app/hadoop/share/hadoop/common/hadoop-common-2.6.0-cdh5.7.0.jar
[root@localhost hadoop]#
#可以啦,到位

4.接下来,就是配置文件的书写

配置文件在:$HADOOP_HOME/etc/hadoop下

主要的修改的配置文件包括:core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves、hadoop-env.sh等

step4.1:hadoop-env.sh

配置hadoop的jdk环境

[root@localhost hadoop]# vim hadoop-env.sh

修改为# The java implementation to use.
export JAVA_HOME=/root/app/jdk1.8.0_144
保存退出

step4.2:core-site.xml

[root@localhost hadoop]# vim core-site.xml

添加上:

<property><name>fs.defaultFS</name><value>hdfs://hadoop000:8020</value></property>
<property><name>hadoop.tmp.dir</name>                        <value>/root/app/hadoop/data/tmp</value>
</property>

上面的保存退出就好

step4.3:hdfs-site.xml

添加上:

<property><name>dfs.name.dir</name><value>/root/app/hadoop/data/namenode</value>
</property>
<property><name>dfs.data.dir</name><value>/root/app/hadoop/data/datanode</value>
</property>
<property><name>dfs.tmp.dir</name><value>/root/app/hadoop/data/dfstmp</value>
</property>
<property><name>dfs.replication</name><value>3</value>
</property>

保存退出

step4.4:mapred-site.xml

[root@localhost hadoop]# cp mapred-site.xml.template mapred-site.xml
[root@localhost hadoop]#
[root@localhost hadoop]# vim mapred-site.xml

进去添加:

<property><name>mapreduce.framework.name</name><value>yarn</value>
</property>

保存退出

step4.5:yarn-site.xml

进入添加:

<property><name>yarn.resourcemanager.hostname</name><value>sparkproject1</value>
</property>
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property>

保存退出

step4.6:slaves

配置我们的子节点:

[root@localhost hadoop]# vim slaves
hadoop000
hadoop001
hadoop002

说明:hadoop000在这里既是主节点,又是从节点

在另外两台服务器上搭建Hadoop环境

这里我们可以直接使用scp命令,将hadoop000的配置全部拷贝到另外的两台机器上去

[root@localhost ~]# scp -r ./* root@hadoop001:/root[root@localhost ~]# scp -r ./* root@hadoop002:/root
#会比较慢,稍等一下
[root@localhost ~]# scp -r ~/.bash_profile root@hadoop001:~/
.bash_profile                                         100%  359     0.4KB/s   00:00
[root@localhost ~]# scp -r ~/.bash_profile root@hadoop002:~/
.bash_profile                                         100%  359     0.4KB/s   00:00
[root@localhost ~]# 

在hadoop001和hadoop002分别source一下我们发送过去的配合文件

[root@localhost ~]# source ~/.bash_profile
[root@localhost ~]#

接下来,我们就可以开始我们的集群了

启动Hdfs集群

Hdfs是hadoop的分布式文件系统,简单来说,就是存放数据的。是海量数据!

1.格式化namenode

[root@localhost ~]# hdfs namenode -format

2.启动集群

使用jps命令查看一下:

可以看见hadoop主节点上开启了一个namenode和datanode
另外两个节点的datanode都也启起了

这时,我们也可以在windows机器上通过浏览器来查看集群的情况:

在浏览器中输入hadoop000:50070即可:(因为我在本机c盘的hosts文件中添加了主机名与ip地址的对应关系,你也可以直接使用ip+端口的形式)

点开上面:

就来到集群的根目录,这时,上面什么都没有,我们传一个东西上去

本地上传一个test1.txt的文件

[root@localhost ~]# cat test1.txt
Hello Hadoop
Hello BigData
Hello Tomorrow
[root@localhost ~]# hdfs dfs -put test1.txt /
17/11/23 17:16:29 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
[root@localhost ~]# 

刷新页面,文件就可以被看见啦;

要想查看文件的内容,可以把文件下在下来,关于hdfs就简单介绍到这儿,下面开始介绍yarn....

启动Yarn集群

在hadoop集群中,yarn扮演的是一个集群资源的管理与调度这么一个角色

输入命令:

[root@localhost hadoop]# start-yarn.sh
starting yarn daemons
starting resourcemanager, logging to /root/app/hadoop/logs/yarn-root-resourcemanager-localhost.localdomain.out
hadoop002: starting nodemanager, logging to /root/app/hadoop/logs/yarn-root-nodemanager-localhost.localdomain.out
hadoop001: starting nodemanager, logging to /root/app/hadoop/logs/yarn-root-nodemanager-localhost.localdomain.out
hadoop000: starting nodemanager, logging to /root/app/hadoop/logs/yarn-root-nodemanager-localhost.localdomain.out
[root@localhost hadoop]#

同样,jps查看进程:


可以看见,主节点多了两个进程出来,resourcemanager 和nodemanager,其余从节点多了nodemanger,,这个就是管理各个节点的资源的进程,都出现了,就说明启动成功,yarn也提供了web端,端口是8088,

在浏览器输入hadoop000:8088即可:

可以重点关注一下我上面的圈出的内容

我们可以开始一个简单的作业,测试一下

[root@localhost hadoop]# pwd
/root/app/hadoop/share/hadoop
[root@localhost hadoop]# hadoop jar mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar pi 2 3

上面的命令执行之后,计算pi的值,然后开始了一个mapreduce作业

过一会,就会输出结果

这个时候,你如果查看集群 ,会看见一个作业正在被执行:

输出结果:

可以看见pi的输出结果为4,虽然误差有点大。但是也是跑成功了一个作业。

到这里,我们的hadoop集群的搭建测试工作就已经完成了。不算是特别麻烦。你可以倒回去,再仔细看看,想想。慢慢的就会了。目前,我也只是刚接触大数据,有什么的错误的地方,可以给我留言。。祝你学习愉快!!

转载于:https://www.cnblogs.com/liuge36/p/9883001.html

环境搭建-Hadoop集群搭建相关推荐

  1. linux hadoop集群搭建,hadoop集群搭建

    hadoop集群搭建步骤 实验介绍 下面将要在三台linux虚拟机上搭建hadoop集群. 知识点 linux基本命令 集群安装 完成实验需要以下相关知识 解压命令 tar -zxvf XX.tar. ...

  2. Hadoop详解(五)——ZooKeeper详解,ZooKeeper伪分布搭建和集群搭建,Hadoop集群搭建,sqoop工具的使用

    ZooKeeper简介 什么是ZooKeeper? ZooKeeper是Google的Chubby一个开源的实现,是Hadoop分布式协调服务. 它包含了一个简单的原语集,分布式应用程序可以基于它实现 ...

  3. CentOS7搭建Hadoop集群环境

    本文章为云计算课程实验总结. 前言 CentOS7虚拟机搭建hadoop集群,共3个节点:master.slave1.slave2 软件:java1.8 hadoop2.6.0 3台虚拟机都装有Cen ...

  4. docker 安装oracle_阿里云使用Docker搭建Hadoop集群

    摘要 吐血整理,搭建了两遍,亲测可用!!! 我买的是阿里云2C4G的服务器,使用的是CentOS 7.7版本.在搭建过程中踩了不少坑,本篇文章希望对大家有用 CentOS 7.7安装Docker 查看 ...

  5. hadoop集群_Ambari搭建hadoop集群

    Ambari搭建hadoop集群 Ambari提供了对Hadoop更加方便快捷的管理功能,主要包含: 通过一步一步的安装向导简化了集群供应. 预先配置好关键的运维指标(metrics),可以直接查看H ...

  6. 基于OSS存储搭建Hadoop集群

    简介 本文以Ubuntu操作系统为例,介绍基于Aliyun OSS的hadoop-3.0.0-beta1的集群环境搭建过程,示例的集群环境包括1个master和2个slave节点(slave1和sla ...

  7. 好程序员大数据笔记之:Hadoop集群搭建

    好程序员大数据笔记之:Hadoop集群搭建在学习大数据的过程中,我们接触了很多关于Hadoop的理论和操作性的知识点,尤其在近期学习的Hadoop集群的搭建问题上,小细节,小难点拼频频出现,所以,今天 ...

  8. Hadoop集群搭建(27)

    2019独角兽企业重金招聘Python工程师标准>>> Hadoop集群搭建方式: 1.1    确定部署三个节点,分别是hadoop0,hadoop1,hadoop2. 其中had ...

  9. 华为云 和 阿里云 跨服务器搭建Hadoop集群

    目录 华为云 和 阿里云 跨服务器搭建Hadoop集群 说明 期间遇到的问题 CentOS6 7 8更换阿里yum源 修改服务器名称 安装JDK 安装Hadoop 编写集群分发脚本 xsync scp ...

最新文章

  1. ICCV2021最佳检测之一:主动学习框架较大提升目标检测精度(附论文下载)
  2. c++解释模式interpreter
  3. 【高并发】ThreadLocal、InheritableThreadLocal
  4. vue $emit子组件传出多个参数,如何在父组件中在接收所有参数的同时添加自定义参数...
  5. wlop一张多少钱_求解实木家具沙发垫多少钱一张
  6. mysql sysbench 1.0.X
  7. 基于汽车运动学模型的LQR控制
  8. excel下拉列表多选框_移动Excel列表框项目
  9. 小程序毕业设计 基于java后台微信在线视频点播小程序毕业设计参考
  10. 操作系统之短作业优先实现代码
  11. 微软的“胡萝卜”会比“大棒”更有效吗
  12. sqlserver java驱动_sqlserver jdbc驱动
  13. Android TV Demo 工程,其中包含 TV 常用的自定义控件,飞框效果实现,外边框效果实现,UI 控件焦点自动处理,使 TV 开发更简单,更高效。
  14. 衬线字体和无衬线字体区别_字体,字体和字体系列有什么区别?
  15. Windows 版本说明,Enterprise、Ultimate、Home、Professional知多少?
  16. SpringBoot --- 单元测试(2.1.x及其它版本)
  17. 跳棋游戏利用树构建合法路径出现循环的解决办法
  18. linux服务器忘记ssh密码_Linux 忘记密码解决方法,Linux 远程登录
  19. 【Android系统源码修改】修改系统默认定位方式
  20. 小巧的Mac软件卸载工具,App Cleaner的优点

热门文章

  1. 【PTA】验证回文串和判断双对称方阵
  2. python blit_pygame入门
  3. 动态语言和静态语言的区别
  4. js 阿拉伯数字变大写
  5. 一路去**ddss第三天(祝贺中心找了一批人才)
  6. 如何通俗易懂的解释无线通信中的那些专业术语!
  7. 二、【python计算机视觉编程】局部图像描述子
  8. javascript百炼成仙 第一章 掌握JavaScript基础 1.13 语惊四座
  9. WCF 4 安全性和 WIF 简介
  10. vue+echarts双柱状图渐变色