当前位置: 首页 > news >正文

兰州网站建设百度官网首页登录入口

兰州网站建设,百度官网首页登录入口,邯山区住房和城乡建设局网站,win7下用iis搭建网站前置步骤: 1). 第一阶段:Hadoop单机伪分布(single) 2). 第二阶段:Hadoop完全分布式(full) 第三阶段: Hadoop高可用(HA) 0. 步骤概述 1). 为完全分布式保存hadoop配置2). 为hadoop2配置hadoop1的ssh免密3). 在hadoop2上配置zookeeper4). 在hadoop1上修改h…

前置步骤:

1). 第一阶段:Hadoop单机伪分布(single)

2). 第二阶段:Hadoop完全分布式(full)

第三阶段: Hadoop高可用(HA)

0. 步骤概述

1). 为完全分布式保存hadoop配置2). 为hadoop2配置hadoop1的ssh免密3). 在hadoop2上配置zookeeper4). 在hadoop1上修改hadoop配置文件为HA高可用模式5). 第一次启动HA6). 常规启动HA7). 在完全分布式集群上测试wordcount程序

1. 为完全分布式保存hadoop配置

1.1 进入$HADOOP_HOME/etc/目录

[root@hadoop1 ~]# cd /opt/test/hadoop-2.6.5/etc

1.2 备份hadoop完全分布式配置,命名为hadoop-full,供以后使用

[root@hadoop1 etc]# cp -r hadoop/ hadoop-full

1.3 查看$HADOOP_HOME/etc/目录,备份成功

[root@hadoop1 etc]# ls
hadoop hadoop-full# hadoop-full保留了已有配置,接下来高可用的配置继续在hadoop文件夹内修改

2. 为hadoop2配置hadoop1的ssh免密

2.1 在hadoop2上生成密匙

