文章目录
- 一、Hadoop完全分布式搭建(Centos 7系统)
- 1、关闭防火墙
- 2、设置主机名
- 3、配置主机名映射hosts文件
- 3、设置静态IP
- 4、配置jdk环境变量
- 5、配置SSH免密登录
- 6、配置Hadoop环境变量
- 7、修改Hadoop配置文件
- 8、分发文件
- 9、格式化namenode
- 10、启动集群并测试
- 二、Hadoop安装zookeeper(Centos 7系统)
- 1、安装zookeeper
- 2、配置环境变量
- 3、更改文件名字zoo.cfg
- 4、修改zoo.cfg配置文件
- 6、分发zookeeper
- 7、zookeeper基本命令
- 三、Hadoop高可用搭建(Centos 7系统)
- 1、修改配置文件
- 2、分发文件
- 3、第一次启动顺序
- 3、其次启动顺序
- 4、查看节点个数
一、Hadoop完全分布式搭建(Centos 7系统)
1、关闭防火墙
systemctl stop firewalld #关闭防火墙 systemctl start firewalld #开启防火墙 systemctl disable firewalld #设置开机禁用防火墙 systemctl enable firewalld #设置开机启用防火墙 systemctl status firewalld #查看防火墙状态
2、设置主机名
hostnamectl set-hostname master && bash #设置主机名为master,立即生效. hostnamectl set-hostname worker1 && bash #设置主机名为worker1,立即生效. hostnamectl set-hostname worker2 && bash #设置主机名为worker2,立即生效.
3、配置主机名映射hosts文件
vim /etc/hosts #进入hosts文件 192.168.10.100 master #IP地址 主机名 192.168.10.101 worker1 #IP地址 主机名 192.168.10.102 worker2 #IP地址 主机名
3、设置静态IP
vim /etc/sysconfig/network-scripts/ifcfg-ens33 #进入配置IP文件 TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="dhcp" #改为static DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="ens33" UUID="29eb0e94-b7d2-445a-93d9-d6755d24f55a" DEVICE="ens33" ONBOOT="no" #改为yes IPADDR=192.168.10.100 #设置静态IP GATEWAY=192.168.10.2 #配置网关 DNS1=192.168.10.2 #配置DNS systemctl restart network #重启网络服务
4、配置jdk环境变量
vim /etc/profile #进入环境变量配置文件 #添加以下内容-------------------- export JAVA_HOME=/opt/jdk1.8.0 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin #--------------------------------- source /etc/profile #使用source命令你个使配置文件生效
5、配置SSH免密登录
ssh-keygen -t rsa #在主节点使用命令,一直按回车 ssh-copy-id worker1 #将公共密钥填充到另一个节点worker1上 ssh-copy-id worker2 #将公共密钥填充到另一个节点wokrer2上 ssh worker1 #验证是否免密成功 ssh worker2 #验证是否免密成功
6、配置Hadoop环境变量
vim /etc/profile #进入环境变量配置文件 #添加以下内容-------------------- export HADOOP_HOME=/opt/hadoop3.3.6 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin #--------------------------------- source /etc/profile #使用source使配置文件生效
7、修改Hadoop配置文件
配置文件路径在hadoop中etc文件夹
修改hadoop-env.sh
export JAVA_HOME=/usr/local/program/jdk8 #jdk文件路径 export HDFS_NAMENODE_USER=root export HDFS_DATANODE_USER=root export HDFS_ZKFC_USER=root export HDFS_JOURNALNODE_USER=root export YARN_RESOURCEMANAGER_USER=root export YARN_NODEMANAGER_USER=root
修改core-site.xml文件
fs.defaultFS hdfs://master:9000 hadoop.tmp.dir file:/opt/app/hadoop/tmp hadoop.http.staticuser.user root 修改hdfs-site.xml
dfs.namenode.name.dir /usr/hadoop3/hdfs/name dfs.datanode.data.dir /usr/hadoop3/hdfs/data dfs.replication 3 dfs.namenode.http-address master:9870 dfs.namenode.secondary.http-address master:9868 dfs.permissions.enalbed false 修改yarn-site.xml
yarn.resourcemanager.hostname master yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.vmem-check-enabled false 修改mapred-site.xml
mapreduce.framework.name yarn mapreduce.application.classpath /opt/hadoop3.3.6/share/hadoop/mapreduce/*:/opt/hadoop-3.3.6/share/hadoop/mapreduce/lib/* 修改workers
vim workers # 删掉里面的localhost,添加以下内容,你的两个从节点的ip映射 worker1 worker2
8、分发文件
# 分发jdk,$PWD:获取当前所在目录的绝对路径 scp -r jdk1.8.0_162 root@worker1:$PWD scp -r jdk1.8.0_162 root@worker2:$PWD # 分发hadoop scp -r hadoop-3.3.3 root@worker1:$PWD scp -r hadoop-3.3.3 root@worker2:$PWD # 分发/etc/hosts scp /etc/hosts root@worker1:/etc/ scp /etc/hosts root@worker2:/etc/ # 分发/etc/profile scp /etc/profile root@worker1:/etc/ scp /etc/profile root@worker2:/etc/ # 然后在两个从节点上执行 source /etc/profile
9、格式化namenode
hdfs namenode -format
10、启动集群并测试
# 启动hadoop start-all.sh # 查看进程 jps
主节点进程
ResourceManager NodeManager Jps DataNode SecondaryNameNode NameNode
从节点
DataNode NodeManager
从节点
DataNode NodeManager
二、Hadoop安装zookeeper(Centos 7系统)
1、安装zookeeper
tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz
2、配置环境变量
export ZK_HOME=/opt/zookeeper export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZK_HOME/bin
3、更改文件名字zoo.cfg
cd conf #进入zookeep的conf文件夹 mv zoo-sample.cfg zoo.cfg #将zoo-sample.cfg改名为zoo.cfg
4、修改zoo.cfg配置文件
# The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=D:\zookeeper\data # the port at which the clients will connect clientPort=2181 # the maximum number of client connections. # increase this if you need to handle more clients #maxClientCnxns=60 # # Be sure to read the maintenance section of the # administrator guide before turning on autopurge. # # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance # # The number of snapshots to retain in dataDir #autopurge.snapRetainCount=3 # Purge task interval in hours # Set to "0" to disable auto purge feature #autopurge.purgeInterval=1 ## Metrics Providers # # https://prometheus.io Metrics Exporter #metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider #metricsProvider.httpPort=7000 #metricsProvider.exportJvmInfo=true #server.1 = 主机ip(主机映射名):A:B #server.2 = 主机ip(主机映射名):A:B #server.3 = 主机ip(主机映射名):A:B server.1 = 主机ip(主机映射名):2888:3888 server.2 = 主机ip(主机映射名):2888:3888 server.3 = 主机ip(主机映射名):2888:3888
配置文件相关说明
tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。 initLimit:LF初始通信时限,集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。 syncLimit:LF同步通信时限,集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数(tickTime的数量)。 dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。 clientPort:客户端连接端口,这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求 autopurge.snapRetainCount:保留数量。 autopurge.purgeInterval:清理时间间隔,单位:小时。 server.N = YYY:A:B,其中N表示服务器编号,YYY表示服务器的IP地址,A为LF通信端口,表示该服务器与集群中的leader交换的信息的端口。B为选举端口,表示选举新leader时服务器间相互通信的端口(当leader挂掉时,其余服务器会相互通信,选择出新的leader)。一般来说,集群中每个服务器的A端口都是一样,每个服务器的B端口也是一样。但是当所采用的为伪集群时,IP地址都一样,只能时A端口和B端口不一样。
5、创建myid文件
#在dataDir=D:\zookeeper\data文件下创建myid vim myid #在myid中填写数字序号,序号和zoo.cfg中server序号相同
6、分发zookeeper
scp -r /opt/zookeeper/ root@worker1:/opt/ scp -r /opt/zookeeper/ root@worker2:/opt/
7、zookeeper基本命令
zkServe.sh start #开启zookeeper服务 zkServer.sh status #关闭zookeeper服务
三、Hadoop高可用搭建(Centos 7系统)
1、修改配置文件
修改core-site.xml
fs.defaultFS hdfs://my-hdfs hadoop.tmp.dir file:/opt/app/hadoop/tmp hadoop.http.staticuser.user root ha.zookeeper.quorum master:2181,worker1:2181,worker2:2181 修改hdfs-site.xml
dfs.nameservices my-hdfs dfs.ha.namenodes.my-hdfs nn1,nn2 dfs.namenode.rpc-address.my-hdfs.nn1 master:8020 dfs.namenode.rpc-address.my-hdfs.nn2 worker1:8020 dfs.namenode.http-address.my-hdfs.nn1 master:9870 dfs.namenode.http-address.my-hdfs.nn2 worker1:9870 dfs.namenode.shared.edits.dir qjournal://master:8485;worker1:8485;worker2:8485/my-hdfs dfs.journalnode.edits.dir /usr/local/program/hadoop/datas/qjm dfs.namenode.name.dir /usr/hadoop3/hdfs/name dfs.datanode.data.dir /usr/hadoop3/hdfs/data dfs.client.failover.proxy.provider.my-hdfs org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider dfs.ha.fencing.methods sshfence shell(true) dfs.ha.fencing.ssh.private-key-files /root/.ssh/id_rsa dfs.ha.automatic-failover.enabled true dfs.replication 3 dfs.namenode.secondary.http-address master:9868 修改mapred-stie.xml
mapreduce.framework.name yarn mapreduce.application.classpath /opt/hadoop3.3.6/share/hadoop/mapreduce/*:/opt/hadoop-3.3.6/share/hadoop/mapreduce/lib/* mapreduce.jobhistory.address master:10020 mapreduce.jobhistory.webapp.address master:19888 mapreduce.jobhistory.done-dir /history/done mapreudce.jobhistory.intermediate.done-dir /history/done/done_intermediate yarn.app.mapreduce.am.env HADOOP_MAPRED_HOME=/usr/local/program/hadoop mapreduce.map.env HADOOP_MAPRED_HOME=/usr/local/program/hadoop mapreduce.reduce.env HADOOP_MAPRED_HOME=/usr/local/program/hadoop 修改yarn-site.xml文件
yarn.resourcemanager.ha.enabled true yarn.resourcemanager.cluster-id my-hdfs yarn.resourcemanager.ha.rm-ids rm1,rm2 yarn.resourcemanager.hostname.rm1 master yarn.resourcemanager.hostname.rm2 worker1 yarn.resourcemanager.webapp.address.rm1 master:8088 yarn.resourcemanager.webapp.address.rm2 worker1:8088 yarn.resourcemanager.zk-address master:2181,worker1:2181,worker2:2181 yarn.nodemanager.aux-services mapreduce_shuffle yarn.log-aggregation-enable true yarn.log.server.url http://master:19888/jobhistory/logs yarn.log-aggregation.retain-seconds 86400 yarn.resourcemanager.recovery.enabled true yarn.resourcemanager.store.class org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore yarn.nodemanager.vmem-check-enabled false 2、分发文件
# 分发hadoop配置好的文件 scp -r /opt/hadoop/ root@worker1:/opt/ scp -r /opt/hadoop/ root@worker2:/opt/
3、第一次启动顺序
启动zookeeper
zkServer.sh start #三个节点都要启动 zkServer.sh status #查看状态受否正常
4、启动JournalNode
hdfs --daemon start journalnode #三个节点都要启动
5、格式化namenode
hdfs namenode -format #格式化namenode,主节点格式化 #格式化前清除目录数据,data文件,name文件
6、格式化ZKFC,启动ZKFC
hdfs zkfc -formatZK #格式化ZKFC,主节点格式化 hdfs --daemon start zkfc #启动ZKFC,主节点启动
7、启动namenode
hdfs --daemon start namenode #主节点启动
8、启动副节点namenode
hdfs namenode -bootstrapStandby #副节点启动namenode,同步namenode
9、启动其他节点
start-all.sh
3、其次启动顺序
hdfs --daemon start zkfc #主节点启动 zkServer.sh start #三个节点都要启动 start-all.sh start #主节点启动
4、查看节点个数
主节点
[root@node001 hadoop]# jps 18946 QuorumPeerMain 25123 NameNode 26628 DFSZKFailoverController 26182 DataNode 27368 ResourceManager 27561 NodeManager 24666 JournalNode 27965 Jps
副节点
[root@node002 hadoop]# jps 26515 Jps 25939 NameNode 21860 QuorumPeerMain 26055 DataNode 26217 DFSZKFailoverController 26398 NodeManager 25247 JournalNode
其它节点
[root@node003 hadoop]# jps 28421 NodeManager 27783 DataNode 28727 Jps 24650 QuorumPeerMain 27583 JournalNode
猜你喜欢
- 4天前(零碳中国·绿色投资蓝皮书)中国"零碳"差旅之路暨"绿色低碳酒店"标准研究项目成果发布会召开
- 4天前(鄂尔多斯航空公司客服电话)架起“北方之路” ,中国联合航空带您飞向鄂尔多斯重回1倍速
- 4天前(杭州西湖区万怡酒店正式开业了吗)杭州西湖区万怡酒店正式开业
- 4天前(安徽民航君澜大饭店装饰设计招标)集东方文化气息,品徽派隽美风韵----安徽民航君澜大饭店静待绽放
- 4天前(新西兰“空降”上海:新西兰旅游局邀请你来“玩真的”!)新西兰“空降”上海:新西兰旅游局邀请你来“玩真的”!
- 4天前(“清透会呼吸”轻松拿捏春日出游氛围感)“清透会呼吸”轻松拿捏春日出游氛围感
- 4天前(071 圣安东尼奥)秋季 圣安东尼奥交出了私藏活动清单
- 4天前(希尔顿集团2021年筹建的酒店)希尔顿集团两大重点项目亮相第四届上海旅游投资促进大会
- 4天前(美诺酒店集团旗下臻选品牌m collection)美诺酒店集团启动盛橡品牌战略焕新 开启全球扩张新篇章
- 4天前(内蒙古交通旅游图)内蒙古着力提升交通与旅游服务水平
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章