wqy1027

eeee

 

hadoop -day4 安装zookeeper和HA高可用

安装zookeeper

1、上传安装包到master并解压(在/usr/local/soft/目录下)
tar -zxvf zookeeper-3.4.6.tar.gz

2、配置环境变量
vim /etc/profile

ZOOKEEPER_HOME=/usr/local/soft/zookeeper-3.4.6
export PATH=$PATH:$ZOOKEEPER_HOME/bin

source /etc/profile


3、修改配置文件
cd conf
cp zoo_sample.cfg zoo.cfg(把zoo_sample.cfg变成zoo.cfg文件)

修改
dataDir=/usr/local/soft/zookeeper-3.4.6/data

增加
server.0=master:2888:3888
server.1=node1:2888:3888
server.2=node2:2888:3888

4、新建data目录
cd /usr/local/soft/zookeeper-3.4.6
mkdir data
cd data
touch myid

5、同步到其它节点
scp -r zookeeper-3.4.6 node1:`pwd`
scp -r zookeeper-3.4.6 node2:`pwd`

配置node1和node2的环境变量

在所有节点执行
source /etc/profile


6、编辑/usr/local/soft/zookeeper-3.4.6/data/myid
master,node1,node2分别加上0,1,2

 

7、启动zk,(都在soft目录下)
zkServer.sh start 三台都需要执行

zkServer.sh status 查看状态

通过jps可以查看zk的进程:QuorumPeerMain

当有一个leader的时候启动成功

## 停止zk
zkServer.sh stop 三台都需要执行

 

8、连接zk
zkCli.sh

zk 是一个目录结构 ,每个节点可以存数据,同时可以有子节点

zk shell

创建目录
create /test testData
create /test/a aData


获取数据
get /test

ls /test

delete 只能删除没有子节点的节点
rmr /test 删除节点


重置zk
1、杀掉所有zk进程
kiil -9 pid

2、删除data目录下的version文件, 所有节点都要删除
rm -rf /usr/local/soft/zookeeper-3.4.6/data/version-2

2、启动zk
zkServer.sh start

 

搭建Hadoop-HA(搭建之前拍快照)

                  ZK NN DN RM NM JN ZKFC
master  1    1           1          1    1     1
node1   1    1    1     1    1    1    1     1
node2   1          1           1    1    1

 


1、防火墙
service firewalld stop

或者 systemctl status firewalld.service
2、时间同步
如果时间不差很多就不需要下面两行的操作,
yum install ntp
ntpdate -u s2c.time.edu.cn

或者
date -s 20180503

3、免密钥 (远程执行命令)
在两个主节点生成密钥文件
ssh-keygen -t rsa
ssh-copy-id ip

master-->master,node1,node2
node1-->master,node1,node2

 

4、修改hadoop配置文件
core-site.xml
hdfs-site.xml

停止HDFS集群:stop-dfs.sh


同步到其它节点
cd /usr/local/soft/hadoop-2.7.6/etc/hadoop
scp ./* node1:`pwd`
scp ./* node2:`pwd`

 

5、删除hadoop数据存储目录下的文件 每个节点都需要删除
rm -rf /usr/local/soft/hadoop-2.7.6/tmp

 

在/usr/local/soft/hadoop-2.7.6/etc/hadoop目录下上传配置文件(core-site.xml和hdfs-site.sml),每一个节点都需要。

去node1和node2配置环境变量(添加hadoop的环境变量)

 

6、启动zookeeper 三台都需要启动
zkServer.sh start
zkServer.sh status

7、启动JN 存储hdfs元数据
三台JN上执行 启动命令:
/usr/local/soft/hadoop-2.7.6/sbin/hadoop-daemon.sh start journalnode(已经配置了环境变量,所以不需要写前面

8、格式化 在一台NN上执行,这里选择master
hdfs namenode -format
启动当前的NN
hadoop-daemon.sh start namenode


9、执行同步 没有格式化的NN上执行 在另外一个namenode上面执行 这里选择node1
/usr/local/soft/hadoop-2.7.6/bin/hdfs namenode -bootstrapStandby


10、格式化ZK 在master上面执行
!!一定要先 把zk集群正常 启动起来
/usr/local/soft/hadoop-2.7.6/bin/hdfs zkfc -formatZK

11、启动hdfs集群,在master上执行
start-dfs.sh

 

posted on 2022-08-23 20:44  不想写代码的小玉  阅读(24)  评论(0编辑  收藏  举报

导航