[root@hadoop2 ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

2.2 在hadoop2上配置对自身免密

[root@hadoop2 ~]# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

2.3 在hadoop2上查看authorized_keys密匙

[root@hadoop2 ~]# cat ~/.ssh/authorized_keys
ssh-dss ***** root@hadoop1
ssh-dss ***** root@hadoop2# hadoop2上的authorized_keys现在有两个,一个来自hadoop1,一个是自身的

2.4 在hadoop2上将公匙拷贝给hadoop1

2.4.1 方式一:直接用ssh-copy-id –i命令从hadoop2上拷贝到hadoop1
[root@hadoop2 ~]# ssh-copy-id -i ~/.ssh/id_dsa.pub hadoop12.4.2.1 方式二(1):首先在hadoop2上操作,用scp命令将公匙复制到hadoop1
[root@hadoop2 ~]# scp ~/.ssh/id_dsa.pub hadoop1:~/.ssh/hadoop2.pub2.4.2.2 方式二(2):接着在hadoop1上使用cat命令使hadoop2公匙生效
[root@hadoop2 ~]# cat hadoop2.pub >> authorized_keys

2.5 在hadoop2上测试ssh到hadoop1是否成功免密

[root@hadoop2 ~]# ssh hadoop1
[root@hadoop1 ~]# #成功进入hadoop1,没有提示输入密码,表示免密成功

3. 在hadoop2上配置zookeeper

3.1 进入/opt/test/目录

[root@hadoop2 ~]# cd /opt/test
[root@hadoop2 test]

3.2 通过xftp将zookeeper-3.4.6.tar.gz上传到hadoop2的/opt/test/目录

3.3 解压缩文件

[root@hadoop2 test]# tar -zxvf zookeeper-3.4.6.tar.gz

3.4 为hadoop2,hadoop3,hadoop4设置zookeeper环境变量

3.4.1 在hadoop2上编辑/etc/profile,增加zookeeper环境变量配置
[root@hadoop2 ~]# vim /etc/profile
export ZOOKEEPER_PREFIX=/opt/test/zookeeper-3.4.6
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin:$ZOOKEEPER_PREFIX/bin3.4.2 分发hadoop2上的/etc/profile到hadoop3,hadoop4
[root@hadoop2 ~]# scp /etc/profile hadoop2:/etc/
[root@hadoop2 ~]# scp /etc/profile hadoop2:/etc/3.4.3 在hadoop2,hadoop3,hadoop4上使/etc/profile生效
[root@hadoop2 ~]# source /etc/profile
[root@hadoop3 ~]# source /etc/profile
[root@hadoop4 ~]# source /etc/profile

3.5 编辑zoo.cfg文件

3.5.0 进入/opt/etc/zookeeper-3.4.6/conf目录
[root@hadoop2 ~]# cd /opt/test/zookeeper-3.4.6/conf
[root@hadoop2 conf]3.5.1将zoo_sample.cfg复制为zoo.cfg文件
[root@hadoop2 conf]# cp zoo_sample.cfg zoo.cfg3.5.2 在zoo.cfg中添加如下内容
[root@hadoop2 conf]# vim zoo.cfg
# 配置zookeeper数据存放目录
dataDir=/var/test/zk/
# 设置zookeeper位置信息
server.1=hadoop2:2888:3888
server.2=hadoop3:2888:3888
server.3=hadoop4:2888:3888

3.6 设置zookeeper节点对应的ID

3.6.1 在hadoop2上进入/var/test/
[root@hadoop2 ~]# cd /var/test/3.6.2 在test目录下创建zk目录
[root@hadoop2 test]# mkdir zk3.6.3 进入/var/test/zk目录
[root@hadoop2 test]# cd /var/test/zk3.6.4 在/var/test/zk目录下生成myid文件
[root@hadoop2 zk]# echo 1 > myid3.6.5 分别在hadoop3和hadoop4重复3.6.1~3.6.4的操作,其中3.6.4步骤中hadoop3的myid内容为2,hadoop4的myid内容为33.6.6 查看hadoop2,hadoop3,hadoop4的myid文件
[root@hadoop2 zk]# cat myid
1[root@hadoop3 zk]# cat myid
2[root@hadoop4 zk]# cat myid
3

3.7 将zookeeper-3.4.6目录分发到其他节点上

3.7.1 在hadoop2上进入/opt/test/目录
[root@hadoop2 zk]# cd /opt/test/3.7.2 分发zookeeper-3.4.6目录到hadoop3,hadoop4
[root@hadoop2 test]# scp -r zookeeper-3.4.6 hadoop3:`pwd`
[root@hadoop2 test]# scp -r zookeeper-3.4.6 hadoop4:`pwd`

3.8 验证zookeeper是否安装成功

3.8.1 在hadoop2,hadoop3,hadoop4上分别启动zookeeper
[root@hadoop2 test]# zkServer.sh start
[root@hadoop3 test]# zkServer.sh start
[root@hadoop4 test]# zkServer.sh start3.8.2 查看zookeeper状态
# 如果成功,可以看到2个follower,1个leader,leader由选举产生
[root@hadoop2 test]# zkServer.sh status
JMX enabled by default
Using config: /opt/test/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower[root@hadoop3 test]# zkServer.sh status
JMX enabled by default
Using config: /opt/test/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower[root@hadoop4 test]# zkServer.sh status
JMX enabled by default
Using config: /opt/test/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: leader

3.9 使用zookeeper客户端

3.9.1 进入zookeeper客户端
[root@hadoop2 test]# zkCli.sh
[zk: localhost:2181(CONNECTED) 0]
显示上述信息表示进入成功3.9.2 退出zookeeper客户端
[zk: localhost:2181(CONNECTED) 0] quit
Quitting...
2017-11-30 20:43:17,953 [myid:] - INFO  [main:ZooKeeper@684] - Session: ** closed
2017-11-30 20:43:17,953 [myid:] – INFO [main-EventThread:ClientCnxn$EventThread@512] - EventThread shut down3.9.3 停止zookeeper服务
[root@hadoop4 test]# zkServer.sh stop
JMX enabled by default
Using config: /opt/test/zookeeper-3.4.6/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED

4. 在hadoop1上修改hadoop配置文件为HA高可用模式

4.1 进入$HADOOP_HOME/etc/hadoop目录

[root@hadoop1 ~]# cd /opt/test/hadoop-2.6.5/etc/hadoop/

4.2 修改hdfs-site.xml文件

[root@hadoop1 hadoop]# vim hdfs-site.xml4.2.1删除secondary的配置信息
<property><name>dfs.namenode.secondary.http-address</name><value>hadoop2:50090</value>
</property>4.2.2 将原有hdfs-site.xml配置替换为如下内容
<configuration>
<property><name>dfs.replication</name><value>3</value>
</property>
<!--定义nameservices逻辑名称-->
<property><name>dfs.nameservices</name><value>mycluster</value>
</property>
<!--映射nameservices逻辑名称到namenode逻辑名称-->
<property><name>dfs.ha.namenodes.mycluster</name><value>nn1,nn2</value>
</property>
<!--映射namenode逻辑名称到真实主机名称(RPC)-->
<property><name>dfs.namenode.rpc-address.mycluster.nn1</name><value>hadoop1:8020</value>
</property>
<!--映射namenode逻辑名称到真实主机名称(RPC)-->
<property><name>dfs.namenode.rpc-address.mycluster.nn2</name><value>hadoop2:8020</value>
</property>
<!--映射namenode逻辑名称到真实主机名称(HTTP)-->
<property><name>dfs.namenode.http-address.mycluster.nn1</name><value>hadoop1:50070</value>
</property>
<!--映射namenode逻辑名称到真实主机名称(HTTP)-->
<property><name>dfs.namenode.http-address.mycluster.nn2</name><value>hadoop2:50070</value>
</property>
<!--配置journalnode集群位置信息及目录-->
<property><name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://hadoop1:8485;hadoop2:8485;hadoop3:8485/mycluster</value>
</property>
<property><name>dfs.journalnode.edits.dir</name><value>/var/test/hadoop/ha/jn</value>
</property>
<!--配置故障切换实现类-->
<property><name>dfs.client.failover.proxy.provider.mycluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<!--指定切换方式为SSH免密钥方式-->
<property><name>dfs.ha.fencing.methods</name><value>sshfence</value>
</property>
<property><name>dfs.ha.fencing.ssh.private-key-files</name><value>/root/.ssh/id_dsa</value>
</property>
<!--设置自动切换-->
<property><name>dfs.ha.automatic-failover.enabled.mycluster</name><value>true</value>
</property>
</configuration>

4.3 修改core-site.xml文件,将原有配置替换如下

[root@hadoop1 hadoop]# vim core-site.xml<configuration>
<!--设置fs.defaultFS为nameservices的逻辑主机名--><property><name>fs.defaultFS</name><value>hdfs://mycluster</value>
</property>
<!--设置zookeeper数据存放目录--><property><name>hadoop.tmp.dir</name><value>/var/test/hadoop/ha</value>
</property>
<!--设置zookeeper位置信息-->
<property><name>ha.zookeeper.quorum.mycluster</name><value>hadoop2:2181,hadoop3:2181,hadoop4:2181</value></property>
</configuration>

4.4 将修改后的hdfs-site.xml和core-site.xml分发到其他节点

[root@hadoop1 hadoop]# scp hdfs-site.xml core-site.xml hadoop2:`pwd`
[root@hadoop1 hadoop]# scp hdfs-site.xml core-site.xml hadoop3:`pwd`
[root@hadoop1 hadoop]# scp hdfs-site.xml core-site.xml hadoop4:`pwd`

5. 第一次启动HA

5.1 启动zookeeper

5.1.1 在hadoop2,hadoop3,hadoop4上分别启动zookeeper
[root@hadoop2 ~]# zkServer.sh start
[root@hadoop3 ~]# zkServer.sh start
[root@hadoop4 ~]# zkServer.sh start5.1.2 hadoop2,hadoop3,hadoop4进程显示如下
[root@hadoop2 ~]# jps
**** Jps
**** QuorumPeerMain[root@hadoop3 ~]# jps
**** Jps
**** QuorumPeerMain[root@hadoop4 ~]# jps
**** Jps
**** QuorumPeerMain

5.2 启动journalnode

5.2.1 在hadoop1,hadoop2,hadoop3上启动journalnode
[root@hadoop1 ~]# hadoop-daemon.sh start journalnode
[root@hadoop2 ~]# hadoop-daemon.sh start journalnode
[root@hadoop3 ~]# hadoop-daemon.sh start journalnode5.2.2 hadoop1,hadoop2,hadoop3进程显示如下
[root@hadoop1 ~]# jps
**** Jps
**** JournalNode[root@hadoop2 ~]# jps
**** Jps
**** QuorumPeerMain
**** JournalNode[root@hadoop3 ~]# jps
**** Jps
**** QuorumPeerMain
**** JournalNode

5.3 在hadoop1上格式化namenode

[root@hadoop1 ~]# hdfs namenode -format17/11/30 21:16:35 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************
……
SHUTDOWN_MSG: Shutting down NameNode at hadoop1/192.168.111.211
************************************************************/

5.4 在hadoop1上启动namenode

5.4.1 格式化完成后在hadoop1上启动namenode
[root@hadoop1 ~]# hadoop-daemon.sh start namenode
starting namenode, logging to /opt/test/hadoop-2.6.5/logs/hadoop-root-namenode-hadoop1.out5.4.2 hadoop1进程显示如下
[root@hadoop1 ~]# jps
**** Jps
**** JournalNode
**** NameNode

5.5 在hadoop2,即另一台namenode上同步hadoop1的CID等信息

[root@hadoop2 ~]# hdfs namenode -bootstrapStandby
17/11/30 21:20:27 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at hadoop2/192.168.111.212
************************************************************/

5.6 在hadoop1上启动其他服务

[root@hadoop1 ~]# start-dfs.sh17/11/30 21:21:17 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [hadoop1 hadoop2]
hadoop1: namenode running as process 1555. Stop it first.
hadoop2: starting namenode, logging to /opt/test/hadoop-2.6.5/logs/hadoop-root-namenode-hadoop2.out
hadoop2: starting datanode, logging to /opt/test/hadoop-2.6.5/logs/hadoop-root-datanode-hadoop2.out
hadoop3: starting datanode, logging to /opt/test/hadoop-2.6.5/logs/hadoop-root-datanode-hadoop3.out
hadoop4: starting datanode, logging to /opt/test/hadoop-2.6.5/logs/hadoop-root-datanode-hadoop4.out
Starting journal nodes [hadoop1 hadoop2 hadoop3]
hadoop1: journalnode running as process 1397. Stop it first.
hadoop3: journalnode running as process 1437. Stop it first.
hadoop2: journalnode running as process 1435. Stop it first.
17/11/30 21:21:31 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting ZK Failover Controllers on NN hosts [hadoop1 hadoop2]
hadoop1: starting zkfc, logging to /opt/test/hadoop-2.6.5/logs/hadoop-root-zkfc-hadoop1.out
hadoop2: starting zkfc, logging to /opt/test/hadoop-2.6.5/logs/hadoop-root-zkfc-hadoop2.out

5.7 在hadoop1上格式化zookeeper

[root@hadoop1 ~]# hdfs zkfc -formatZK
……
17/11/30 21:23:10 INFO ha.ActiveStandbyElector: Successfully created /hadoop-ha/mycluster in ZK.
17/11/30 21:23:10 INFO ha.ActiveStandbyElector: Session connected.
17/11/30 21:23:10 INFO zookeeper.ClientCnxn: EventThread shut down
17/11/30 21:23:10 INFO zookeeper.ZooKeeper: Session: 0x2600d0c1b960000 closed

5.8 在hadoop2,hadoop3,hadoop4上使用zkCli.sh查看格式化结果

5.8.1 进入zookeeper客户端
[root@hadoop2 ~]# zkCli.sh
[zk: localhost:2181(CONNECTED) 0]5.8.2 使用ls /命令查看根目录
[zk: localhost:2181(CONNECTED) 0] ls /
[hadoop-ha, zookeeper]
#每个根目录都生成了hadoop-ha目录*格式化namenode后出现datanode无法启动的情况,查看BUGFIX1

6. 常规启动HA

6.1 启动zookeeper

6.1.1 在hadoop2,hadoop3,hadoop4上分别启动zookeeper
[root@hadoop2 ~]# zkServer.sh start
[root@hadoop3 ~]# zkServer.sh start
[root@hadoop4 ~]# zkServer.sh start6.1.2 hadoop2,hadoop3,hadoop4进程显示如下
[root@hadoop2 ~]# jps
**** Jps
**** QuorumPeerMain[root@hadoop3 ~]# jps
**** Jps
**** QuorumPeerMain[root@hadoop4 ~]# jps
**** Jps
**** QuorumPeerMain

6.2 启动hdfs集群

6.2.1 在hadoop1上启动整个集群start-dfs.sh
[root@hadoop1 ~]# start-dfs.sh6.2.2 hadoop会启动如下进程:
hadoop1, hadoop2: namenode
hadoop2, hadoop3, hadoop4: datanode
hadoop1, hadoop2, hadoop3: journalnode
hadoop1, hadoop2: ZKFC6.2.3 启动完成后各节点进程显示如下:
[root@hadoop1 ~]# jps
2559 JournalNode
2724 DFSZKFailoverController
2790 Jps
2366 NameNode[root@hadoop2 ~]# jps
2099 JournalNode
2217 DFSZKFailoverController
2265 Jps
1754 QuorumPeerMain
2014 DataNode
1945 NameNode[root@hadoop3 ~]# jps
1583 QuorumPeerMain
1714 DataNode
1799 JournalNode
1859 Jps[root@hadoop4 ~]# jps
1685 Jps
1510 QuorumPeerMain
1613 DataNode

6.3 启动yarn

6.3.1 在hadoop1上启动yarn
[root@hadoop1 ~]# start-yarn.sh6.3.2 启动完成后各集群进程如下
[root@hadoop1 ~]# jps
2559 JournalNode
2935 ResourceManager
2724 DFSZKFailoverController
3350 Jps
2366 NameNode[root@hadoop2 ~]# jps
2099 JournalNode
2217 DFSZKFailoverController
1754 QuorumPeerMain
2381 NodeManager
2014 DataNode
2587 Jps
1945 NameNode[root@hadoop3 ~]# jps
1583 QuorumPeerMain
1714 DataNode
2628 Jps
1901 NodeManager
1799 JournalNode[root@hadoop4 ~]# jps
1728 NodeManager
1510 QuorumPeerMain
1613 DataNode
1891 Jps

7. 在完全分布式集群上测试wordcount程序

7.1 从hadoop1进入$HADOOP_HOME/share/hadoop/mapreduce/目录

[root@hadoop1 ~]# cd /opt/test/hadoop-2.6.5/share/hadoop/mapreduce/

7.2上传test.txt文件到根目录

7.2.1 默认上传
[root@hadoop1 mapreduce]# hadoop fs -put test.txt /7.2.2 也可以指定blocksize
[root@hadoop1 mapreduce]# hdfs dfs -D dfs.blocksize=1048576 -put test.txt /

7.3 运行wordcount测试程序,输出到/output

[root@hadoop1 mapreduce]# 
hadoop jar hadoop-mapreduce-examples-2.6.5.jar wordcount /test.txt /output#运行时会首先看到如下信息
INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032

7.4 查看mapreduce运行结果

[root@hadoop1 mapreduce]# hadoop dfs -text /output/part-*
hello    100003
world    200002
“hello    100000

后续步骤:

4). 第四阶段:Hadoop高可用+联邦+视图文件系统(HA+Federation+ViewFs)

