Hadoop2.6.2全分布式集群搭建
来源:互联网 发布:无线网卡无法识别网络 编辑:程序博客网 时间:2024/05/08 10:03
Hadoop2.6.2全分布式集群搭建.
准备环境
1.机器以及软件下载
客户端:Win10专业版,64位操作系统,内存8G
服务器(虚拟机运行):Linux CentOS 64位 7.0 内存1.5G
虚拟软件:VMware Workstation 12
JDK:1.7.0_79 64 bit
Hadoop:2.6.2
2.网络环境
1.本次搭建采用三台虚拟机,一台作为 Master,两台是Slave。三台机器ip分配如下:
机器之间可以相互ping通。
2.所有机器防火墙全部关闭。
[root@master home]# firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)[root@master home]# systemctl stop firewalld.service #停止firewall[root@master home]# systemctl disable firewalld.service #禁止firewall开机启动
集群搭建步骤
1.安装配置JDK1.7.0_79
在Master节点中的/home中建好java,soft目录。将jdk1.7.0_79压缩包放在soft目录中。
[root@master home]# mkdir java soft
进入soft目录,将下载好的jdk安装包解压到java目录下。
[root@master soft]# tar -zxvf jdk1.7.0_79.tar.gz -C /home/java
进入配置文件./bash_profile配置Java路径。
[root@master home]# vim ~/.bash_profile
在文件末尾加入如下信息:
JAVA_HOME=/home/java/jdk1.7.0_79HADOOP_HOME=/home/hadoop/hadoop-2.6.2PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH:$HOME/binexport PATH
[root@master home]# source ~/.bash_profile#使配置文件生效
查看java信息成功,则配置生效。
[root@master home]# java -versionjava version "1.7.0_79"Java(TM) SE Runtime Environment (build 1.7.0_79-b15)Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
到此,Master节点Java信息配置成功。从节点配置同上方法。
2.集群搭建配置
1.机器信息配置
[root@master home]# vim /etc/hostname#在此文件中改名字
配置网络信息:
[root@master home]# vim /etc/sysconfig/network
添加如下信息:
# Created by anacondaNETWORKING=yesNETWORKING_IPV6=noPEERNTP=noGATEWAY=192.168.74.147HOSTNAME=master
关联机器名和IP,使个节点可以通过机器名访问。
[root@master home]# vim /etc/hosts
添加节点和IP信息。
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.74.147 master192.168.74.144 slave1192.168.74.146 slave2
2.ssh免密码登录
修改三台机器ssh配置文件
[root@master home]# vim /etc/ssh/sshd_config
去掉如下三行注释,退出
RSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys
接着产生公钥
[root@master .ssh]# ssh-keygen -t rsa
将各节点产生的公钥合并到authorized_keys中,并且用scp命令传给其他节点
[root@master .ssh]# cat id_rsa.pub >>authorized_keys
[root@master .ssh]# ssh root@slave1 cat ~/.ssh/id_rsa.pub >> authorized_keys[root@master .ssh]# ssh root@slave2 cat ~/.ssh/id_rsa.pub >> authorized_keys
[root@master .ssh]# scp authorized_keys root@slave1:/root/.ssh/authorized_keys[root@master .ssh]# scp authorized_keys root@slave2:/root/.ssh/authorized_keys
成功后用ssh无密码登录
[root@master home]# ssh slave1Last login: Sun Apr 9 19:20:24 2017[root@slave1 ~]# ssh slave2ssh: connect to host slave2 port 22: No route to host[root@slave1 ~]# ssh masterLast login: Sun Apr 9 19:30:58 2017[root@master ~]#
3.Hadoop安装
将下载到soft的压缩包解压到/home/hadoop目录下
[root@master soft]# tar -zxvf hadoop.tar.gz -C /home/hadoop
在/home/hadoop/下建立hdfs和tmp目录,并且在hdfs中建立name和data目录
[root@master hadoop]# ls hadoop-2.6.2 hdfs inputs ncdc ncdc.jar tmp[root@master hadoop]# cd hdfs[root@master hdfs]# lsdata name[root@master hdfs]#
接下来配置主要配置文件,首先进入/home/hadoop/hadoop-2.6.2/etc/hadoop
进入slaves文件加入节点名字
[root@master hadoop]# vim slaves
slave1slave2
进入core-site.xml配置文件系统和临时目录等参数
[root@master hadoop]# vim core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/tmp</value> </property></configuration>
配置hdfs-site.xml文件冗余数设为2
[root@master hadoop]# vim hdfs-site.xml
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>/home/hadoop/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/home/hadoop/hdfs/data</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property></configuration>
配置mapred-site.xml.template 文件,此文件只有从节点需要配置
[root@master hadoop]# vim mapred-site.xml.template
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property></configuration>
配置yarn-site.xml文件,管理节点名字等
[root@slave1 hadoop]# vim yarn-site.xml
<configuration><!-- Site specific YARN configuration properties --><property> <name>yarn.resourcemanager.hostname</name> <value>master</value></property><property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value></property></configuration>
配置hadoop-env.sh,mapred-env.sh和yarn-env.sh中的JAVA_HOME。
# The java implementation to use.export JAVA_HOME=/home/java/jdk1.7.0_79
将配置好的hadoop文件压缩后传给每个节点
[root@slave1 home]# tar -czf hadoop.tar.gz hadoop/
[root@slave1 home]# scp hadoop.tar.gz root@slave1:/home/[root@slave1 home]# scp hadoop.tar.gz root@slave2:/home/
这样主节点配置信息传递到每个从节点,hadoop集群配置完成。
接下来在主节点格式化
[root@slave1 home]# hadoop namenode -format
提示信息就不演示了,最后会有提示格式化成功。
然后接下来可以启动集群,首先进入/home/hadoop/hadoop-2.6.2/sbin查看可执行的命令
[root@slave1 sbin]# lsdistribute-exclude.sh start-all.cmd stop-balancer.shhadoop-daemon.sh start-all.sh stop-dfs.cmdhadoop-daemons.sh start-balancer.sh stop-dfs.shhdfs-config.cmd start-dfs.cmd stop-secure-dns.shhdfs-config.sh start-dfs.sh stop-yarn.cmdhttpfs.sh start-secure-dns.sh stop-yarn.shkms.sh start-yarn.cmd yarn-daemon.shmr-jobhistory-daemon.sh start-yarn.sh yarn-daemons.shrefresh-namenodes.sh stop-all.cmdslaves.sh stop-all.sh
启动集群可以用 ./start-all.sh命令同时启动start-dfs.sh and start-yarn.sh
[root@slave1 sbin]# ./start-all.sh This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
启动成功后jps查看java进程,master进程如下:
[root@master sbin]# jps5916 ResourceManager5773 SecondaryNameNode6170 Jps5596 NameNode
slave进程如下:
[root@slave1 ~]# jps4151 Jps3894 DataNode3995 NodeManager
至此hadoop集群已经搭建成功!你也可以通过浏览器来查看集群信息。
注意这里实际上是主节点IP:192.168.74.147,之所以输入hadoop可以访问是因为在客户机中对hosts文件中添加了“192.168.74.147 hadoop”进行了关联,如果没有此步骤可以输入:主节点IP:+端口50070 来查看。
我们可以看到活节点数是2,说明节点正常运行。
当然我们还可以通过此页面来看日志文件
总结
1.不成功原因
首先对linux操作要有一定的熟悉程度,其次要学会查看日志和找错误提示,在修改配置文件时要仔细。如果hadoop和Java版本不合适也会导致无法搭建,博客中的版本并不是最好的,事实上hadoop1.7.3和Java1.8在后续使用中更好。此博文作为大数据学习有很多不足的地方,欢迎留言指出。
2.用到的知识
- Makedown指南
- Apache™ Hadoop®
- CentOS wiki
- Hadoop2.6.2全分布式集群搭建
- Ubuntu12.04+Hadoop2.6.5实现全分布式集群搭建
- hadoop2.7.3分布式集群搭建
- 【分布式集群】hadoop2.6.0集群搭建
- Hadoop2.0全分布式集群架构
- hadoop2.2.0完全分布式集群搭建
- # 从零开始搭建Hadoop2.7.1的分布式集群
- 从零开始搭建Hadoop2.7.1的分布式集群
- 从零开始搭建Hadoop2.7.1的分布式集群
- 搭建Hadoop2.7.1的分布式集群
- centos7搭建hadoop2.7.2完全分布式集群
- hadoop2.x 完全分布式详细集群搭建
- Ubuntu 上Hadoop2.7.1分布式集群搭建
- Hadoop2.7.3完全分布式集群搭建
- hadoop2.7.1分布式集群搭建图解
- Hadoop2.6.0伪分布式集群搭建
- 搭建hadoop2.6.0完全分布式集群
- 从零开始搭建Hadoop2.7.1的分布式集群
- ACM 头文件大全 常用函数
- QT水平布、垂直局及常用控件
- Android ActionBar 实现原理
- leetcode第七周解题报告
- Gradle的大型项目常用库和版本管理
- Hadoop2.6.2全分布式集群搭建
- pomelo timer is not exsits
- JSP 之基础知识
- NBUT[1220] SPY
- Bootsrap 3.0:组件
- 图片懒加载
- web自动化测试图片上传的两种方法
- 京东2017实习生招聘编程题——终结者 python
- JS正则表达式 下篇