Hadoop2.6..0 HA高可靠性集群搭建(Hadoop+Zookeeper)
来源:互联网 发布:黑马程序员 招聘信息 编辑:程序博客网 时间:2024/05/22 04:50
1. 关闭防火墙
vi /etc/selinux/config
在 SELINUX=enforcing 前面加个#号注释掉它
#SELINUX=enforcing
然后新加一行SELINUX=disabled
保存,退出,重启系统,就可以彻底关闭firewall了。
2. 修改IP
vi /etc/sysconfig/network-scripts/ifcfg-eth0
#编辑配置文件,添加修改以下内容
BOOTPROTO=static #启用静态IP地址
ONBOOT=yes #开启自动启用网络连接
IPADDR=192.168.1.100 #设置IP地址
NETMASK=255.255.255.0 #设置子网掩码
GATEWAY=192.168.1.1 #设置网关
==重启网络连接
service network restart
3. 设置机器hostname别名
# 当前ssh窗口即可生效
hostname master
# 每次重启以后均生效
vi /etc/sysconfig/network
HOSTNAME=master
4.Hosts映射关系
三台机器上面分别都执行操作 vi /etc/hosts 添加如下内容
192.168.1.100 master
192.168.1.101 slave01
192.168.1.102 slave02
5.SSH免密登录设置
生成公钥和私钥
ssh-keygen -t rsa
导入公钥到认证文件
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/id_rsa.pub xxx@host:/home/xxx/id_rsa.pub
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
更改权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
6.安装jdk
1、解压 rpm -ivh jdk-8u111-linux-x64.rpm
7.安装Hadoop
这是下载后的hadoop-2.6.0.tar.gz压缩包,
7.1、解压 tar -xzvf hadoop-2.6.0.tar.gz
7.2、配置hadoop
主要涉及的配置文件有7个
hadoop-env.sh
yarn-env.sh
slaves
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
7.3、配置 hadoop-env.sh文件-->修改JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.8.0_111
7.4、配置 yarn-env.sh 文件-->>修改JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.8.0_111
7.5、配置slaves文件-->>增加slave节点
master
salve1
salve2
7.6、配置 core-site.xml文件-->>增加hadoop核心配置
<property>
<name>fs.defaultFS</name>
<value>hdfs://ns</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/tmp</value>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>master:2181,salve1:2181,salve2:2181</value>
</property>
7.7、配置 hdfs-site.xml 文件-->>增加hdfs配置信息(namenode、datanode端口和目录位置)
<configuration>
<property>
<name>dfs.nameservices</name>
<value>ns</value>
</property>
<property>
<name>dfs.ha.namenodes.ns</name>
<value>nn1,nn2</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns.nn1</name>
<value>master:9000</value>
</property>
<property>
<name>dfs.namenode.http-address.ns.nn1</name>
<value>master:50070</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns.nn2</name>
<value>salve1:9000</value>
</property>
<property>
<name>dfs.namenode.http-address.ns.nn2</name>
<value>salve1:50070</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://master:8485;salve1:8485/ns</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/opt/hadoop/journal</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.ns</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/home/centos/.ssh/id_rsa</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
7.8、配置 mapred-site.xml 文件-->>增加mapreduce配置
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
7.9、配置 yarn-site.xml 文件-->>增加yarn功能
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<!--【自定义ResourceManager的地址,还是单点】-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
7.10、将配置好的hadoop文件copy到另一台slave机器上
scp -r hadoop-2.6.0/ root@salve1-hadoop:~/opt/
scp -r hadoop-2.6.0/ root@salve2-hadoop:~/opt/
8.Zookeeper安装过程:
8.1、下载解压zookeeper
下载地址:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.6/
解压到指定目录:这里目录:/opt
在hadoop目录中创建app目录。把文件解压到hadoop的app目录中,是为了以后整个项目可以整体移植。包括后面,我们会安装HBase、Hive等软件,都是解压到app的目录中。
8.2、修改配置文件
8.2.1进入zookeeper中conf目录:
拷贝命名zoo_sample.cfg 为zoo.cfg。我们一般不修改配置文件默认的示例文件,修改赋值其子文件。
编辑zoo.cfg
拷贝命名zoo_sample.cfg 为zoo.cfg。我们一般不修改配置文件默认的示例文件,修改赋值其子文件。
编辑zoo.cfg
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/tom/yarn/hadoop-2.5.0/app/zookeeper-3.4.6/zkdata dataLogDir=/home/tom/yarn/hadoop-2.5.0/app/zookeeper-3.4.6/zkdatalog clientPort=2181 server.1=hadoop1:2888:3888 server.2=hadoop2:2888:3888 server.3=hadoop3:2888:3888 server.4=hadoop4:2888:3888 server.5=hadoop5:2888:3888
8.2.2创建zkdata和zkdatalog两个文件夹
8.2.3添加到环境变量
9集群的启动
9.1 启动zookeeper集群
分别在master、salve1、salve2上执行如下命令启动zookeeper集群;
sh zkServer.sh start
验证集群zookeeper集群是否启动,分别在master、salve1、salve2上执行如下命令验证 zookeeper集群是否启动,集群启动成功,有两个follower节点跟一个leader节点;
sh zkServer.sh status
JMX enabled by default
Using config: /home/hadoop/zookeeper/zookeeper-3.3.6/bin/../conf/zoo.cfg
Mode: follower
9.2 启动journalnode集群
在master上执行如下命令完成JournalNode集群的启动
sbin/hadoop-daemons.sh start journalnode
执行jps命令,可以查看到JournalNode的java进程pid
9.3 格式化zkfc,让在zookeeper中生成ha节点
在mast1上执行如下命令,完成格式化
hdfs zkfc –formatZK
(注意,这条命令最好手动输入,直接copy执行有可能会有问题,当时部署时我是蛋疼了许久)
格式成功后,查看zookeeper中可以看到
[zk: localhost:2181(CONNECTED) 1] ls /hadoop-ha
[ns]
9.4 格式化hdfs
hadoop namenode –format
(注意,这条命令最好手动输入,直接copy执行有可能会有问题)
9.5 启动NameNode
首先在master上启动active节点,在master上执行如下命令
sbin/hadoop-daemon.sh start namenode
在salve1上同步namenode的数据,同时启动standby的namenod,命令如下
#把NameNode的数据同步到mast2上
hdfs namenode –bootstrapStandby
#启动mast2上的namenode作为standby
sbin/hadoop-daemon.sh start namenode
9.6 启动启动datanode
在master上执行如下命令
sbin/hadoop-daemons.sh start datanode
9.7 启动year
在作为资源管理器上的机器上启动,我这里是mast3,执行如下命令完成year的启动
sbin/start-yarn.sh
9.8 启动ZKFC
在master上执行如下命令,完成ZKFC的启动
sbin/hadoop-daemons.sh start zkfc
全部启动完后分别在master,salve1,salve2上执行jps是可以看到下面这些进程的
10.测试HA的高可用性
启动后master的namenode和salve1的namenode如下所示:
0 0
- Hadoop2.6..0 HA高可靠性集群搭建(Hadoop+Zookeeper)
- Hadoop2.5.2 HA高可靠性集群搭建(Hadoop+Zookeeper)
- Hadoop2.5.2 HA高可靠性集群搭建(Hadoop+Zookeeper)
- Hadoop2.5.2 HA高可靠性集群搭建(Hadoop+Zookeeper)
- Hadoop2.5.2 HA高可靠性集群搭建(Hadoop+Zookeeper)
- Hadoop2.5.2 HA高可靠性集群搭建(Hadoop+Zookeeper)
- Hadoop之——Hadoop2.5.2 HA高可靠性集群搭建(Hadoop+Zookeeper)前期准备
- Hadoop之——Hadoop2.5.2 HA高可靠性集群搭建(Hadoop+Zookeeper)
- Hadoop2.7.0 HA高可靠性集群搭建
- hadoop--hadoop2.5.2HA高可靠性集群搭建(zookeeper3.4.6+hbase0.98.11)
- HADOOP集群搭建实战(HA高可靠性模式)
- Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)
- hadoop2.5.2HA高可靠性集群搭建(zookeeper3.4.6+hbase0.98.11)
- zookeeper+hadoop2.X HA集群搭建
- Hadoop 2.6.0+ZooKeeper+Hive HA高可用集群安装
- 【干货】Apache Hadoop 2.8 完全分布式集群搭建超详细过程,实现NameNode HA、ResourceManager HA高可靠性
- Hadoop2.5的HDFS集群HA搭建(高可用集群)
- [笔记]hadoop2.4.1分布式集群搭建入门/ha/zookeeper
- angularJs select框用法总结
- javascript 基础 语法 2017-1-4
- Redis登录认证密码
- [LeetCode]343. Integer Break
- java AES 加密解密
- Hadoop2.6..0 HA高可靠性集群搭建(Hadoop+Zookeeper)
- 1.11
- HTML 中常用的字符实体
- JavaScript中Global全局对象之eval()函数
- css的进一步学习(前端第三天)
- 面试笔试题
- 解决fragment中listView或者gridView给item设置监听,点击空指针问题
- Flask学习总结笔记(8) -- 利用Flask-mail实现电子邮件发送功能
- HDU 4847 KMP