http://www.lbrq.cn/news/2763451.html

相关文章:

  • 建设银行手机短信网站怎么开通短视频推广渠道有哪些
  • 知名网站建设定制英雄联盟最新赛事
  • 潍坊建立企业网站公司爱站seo
  • 长春网站外包运营推广怎么做
  • 郑州网站建设幸巴网址查询
  • 外贸用什么平台自建站较好长沙网站推广排名优化
  • 可以用足球做的游戏视频网站nba最新新闻消息
  • 域名绑定网站百度客服怎么联系
  • 大连网站开发选领超科技宁德市人力资源和社会保障局
  • 手机网站制作代码与web有什么不同竞价托管代运营
  • 怎么做套版网站代运营一个月多少钱
  • 福州外贸建站江苏企业网站建设
  • 网站建设深圳亿联时代太原seo快速排名
  • 制作一个购物网站需要多少钱今天有哪些新闻
  • 手机投资理财网站建设网络营销的优势与不足
  • 消防网站建设的风格找客户的软件有哪些
  • 小门户网站模版百度网盘搜索入口
  • 互联网广告推广是做什么的合肥seo排名优化公司
  • 中山商城型网站建设关键词上首页软件
  • 泉州做网站河南智能seo快速排名软件
  • 网站自定义title西安seo霸屏
  • 国家信息企业公示系统全国怎么给网站做优化
  • 分销是什么意思资源网站优化排名优化
  • 柳州住建局官网百度推广优化方案
  • 大学生网站建设策划书范文百度广告怎么投放
  • php怎么做多个网站安卓排名优化
  • 广州网站建设哪家比较好立即优化在哪里
  • 温州网站建设价格荆州seo推广
  • 太原市住房和城乡建设局的网站曼联目前积分榜
  • 政府门户网站建设的意义东营网站建设
  • 在python中等号左边的都是对象,在matlab中等号a = 3+2 a就是个变量
  • 力扣hot100:盛最多水的容器:双指针法高效求解最大容量问题(11)
  • 上下文切换及线程操作相关内容
  • 【C语言16天强化训练】从基础入门到进阶:Day 2
  • 【verge3d】如何在项目里调用接口
  • 《红色脉-络:一部PLMN在中国的演进史诗 (1G-6G)》 第6篇 | 专题:核心网的第一次革命——从电路交换到“用户/控制面分离”