Hadoop集群环境搭建


第一部分:准备Linux环境
创建虚拟机安装系统的步骤在这里就不讲了,详细步骤请看本人其他文章
打开建好的虚拟机
一、修改Hostname
1、 临时修改hostnamehostname bigdata-01.liu.com这种修改方式,系统重启后就会失效
2、 永久修改hostnamevim /etc/sysconfig/network打开后编辑如下内容NETWORKING=yes #使用网络
HOSTNAME=bigdata-01.liu.com #设置主机名二、配置Hostvim /etc/hosts添加如下内容172.18.74.172 bigdata-01.liu.com三、关闭防火墙查看防火墙状态service iptables status临时关闭防火墙service iptables stop永久关闭防火墙(需要重启才能生效)chkconfig iptables off四、关闭selinux
selinux是Linux一个子安全机制,学习环境可以将它禁用vim /etc/sysconfig/selinux把SELINUX设置成disabledSELINUX=disabled五、安装JDK
检测系统是否安装jdkjava -version如果显示有openjdk需要先卸载,再安装Oracle的jdk(其他版本的jdk对hadoop的一些命令不是很支持)rpm -qa | grep java
卸载openjdk,.noarch的文件可以不用删除rpm -e –nodeps java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.4.e17_5.x86_64
rpm -e –nodeps java-1.7.0-openjdk-1.7.0.191-2.6.15.4.e17_5.x86_64然后再次使用rpm -qa | grep java 查看是否已经卸载openjdk,如果还有就再卸载一遍用xshell远程工具远程虚拟机,安装lrzsz命令yum -y install lrzsz导入jdk包并解压到 /opt/modules目录下rz
tar -zvxf jdk-8u181-linux-x64.tar.gz -C /opt/modules添加环境变量
设置JDK的环境变量 JAVA_HOME,需要修改配置文件/etc/profile,追加export JAVA_HOME=”/opt/modules/jdk1.8.0_181″
export PATH=$JAVA_HOME/bin:$PATH
修改完毕后,执行 source /etc/profile 使修改生效
再次执行 java –version,可以看见已经安装完成
第二部分:hadoop安装
完全分部式是真正利用多台Linux主机来进行部署Hadoop,对Linux机器集群进行规划,使得Hadoop各个模块分别部署在不同的多台机器上。
一、环境准备
1.克隆虚拟机
Vmware左侧选中要克隆的机器,这里对原有的BigData01机器进行克隆,虚拟机菜单中,选中管理菜单下的克隆命令。选择“创建完整克隆”,虚拟机名称为BigData02,选择虚拟机文件保存路径,进行克隆。再次克隆一个名为BigData03的虚拟机。
2.配置网络
修改网卡名称
在BigData02和BigData03机器上编辑网卡信息。执行sudo vim /etc/udev/rules.d/70-persistent-net.rules命令。因为是从BigData01机器克隆来的,所以会保留BigData01的网卡eth0,并且再添加一个网卡eth2。并且eth0的Mac地址和BigData01的地址是一样的,Mac地址不允许相同,所以要删除eth0,只保留eth2网卡,并且要将eth2改名为eth0。将修改后的eth0的mac地址复制下来,修改network-scripts文件中的HWADDR属性。vim /etc/sysconfig/network-scripts/ifcfg-eth0修改网络参数:BigData02机器IP改为172.18.74.173BigData03机器IP改为172.18.74.174
!!如果是在真实的服务器里搭建Hadoop环境就需要再建两个虚拟机,按照上面的步骤再来一遍了,服务器里克隆主机不是很理想!!
3.配置Hostname以及hosts
BigData02配置hostname为 bigdata-02.liu.comBigData03配置hostname为 bigdata-03.liu.com
BigData01、BigData02、BigData03三台机器hosts都配置为:172.18.74.172 bigdata-01.liu.com
172.18.74.173 bigdata-02.liu.com
172.18.74.174 bigdata-03.liu.com4.配置Windows上的SSH客户端在本地Windows中的SSH客户端上添加对BigData02、BigData03机器的SSH链接二、服务器功能规划三、在第一台机器上安装新的Hadoop
创建hadoop目录mkdir -p /opt/modules/app导入Hadoop压缩包并解压到Hadoop目录rz
tar -zxf /opt/sofeware/hadoop-2.7.4-with-centos-6.7.tar.gz -C /opt/modules/app/切换到/opt/modules/app/hadoop-2. 香港云主机7.4/etc/hadoop目录,配置该目录下的Hadoop JDK路径即修改hadoop-env.sh、mapred-env.sh、yarn-env.sh文件中的JDK路径:export JAVA_HOME=”/opt/modules/jdk1.8.0_181″配置core-site.xml
vim core-site.xmlfs.defaultFS
hdfs://bigdata-01.liu.com:8020
hadoop.tmp.dir
/opt/modules/app/hadoop-2.7.4/data/tmp
dfs.namenode.name.dir
file://${hadoop.tmp.dir}/dfs/name
dfs.datanode.data.dir
file://${hadoop.tmp.dir}/dfs/data
fs.defaultFS为NameNode的地址。hadoop.tmp.dir为hadoop临时目录的地址,默认情况下,NameNode和DataNode的数据文件都会存在这个目录下的对应子目录下。应该保证此目录是存在的,如果不存在,先创建。配置hdfs-site.xml
vim hdfs-site.xmldfs.namenode.secondary.http-address
bigdata-03.liu.com:50090
dfs.namenode.secondary.http-address是指定secondaryNameNode的http访问地址和端口号,因为在规划中,我们将BigData03规划为SecondaryNameNode服务器,所以这里设置:bigdata-03.liu.com:50090
配置slaves
vim slavesbigdata-01.liu.com
bigdata-02.liu.com
bigdata-03.liu.comslaves文件是指定HDFS上有哪些DataNode节点配置yarn-site.xml
vim yarn-site.xmlyarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.hostname
bigdata-02.liu.com
yarn.log-aggregation-enable
true
yarn.log-aggregation.retain-seconds
106800
根据规划yarn.resourcemanager.hostname这个指定resourcemanager服务器指向bigdata-02.liu.comyarn.log-aggregation-enable是配置是否启用日志聚集功能yarn.log-aggregation.retain-seconds是配置聚集的日志在HDFS上最多保存多长时间
配置mapred-site.xml
从mapred-site.xml.template复制一个mapred-site.xml文件cp mapred-site.xml.template mapred-site.xmlvim mapred-site.xmlmapreduce.framework.name
yarn
mapreduce.jobhistory.address
bigdata-01.liu.com:10020
mapreduce.jobhistory.webapp.address
bigdata-01.liu.com:19888
mapreduce.framework.name设置mapreduce任务运行在yarn上mapreduce.jobhistory.address是设置mapreduce的历史服务器安装在BigData01机器上mapreduce.jobhistory.webapp.address是设置历史服务器的web页面地址和端口号
四、设置SSH无密码登录
Hadoop集群中的各个机器间会相互地通过SSH访问,每次访问都输入密码是不现实的,所以要配置各个机器间的SSH是无密码登录的
在BigData01上生成公钥ssh-keygen -t rsa
一路回车,都设置为默认值,然后再当前用户的Home目录下的.ssh目录中会生成公钥文件(id_rsa.pub)和私钥文件(id_rsa), .ssh是隐藏文件在home目录下ls -a就会显示出来分发公钥ssh-copy-id bigdata-01.liu.com
ssh-copy-id bigdata-02.liu.com
ssh-copy-id bigdata-03.liu.com五、分发Hadoop文件
首先在其他两台机器上创建存放Hadoop的目录mkdir -p /opt/modules/app通过Scp分发du -sh /opt/modules/app/hadoop-2.7.4/share/doc
scp -r /opt/modules/app/hadoop-2.7.4/ bigdata-02.liu.com:/opt/modules/app
scp -r /opt/modules/app/hadoop-2.7.4/ bigdata-03.liu.com:/opt/modules/app格式NameNode
在NameNode机器bigdata-01上执行格式化:/opt/modules/app/hadoop-2.7.4/bin/hdfs namenode –format格式化后在 /opt/modules/app/hadoop-2.7.4/data/tmp/dfs/data/ 目录下会生成一个current目录,里面有一系列文件

