百度一下你就知道网页,seo zac,游戏优化,wordpress主题恶意代码用三台云服务器搭建hadoop完全分布式集群 硬件准备集群配置集群规划Hadoop、Zookeeper、Java、CentOS版本 基础环境配置关闭防火墙修改主机名主机映射时间同步查看主机时间选择时区时间同步协议NTP 定时任务crontab配置ssh免密 安装jdk创建安装目录和软件包存放目录修改环境变量… 用三台云服务器搭建hadoop完全分布式集群 硬件准备集群配置集群规划Hadoop、Zookeeper、Java、CentOS版本 基础环境配置关闭防火墙修改主机名主机映射时间同步查看主机时间选择时区时间同步协议NTP 定时任务crontab配置ssh免密 安装jdk创建安装目录和软件包存放目录修改环境变量查看java版本确认安装成功: Zookeeper安装安装Zookeeper配置系统环境变量标识节点启动集群 Hadoop安装修改hadoop-env.sh修改yarn-env.sh修改主要配置修改core-site.xml修改hdfs-site.xml修改yarn-site.xml修改mapred-site.xml修改slaves 启动集群启动Zookeeper初始化NameNode初始化HA状态启动HDFS启动YARN查看集群启动HDFS查看集群启动YARN后查看集群 硬件准备
集群配置
本次利用云服务器搭建Hadoop集群 在开始之前你需要3台云服务器可以在同一家购买也可以在不同家购买。此次教程采用百度云产品可以换不同账号新手免费试用几个月具体配置如下
服务器名称配置磁盘容量master2cpu 内存4GB40Gslave11cpu 内存2GB60Gslave21cpu 内存2GB60G
集群规划
服务器IP180.76.231.240180.76.53.4106.12.160.115主机名masterslave1slave2NameNode是否否SecondaryManager是否否DateNode是是是RecourceManager是否否Nodemanager是是是
Hadoop、Zookeeper、Java、CentOS版本
HadoopZookeeperJavaCentOS2.7.73.4.141.8.0_1718.4 x86_64(64bit)
基础环境配置
关闭防火墙
systemctl stop firewalld
systemctl status firewalld修改主机名
hostnamectl set-hostname master
hostname主机映射
3个虚拟机均需要修改hosts文件
vi /etc/hosts使其生效
source /etc/hosts 注意因为是云服务器会有两个ip一个是内网IP,一个是外网IP,我们在设置hosts时对于要设置的服务器IP为内网而对于其他服务器要设置外网IP。 测试三台机器,是否ping通
ping masterping slave1ping slave2时间同步
查看主机时间
date选择时区
tzselect
echo TZAsia/Shanghai; export TZ /etc/profile source /etc/profile时间同步协议NTP
yum install -y ntp//三台机器安装ntpmaster作为ntp服务器修改ntp配置文件
vim /etc/ntp.conf//master执行屏蔽掉默认的server设置master作为时钟源设置时间服务器的层级为10。
#注释掉server 0 ~ n新增
server 127.127.1.0
fudge 127.127.1.0 stratum 10重启ntp服务(master上执行)
/bin/systemctl restart ntpd.serviceslave1slave2操作
ntpdate master定时任务crontab
crontab -e输入i,添加定时任务
*/30 8-17 * * */usr/sbin/ntpdate master //早8晚五时间段每隔半个小时同步
*/10 * * * */usr/sbin/ntpdate master //每隔10分钟同步一次
*/30 10-17 * * */usr/sbin/ntpdate master //早十晚五时间段每隔半个小时同步查看定时任务列表
crontab –l配置ssh免密
生成公钥和私钥
ssh-keygen -t rsa //三台都要连续按3次Enter键会在当前用户家目录下生成隐藏目录.ssh里面包含私钥id_rsa和公钥id_rsa.pub
将公钥复制到要免密登录的服务器上:ssh-copy-id 服务器名
ssh-copy-id master
ssh-copy-id slave1ssh-copy-id slave2会让你确认是否要连接输入yes 再输入对方主机的密码即可。在这里我选择将各台服务器都相互免密登录大家在实际过程中可按需求选择要免密的主机。 验证免密效果分别测试免密效果ssh 想要登录的主机名
ssh masterssh slave1ssh slave2退出
exit安装jdk
在官网下载好相关文件利用xftp传入主机
创建安装目录和软件包存放目录
创建文件夹 在主机master先创建两个文件夹:/opt/module 和/opt/softs我所有软件都安装在/opt/module下软件安装包均放在/opt/softs下,命令为
mkdir /opt/module/
mkdir /opt/softs/利用xftp连接上传相关软件到/opt/softs
解压至/opt/module
tar -zxvf jdk-8u171-linux-x64.tar.gz‐C /opt/modle/将文件传入主机slave1和slave2
scp -r /opt/softs slave1:/opt/softs
scp -r /opt/softs slave2:/opt/softs
scp -r /opt/module slave1:/opt/module
scp -r /opt/module slave2:/opt/module修改环境变量
vi /etc/profile 添加内容如下
export JAVA_HOME/opt/module/jdk1.8.0_171
export JRE_HOME${JAVA_HOME}/jre
export CLASSPATH.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH${JAVA_HOME}/bin:$PATH使其生效
source /etc/profile删除slave1和slave2的/etc/profile文件:
rm -rf /etc/profile将文件传入主机slave1和slave2
scp -r /etc/profile slave1:/etc/profile
scp -r /etc/profile slave2:/etc/profile查看java版本确认安装成功:
java -versionZookeeper安装
安装Zookeeper
tar -zxvf zookeeper-3.4.14.tar.gz -C /opt/module/配置系统环境变量
vi /etc/profile添加如下信息
export ZOOKEEPER_HOME/opt/module/zookeeper-3.4.14
export PATH$ZOOKEEPER_HOME/bin:$PATH使得配置的环境变量生效:
source /etc/profile修改配置文件 进入zookeeper的安装目录下的 conf目录 拷贝配置样本并进行修改
cd /opt/module/zookeeper-3.4.14/conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg修改dataDir增加dataLogDir如下
dataDir/opt/module/zookeeper-3.4.14/zookeeper-cluster/data
dataLogDir/opt/module/zookeeper-3.4.14/zookeeper-cluster/log#server.1 这个1是服务器的标识可以是任意有效数字标识这是第几个服务器节点这个标识要写到dataDir目录下面myid文件里
server.1sleve1:2777:3888
server.2sleve2:2777:3888
server.3master:2777:3888标识节点
分别在三台主机的 dataDir 目录下新建 myid 文件
mkdir -vp /opt/module/zookeeper-3.4.14/zookeeper-cluster/data/写入对应的节点标识。Zookeeper 集群通过 myid 文件识别集群节点并通过上文配置的节点通信端口和选举端口来进行节点通信选举出 Leader 节点。 slave1上执行
echo 1 /opt/module/zookeeper-3.4.14/zookeeper-cluster/data/myidslave2上执行
echo 2 /opt/module/zookeeper-3.4.14/zookeeper-cluster/data/myidmaster上执行
echo 3 /opt/module/zookeeper-3.4.14/zookeeper-cluster/data/myid启动集群
进入各台服务器${ZOOKEEPER_HOME}/bin然后执行zkServer.sh start 启动集群并用zkServer.sh status查看状态这里也可以不进入bin目录启动因为在/etc/profile设置了系统环境变量但是如果每次在不同目录下启动每次启动会生成一个启动日记文件zookeeper.out文件zookeeper.out也可以用来查看启动时的错误
cd $ZOOKEEPER_HOME/bin查看当前目录
pwdzkServer.sh start
zkServer.sh status常见问题解决措施 1 检查是否创建data目录 2 检查conf/zoo.cfg文件中是否配置了正确的数据缓存路径(data文件夹位置) 3 检查data中是否创建了myid文件,其内容是否正确 如果myid文件中的数字不和zoo.cfg中的数字对应也会造成错误 4 检查conf/zoo.cfg文件中是否配置了服务/投票/选举端口,形式为: server.x(x为myid中的id)ip地址:端口号:端口号 举例: server.1192.168.70.143:2881:3881 5 是否关闭了防火墙(需要关闭,或者开放相关端口) 6 检查data目录下是否有*.pid文件,若有将其全部删除 7 端口占用
netstat -nltp | grep 2181//查看指定端口
jps//查看java进程端口
kill -9 37884// 彻底杀死进程8.主机映射问题在配置zoo.cfg时最好是直接写ip地址不写主机名称 9.启动顺序需要按配置文件启动 具体错误查看zookeeper.out文件
Hadoop安装
进入/opt/softs/目录
cd /opt/softs/安装hadoop
tar -zxvf hadoop-2.7.7.tar.gz -C /opt/module//表示将hadoop安装到/opt/module/配置系统环境变量
vim /etc/profile添加如下信息
export HADOOP_HOME/opt/module/hadoop-2.7.7
export PATH$PATH:${HADOOP_HOME}/bin
export PATH$PATH:${HADOOP_HOME}/sbin//可选这里导入后面可以不进入sbin目录启动服务
使得配置的环境变量生效:
source /etc/profile进入 ${HADOOP_HOME}/etc/hadoop 目录下修改几个配置文件: cd ${HADOOP_HOME}/etc/hadoop修改hadoop-env.sh
指定JDK的安装位置
export JAVA_HOME/opt/module/jdk1.8.0_171修改yarn-env.sh
进入${HADOOP_HOME}/etc/hadoop下配置
cd ${HADOOP_HOME}/etc/hadoop
vim yarn-env.sh
export JAVA_HOME/opt/module/jdk1.8.0_171修改主要配置
由于其方便性这里使用notepad修改 除了直接在文档修改我们还可以利用notepad的插件通过FTP实现远程编辑项目的文档。采用这个方法虽然一次只能编辑一个文档。 notepad是一款开源免费软件到处都有得下载 安装NppFTP插件 选择 「插件」 -- 「Plugin Manager」 -- 「Show Plugin Manager」在弹出的窗口中找到 「NppFTP」 打上勾并点击 「Install」之后一路「Yes」 就可以了。 安装完毕之后在 「插件」 菜单中即可看到 「NppFTP」 。我们也可以将这个插件以窗口的形式显示在主窗口侧边。 选择 「插件」 -- 「NppFTP」 -- 「Show NppFTP Window」 下面就可以通过Notepad的NppFTP插件来连接虚拟机了。点击NppFTP插件栏的小齿轮选择 「profile settings」 在「profile settings」 里点击 「add new」 创建一个新的连接然后右侧填入相应的信息再点击 「close」 退出。 点击NppFTP插件栏左侧的闪电那个图标选择刚刚创建的连接即可连接到虚拟机。之后再打开需要编辑的文档就可以尽情的玩耍了。 进入/opt/module/hadoop-2.7.7/etc/hadoop目录 修改core-site.xml
configurationproperty!-- 指定 namenode 的 hdfs 协议文件系统的通信地址 --namefs.defaultFS/namevaluehdfs://master:8020/value/propertypropertynameio.file.buffer.size/namevalue131072/value/propertyproperty!-- 指定 hadoop 集群存储临时文件的目录 --namehadoop.tmp.dir/namevalue/home/hadoop/tmp/value/propertyproperty!-- ZooKeeper 集群的地址 --nameha.zookeeper.quorum/namevaluemaster:2181,slave1:2181,slave2:2181/value/propertyproperty!-- ZKFC 连接到 ZooKeeper 超时时长 --nameha.zookeeper.session-timeout.ms/namevalue10000/value/property/configuration若中文出现乱码现象点击[编码]使用UTF-8编码
修改hdfs-site.xml
configurationproperty!-- 指定 HDFS 副本的数量 --namedfs.replication/namevalue1/value/propertyproperty!-- namenode 节点数据即元数据的存放位置可以指定多个目录实现容错多个目录用逗号分隔 --namedfs.namenode.name.dir/namevalue/home/hadoop/namenode/data/value/propertyproperty!-- datanode 节点数据即数据块的存放位置 --namedfs.datanode.data.dir/namevalue/home/hadoop/datanode/data/value/propertyproperty!-- 集群服务的逻辑名称 --namedfs.nameservices/namevaluemycluster/value/propertyproperty!-- 块的大小(128M),下面的单位是字节--namedfs.blocksize/namevalue134217728/value/propertyproperty!-- namenode守护进程的http地址主机名和端口号。参考守护进程布局--namedfs.namenode.http-address/namevaluemaster:50070/value/property property!-- secondarynamenode守护进程的http通信地址主机名和端口号。参考守护进程布局--namedfs.namenode.secondary.http-address/namevaluemaster:50090/value/propertyproperty!-- NameNode 元数据在 JournalNode 上的共享存储目录 --namedfs.namenode.shared.edits.dir/namevalueqjournal://master:8485;slave1:8485;slave2:8485/mycluster/value/propertyproperty!-- Journal Edit Files 的存储目录 --namedfs.journalnode.edits.dir/namevalue/home/hadoop/journalnode/data/value/propertyproperty!-- 配置隔离机制确保在任何给定时间只有一个 NameNode 处于活动状态 --namedfs.ha.fencing.methods/namevaluesshfence/value/propertyproperty!-- 使用 sshfence 机制时需要 ssh 免密登录 --namedfs.ha.fencing.ssh.private-key-files/namevalue/home/hadoop/.ssh/id_rsa/value/propertyproperty!-- SSH 超时时间 --namedfs.ha.fencing.ssh.connect-timeout/namevalue30000/value/propertyproperty!-- 访问代理类用于确定当前处于 Active 状态的 NameNode --namedfs.client.failover.proxy.provider.mycluster/namevalueorg.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider/value/propertyproperty!-- 开启故障自动转移 --namedfs.ha.automatic-failover.enabled/namevaluetrue/value/property/configuration修改yarn-site.xml
configuration!-- Site specific YARN configuration properties --property!--配置 NodeManager 上运行的附属服务。需要配置成 mapreduce_shuffle 后才可以在Yarn 上运行 MapReduce 程序。--!-- 指定yarn的shuffle技术--nameyarn.nodemanager.aux-services/namevaluemapreduce_shuffle/value/propertyproperty!-- 是否启用日志聚合 (可选) --nameyarn.log-aggregation-enable/namevaluetrue/value/propertyproperty!-- 聚合日志的保存时间 (可选) --nameyarn.log-aggregation.retain-seconds/namevalue86400/value/propertyproperty!-- 启用 RM HA --nameyarn.resourcemanager.ha.enabled/namevaluetrue/value/propertyproperty!-- RM 集群标识 --nameyarn.resourcemanager.cluster-id/namevaluemy-yarn-cluster/value/propertyproperty!-- 指定resourcemanager的主机名--nameyarn.resourcemanager.hostname/namevaluemaster/value/property property!--配置resourcemanager的内部通讯地址--nameyarn.resourcemanager.address/namevaluemaster:8032/value/propertyproperty!--配置resourcemanager的scheduler的内部通讯地址--nameyarn.resourcemanager.scheduler.address/namevaluemaster:8030/value/propertyproperty!--配置resoucemanager的资源调度的内部通讯地址--nameyarn.resourcemanager.resource-tracker.address/namevaluemaster:8031/value/propertyproperty!--配置resourcemanager的管理员的内部通讯地址--nameyarn.resourcemanager.admin.address/namevaluemaster:8033/value/propertyproperty!--配置resourcemanager的web ui 的监控页面--nameyarn.resourcemanager.webapp.address/namevaluemaster:8088/value/propertyproperty!-- ZooKeeper 集群的地址 --nameyarn.resourcemanager.zk-address/namevaluemaster:2181,slave1:2181,slave2:2181/value/propertyproperty!-- 启用自动恢复 --nameyarn.resourcemanager.recovery.enabled/namevaluetrue/value/propertyproperty!-- 用于进行持久化存储的类 --nameyarn.resourcemanager.store.class/namevalueorg.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore/value/property/configuration修改mapred-site.xml
生成mapred-site.xml
cp mapred-site.xml.template mapred-site.xmlconfigurationproperty!-- 指定mapreduce使用yarn资源管理器--namemapreduce.framework.name/namevalueyarn/value/propertyproperty!-- 配置作业历史服务器的地址--namemapreduce.jobhistory.address/namevaluemaster:10020/value/propertyproperty!-- 配置作业历史服务器的http地址--namemapreduce.jobhistory.webapp.address/namevaluemaster:19888/value/property/configuration修改slaves
配置所有节点的主机名或 IP 地址每行一个,所有从属节点上的 DataNode 服务和NodeManager 服务都会被启动。 masterslave1slave2再将slave1和slave2的文件修改
启动集群
启动Zookeeper
启动集群之前需要先启动zookeeper
cd $ZOOKEEPER_HOME/bin
zkServer.sh start
zkServer.sh status初始化NameNode
首先进入${HADOOP_HOME}/sbin
cd ${HADOOP_HOME}/sbin//若前面导入环境变量可不用进入在namenode节点上初始化集群在master上进行命令为 hdfs namenode -format初始化HA状态
在namenode节点上初始化集群在master上进行命令为
hdfs zkfc -formatZK启动HDFS
在namenode节点上初始化集群。进入master的 ${HADOOP_HOME}/sbin (若前面导入环境变量无需进入)目录下启动 HDFS。此时 master 和的 NameNode 服务和3台服务器上的 DataNode 服务都会被启动 ./start-dfs.shstart-dfs.sh//若前面导入环境变量可直接用这个命令启动YARN
在namenode节点上初始化集群。进入到 master 的${HADOOP_HOME}/bin 目录下启动 YARN。此时 master上的ResourceManager 服务和3台服务器上的 NodeManager 服务都会被启动 ./start-yarn.shstart-yarn.sh//若前面导入环境变量可直接用这个命令查看集群
启动HDFS查看集群
通过在每台机器上输入命令
jps查看集群各服务开启情况。如下图发现所有服务正常开启。 访问http://180.76.231.240:50070/
启动YARN后查看集群 访问http://180.76.231.240:8088/ 文章转载自: http://www.morning.bntfy.cn.gov.cn.bntfy.cn http://www.morning.ywpwq.cn.gov.cn.ywpwq.cn http://www.morning.rdxnt.cn.gov.cn.rdxnt.cn http://www.morning.mpsnb.cn.gov.cn.mpsnb.cn http://www.morning.jqkjr.cn.gov.cn.jqkjr.cn http://www.morning.rpfpx.cn.gov.cn.rpfpx.cn http://www.morning.kpcky.cn.gov.cn.kpcky.cn http://www.morning.kpwcx.cn.gov.cn.kpwcx.cn http://www.morning.cxnyg.cn.gov.cn.cxnyg.cn http://www.morning.hgtr.cn.gov.cn.hgtr.cn http://www.morning.sgfgz.cn.gov.cn.sgfgz.cn http://www.morning.rptdz.cn.gov.cn.rptdz.cn http://www.morning.phlrp.cn.gov.cn.phlrp.cn http://www.morning.fbccx.cn.gov.cn.fbccx.cn http://www.morning.ndxrm.cn.gov.cn.ndxrm.cn http://www.morning.simpliq.cn.gov.cn.simpliq.cn http://www.morning.yqyhr.cn.gov.cn.yqyhr.cn http://www.morning.dfbeer.com.gov.cn.dfbeer.com http://www.morning.qgxnw.cn.gov.cn.qgxnw.cn http://www.morning.xnymt.cn.gov.cn.xnymt.cn http://www.morning.ffdyy.cn.gov.cn.ffdyy.cn http://www.morning.bauul.com.gov.cn.bauul.com http://www.morning.ykrkq.cn.gov.cn.ykrkq.cn http://www.morning.wdshp.cn.gov.cn.wdshp.cn http://www.morning.ynwdk.cn.gov.cn.ynwdk.cn http://www.morning.nzmqn.cn.gov.cn.nzmqn.cn http://www.morning.mcwgn.cn.gov.cn.mcwgn.cn http://www.morning.tmxtr.cn.gov.cn.tmxtr.cn http://www.morning.mgkcz.cn.gov.cn.mgkcz.cn http://www.morning.kvzvoew.cn.gov.cn.kvzvoew.cn http://www.morning.tmzlt.cn.gov.cn.tmzlt.cn http://www.morning.gygfx.cn.gov.cn.gygfx.cn http://www.morning.fmry.cn.gov.cn.fmry.cn http://www.morning.vaqmq.cn.gov.cn.vaqmq.cn http://www.morning.fdrb.cn.gov.cn.fdrb.cn http://www.morning.bdtpd.cn.gov.cn.bdtpd.cn http://www.morning.rbcw.cn.gov.cn.rbcw.cn http://www.morning.yltyr.cn.gov.cn.yltyr.cn http://www.morning.qwhbk.cn.gov.cn.qwhbk.cn http://www.morning.bmrqz.cn.gov.cn.bmrqz.cn http://www.morning.rywr.cn.gov.cn.rywr.cn http://www.morning.kdnrc.cn.gov.cn.kdnrc.cn http://www.morning.bxqpl.cn.gov.cn.bxqpl.cn http://www.morning.pwmpn.cn.gov.cn.pwmpn.cn http://www.morning.wynqg.cn.gov.cn.wynqg.cn http://www.morning.zmpqh.cn.gov.cn.zmpqh.cn http://www.morning.thnpj.cn.gov.cn.thnpj.cn http://www.morning.qwwcf.cn.gov.cn.qwwcf.cn http://www.morning.wlqbr.cn.gov.cn.wlqbr.cn http://www.morning.prkdl.cn.gov.cn.prkdl.cn http://www.morning.yghlr.cn.gov.cn.yghlr.cn http://www.morning.tfrlj.cn.gov.cn.tfrlj.cn http://www.morning.pftjj.cn.gov.cn.pftjj.cn http://www.morning.ahlart.com.gov.cn.ahlart.com http://www.morning.hgkbj.cn.gov.cn.hgkbj.cn http://www.morning.xckdn.cn.gov.cn.xckdn.cn http://www.morning.qxwgx.cn.gov.cn.qxwgx.cn http://www.morning.homayy.com.gov.cn.homayy.com http://www.morning.jthjr.cn.gov.cn.jthjr.cn http://www.morning.hwycs.cn.gov.cn.hwycs.cn http://www.morning.hrnrx.cn.gov.cn.hrnrx.cn http://www.morning.rydhq.cn.gov.cn.rydhq.cn http://www.morning.iuibhkd.cn.gov.cn.iuibhkd.cn http://www.morning.bqdgr.cn.gov.cn.bqdgr.cn http://www.morning.wdnkp.cn.gov.cn.wdnkp.cn http://www.morning.mm27.cn.gov.cn.mm27.cn http://www.morning.rfbt.cn.gov.cn.rfbt.cn http://www.morning.lcmhq.cn.gov.cn.lcmhq.cn http://www.morning.ffbp.cn.gov.cn.ffbp.cn http://www.morning.xflwq.cn.gov.cn.xflwq.cn http://www.morning.bfwk.cn.gov.cn.bfwk.cn http://www.morning.nwpnj.cn.gov.cn.nwpnj.cn http://www.morning.rhlhk.cn.gov.cn.rhlhk.cn http://www.morning.nyzmm.cn.gov.cn.nyzmm.cn http://www.morning.cjsnj.cn.gov.cn.cjsnj.cn http://www.morning.yrccw.cn.gov.cn.yrccw.cn http://www.morning.yixingshengya.com.gov.cn.yixingshengya.com http://www.morning.ylph.cn.gov.cn.ylph.cn http://www.morning.kaweilu.com.gov.cn.kaweilu.com http://www.morning.rkyw.cn.gov.cn.rkyw.cn