2018.07.13
Zookeeper集群的搭建
上传,解压,移动zookeeper到/opt/sxt
或者解压到:
tar -zxvf zookeeper-3.4.6.tar.gz -C /opt/sxt
配置命令:/etc/profile
配置属性:
在conf下修改:
mv zoo_sample.cfg zoo.cfg
在zoo.cfg下修改
dataDir=/var/sxt/hadoop/zk
添加:
server.1=192.168.198.22:2888:3888
server.2=192.168.198.23:2888:3888
server.3=192.168.198.24:2888:3888
先比较睡的数据最新,谁就是leader,谁的ID号最大,谁就是leader,总之是比较谦让出来的leader。
2888是主从模式下的leader
3888是无主模式下的leader
最终一致性和强一致性,在这里使用最终一致性。
弱一致性,过半数通过即可。
关键在启动的顺序。
创建在文件中配置的接受地址:
mkdir -p /var/sxt/hadoop/zk/
执行:
echo 1 > /var/sxt/hadoop/zk/myid
将刚才配置好的zookeeper分发给其他虚拟机:
scp -r ./zookeeper-3.4.6/ 192.168.198.23:`pwd`
去其他两个节点,创建目录文件,并且追加相应文档:
mkdir -p /var/sxt/hadoop/zk/
执行:
echo 2 > /var/sxt/hadoop/zk/myid
分别配置/etc/profile
从无主到选出主的过程中,200ms就可以搞定
开源的,来自于谷歌系统
Hdfs的配置
在第一台上(没有配置zookeeper的)
cd $HADOOP_HOME
然后将
Cp -r hadoop hadoop-full
进入hadoop
修改hdfs.site
Ha模式
配置ha模式的
没有secondary的配置,所以删除
配置journalnode的配置
配置代理类和实现方式免密钥
配置第四种配置
配置coresite.xml
配置地址
配置zookeeper的队列
第一台上边配置完了之后,将第一台上的分别分发给其他的几台虚拟机
Scp core-site.xml hdfs-site.xml node02:`pwd`
部署的前提是要启动journalnode。三台都要启动
从第一台格式化:
hdfs namenode -format
在第二台与第一台进程同步之前,启动第一台的namenode
在第二台上执行:
hdfs namenode -bootstrapStandby
想要启动start-dfs,就要启动zkfc,zkfc依赖于zookeeper,因此要对zookeeper做一次格式化
调出zkfc的客户端
Zkcli.sh
在第一台进行格式化:
Hdfs zkfc -formatZK
这下就可以启动dfs了:
Start-dfs.sh
还有一个原因是:主机名不统一
修改主机名;
vi /etc/sysconfig/network
和
vi /etc/hosts
本机域名地址高于优先级的
刚才设置的还不会立即生效
需要登录:
Login:Root
Password:123456
关机;poweroff
重新开机
然后再重新登录
Reboot:重启
挂起:开机,从新开启此虚拟机
查看进程被什么占用:
netstat -antp | fgrep 2181
从无主到选出主的过程中,200ms就可以搞定
开源的,来自于谷歌系统
Hdfs的配置
在第一台上(没有配置zookeeper的)
cd $HADOOP_HOME
然后将
Cp -r hadoop hadoop-full
进入hadoop
修改hdfs.site
Ha模式
配置ha模式的
没有secondary的配置,所以删除
配置journalnode的配置
配置代理类和实现方式免密钥
配置第四种配置
配置coresite.xml
配置地址
配置zookeeper的队列
第一台上边配置完了之后,将第一台上的分别分发给其他的几台虚拟机
Scp core-site.xml hdfs-site.xml node02:`pwd`
部署的前提是要启动journalnode。三台都要启动
从第一台格式化:
hdfs namenode -format
在第二台与第一台进程同步之前,启动第一台的namenode
在第二台上执行:
hdfs namenode -bootstrapStandby
想要启动start-dfs,就要启动zkfc,zkfc依赖于zookeeper,因此要对zookeeper做一次格式化
调出zkfc的客户端
Zkcli.sh
在第一台进行格式化:
Hdfs zkfc -formatZK
这下就可以启动dfs了:
Start-dfs.sh
还有一个原因是:主机名不统一
修改主机名;
vi /etc/sysconfig/network
和
vi /etc/hosts
本机域名地址高于优先级的
刚才设置的还不会立即生效
需要登录:
Login:Root
Password:123456
关机;poweroff
重新开机
然后再重新登录
Reboot:重启
挂起:开机,从新开启此虚拟机
查看进程被什么占用:
netstat -antp | fgrep 2181