注意:
如果需要重新格式化NameNode,需要先将原来NameNode和DataNode下的文件全部删除,不然会报错,NameNode和DataNode所在的目录是在core-site.xml中hadoop.tmp.dir、dfs.namenode.name.dir、dfs.datanode.data.dir属性里配置的。
因为每次格式化,默认是创建一个集群ID,并写入NameNode和DataNode的VERSION文件中(VERSION文件所在目录为dfs/name/current 和 dfs/data/current),重新格式化时,默认会生成一个新的集群ID,如果不删除原来的目录,会导致namenode中的VERSION文件中是新的集群ID,而DataNode中是旧的集群ID,不一致时会报错。六、启动集群
切换到/opt/modules/app/hadoop-2.7.4目录下
启动HDFS/opt/modules/app/hadoop-2.7.4/sbin/start-dfs.shjps查看已经启动的服务

启动YARN/opt/modules/app/hadoop-2.7.4/sbin/start-yarn.sh也可以使用这条命令一步到位/opt/modules/app/hadoop-2.7.4/sbin/start-all.sh在BigData02上启动ResourceManager:sbin/yarn-daemon.sh start resourcemanager启动日志服务器
因为我们规划的是在BigData03服务器上运行MapReduce日志服务,所以要在BigData03上启动/opt/modules/app/hadoop-2.7.4/sbin/mr-jobhistory-daemon.sh start historyserver
查看HDFS Web页面
http://bigdata-01.liu.com:50070/
如果域名没有解析可以在搜索栏中输入ip+端口如:172.18.74.172:50070
查看YARN Web 页面
http://bigdata-02.liu.com:8088/cluster172.18.74.173:8088/cluster
好啦,到这里Hadoop集群环境的搭建就完成啦。建议Ha友们搭建Hadoop环境时先去了解一下各个组件是什么这样更有利于你顺利的完成Hadoop环境的搭建,我的一些同学他们学这个比较早,那时候也没人了解Hadoop是什么,听他们说搭建了10天半个月的才搭建出来,我就是在他们的影响下逐渐了解了点Hadoop的知识,用了一天多的时间搭建好了,搭建过程中还遇到了不少突发情况,所以如果搭建过程中没有什么意外情况再加上提前了解过,半天就能搞定了,千万不要遇到困难就放弃,坚持一定会胜利的!!
。。。从前车马很慢,书信很远,一生只够爱一个人!!!

相关推荐: 电脑软件装C盘会不会让系统变卡

本篇内容主要讲解“电脑软件装C盘会不会让系统变卡”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“电脑软件装C盘会不会让系统变卡”吧!为啥人们有把软件装在C盘之外的习惯?这是一个远古时代遗留下来的习惯。过去的电脑的硬件…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 07/24 20:38
Next 07/24 20:38

相关推荐