- 一:系统环境配置
- 二:软件需求
- 三:安装zookeeper处理
- 四:编辑hadoop 配置文件
- 五:启动服务
- 六:配置zookeeper自动故障转移
一:系统环境配置:
承接 在上文档hadoop 分布式的文档进行部署
二: 软件需求:
在前环境 状态下增加zookeeper-3.4.6.tar.gz 包
上传zookeeper 包到/home/hadoop/yangyang/目录下面
三: 安装zookeeper 环境
在master.hadoop.com 上面
tar –zxvf zookeeper-3.4.6.tar.gz
rm –rf zookeeper-3.5.6.tar.gz
mv zookeeper-3.4.6 zookeeper
cd zookeeper/conf
cp -p zoo_sample.cfg zoo.cfg
vim zoo.cfg
#mkdir zookeeper/data
#echo “1” > zookeeper/data/myid
同步其它节点处理:
scp –r zoo* [email protected]:/home/hadoop/yangyang/
scp –r zoo* [email protected]:/home/hadoop/yangyang/
slave1.hadoop.com
echo “2” > zookeeper/data/myid
slave2.hadoop.com
echo “3” > zookeeper/data/myid
3.1 zookeeper 相关命令
3.1.1. 显示根目录下、文件: ls / 使用 ls 命令来查看当前 ZooKeeper 中所包含的内容
3.1.2. 显示根目录下、文件: ls2 / 查看当前节点数据并能看到更新次数等数据
3.1.3 创建文件,并设置初始内容: create /zk "test" 创建一个新的 znode节点“ zk ”以及与它关联的字符串
3.1.4 获取文件内容: get /zk 确认 znode 是否包含我们所创建的字符串
3.1.5 修改文件内容: set /zk "zkbak" 对 zk 所关联的字符串进行设置
3.1.6 删除文件: delete /zk 将刚才创建的 znode 删除
3.1.7 退出客户端: quit
3.1.8 帮助命令: help
master.hadoop.com
cd /home/hadoop/yangyang/zookeeper/bin
./zkServer.sh status
slave1.hadoop.com
cd /home/hadoop/yangyang/zookeeper/bin
./zkServer.sh status
slave2.hadoop.com
Zookeeper 的进入命令窗口:
./zkCli.sh
ls /
create /zk “yangyang”
四: 编辑改变hadoop 的配置文件
编辑core-site.xml 文件:
vim core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/yangyang/hadoop/data</value>
</property>
编辑hdfs-site.xml 文件:
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.nameservices</name>
<value>mycluster</value>
</property>
<property>
<name>dfs.ha.namenodes.mycluster</name>
<value>nn1,nn2</value>
</property>
#######################nn1###############################
<property>
<name>dfs.namenode.rpc-address.mycluster.nn1</name>
<value>master.hadoop.com:8020</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nn1</name>
<value>master.hadoop.com:50070</value>
</property>
#######################nn2###############################
<property>
<name>dfs.namenode.rpc-address.mycluster.nn2</name>
<value>slave1.hadoop.com:8020</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nn2</name>
<value>slave1.hadoop.com:50070</value>
</property>
#######################journal node#######################
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://master.hadoop.com:8485;slave1.hadoop.com:8485;slave2.hadoop.com:8485/mycluster</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/home/hadoop/yangyang/hadoop/data/jn</value>
</property>
##########################proxy###########################
<property>
<name>dfs.client.failover.proxy.provider.mycluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
##########################fence###########################
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/home/hadoop/.ssh/id_rsa</value>
</property>
</configuration>
同步所有hadoop 的配置文件:
tar –zcvf hadoop.tar.gz hadoop
scp hadoop.tar.gz [email protected]:/home/hadoop/yangyang/
scp hadoop.tar.gz [email protected]:/home/hadoop/yangyang/
五:启动服务
启动所有节点journalnode 节点:
master.hadoop.com
cd /home/hadoop/yangyang/hadoop/
sbin/hadoop-daemon.sh start journalnode
启动master.hadoop.com的namenode 与datanode
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
打开浏览器访问:
slave1.hadoop.com 进行节点同步master.hadoop.com
bin/hdfs namenode –bootstrapStandby
启动slave1.hadoop.com 节点的namenode 与datanode
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
打开浏览器处理
手动切换master.hadoop.com 为active 状态:
bin/hdfs haadmin -transitionToActive nn1
创建目录与上传测试:
浏览器查看master.hadoop.com 的hdfs active 节点
浏览器查看slave1.hadoop.com 的hdfs standby 节点:
手动切换 将master.haoop.com 切换为standby 将slave1.hadoop.com 切换为active
master.hadoop.com:
bin/hdfs haadmin -transitionToStandby nn1
将slave1.hadoop.com 变为active 节点:
bin/hdfs haadmin -transitionToActive nn2
浏览器查看:
master.hadoop.com
slave1.hadoop.com浏览器查看:
六:配置zookeeper自动故障转移
- 6.1. 更改配置文件
master.hadoop .com 编辑core-site.xml 在configuration 中增加 <property> <name>ha.zookeeper.quorum</name> <value>master.hadoop.com:2181,slave1.hadoop.com:2181,slave2.hadoop.com:2181</value> </property> 编辑hdfs-site.xml 文件 在configuration 中 增加: <property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property>
- 6.2同步所有节点
cd /home/hadoop/yangyang/hadoop/etc/hadoop/ scp core-site.xml [email protected]:/home/hadoop/yangyang/ hadoop/etc/hadoop/ scp hdfs-site.xml [email protected]:/home/hadoop/yangyang/ hadoop/etc/hadoop/
- 6.3 停掉所有服务
./stop-dfs.sh - 6.4 启动所有节点的zookeeper
cd /home/hadoop/yangyang/zookeeper/bin
./zkServer.sh start
其他节点同样启动
启动如master.hadoop.com 节点一样 - 6.5 初始化ZK
cd /home/hadoop/yangyang/hadoop/bin/
./hdfs zkfc –formatZK - 6.6 启动HDFS 与浏览器测试:
cd /home/hadoop/yangyang/hadoop/sbin/
./start-dfs.sh
jps 检查:
master.hadoop.com
slave1.hadoop.com
slave2.hadoop.com
查看浏览器:
master.hadoop.com
slave1.hadoop.com - 6.7验证故障转移:
杀掉 master.hadoop.com 的namenode 进程
slave1.hadoop.com
启动master.hadoop.com 的namenode
./hadoop-daemon.sh start namenode
- 6.2同步所有节点
原文地址:http://blog.51cto.com/flyfish225/2096397
时间: 2024-10-08 11:39:31