Hadoop环境搭建 Zookeeper集群部署

前提:关闭防火墙

(1)查看防火墙是否关闭

systemctl status firewalld

(2)关闭防火墙

systemctl stop firewalld

(3)设置防火墙开机不启动

systemctl disable firewalld

1、将zookeeper安装包拉到/opt/software/文件夹中

安装包版本:apache-zookeeper-3.5.7-bin.tar.gz

2、解压

 

cd /opt/module/

tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz

3、创建数据文件和目录文件

在zookeeper的跟目录下创建两个文件夹data和log

cd /opt/module/apache-zookeeper-3.5.7-bin/

mkdir data

mkdir log

4、拷贝配置文件

cd /opt/module/apache-zookeeper-3.5.5-bin/conf/

cp zoo_sample.cfg zoo.cfg

5、配置文件更改

vi zoo.cfg

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

# the directory where the snapshot is stored.

# do not use /tmp for storage, /tmp here is just

# example sakes.

dataDir=/opt/module/apache-zookeeper-3.5.7-bin/data

dataLogDir=/opt/module/apache-zookeeper-3.5.7-bin/log

# the port at which the clients will connect

clientPort=2181

# the maximum number of client connections.

# increase this if you need to handle more clients

#maxClientCnxns=60

#

# Be sure to read the maintenance section of the

# administrator guide before turning on autopurge.

#

# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance

#

# The number of snapshots to retain in dataDir

#autopurge.snapRetainCount=3

# Purge task interval in hours

# Set to "0" to disable auto purge feature

#autopurge.purgeInterval=1

server.0=192.168.1.100:2888:3888

server.1=192.168.1.101:2888:3888

server.2=192.168.1.102:2888:3888

最后所增加的是根据自己的主机名与IP地址相对应

6、创建服务器myid

在data目录下创建一个myid的文件,里面的值可以给个任意的值但要和上述服务起server.x对应

cd /opt/module/apache-zookeeper-3.5.5-bin/data/

touch myid

7、集群拷贝

scp -r /opt/module/apache-zookeeper-3.5.7-bin root@hadoop101:/opt/module/apache-zookeeper-3.5.5-bin

scp -r /opt/module/apache-zookeeper-3.5.7-bin root@hadoop102:/opt/module/apache-zookeeper-3.5.5-bin

8、集群myid更改

进入到每个节点,修改myid值

集群系统环境变量添加:vi /etc/profile

export ZOOKEEPER_HOME=/opt/module/apache-zookeeper-3.5.7-bin

export PATH=$PATH:$ZOOKEEPER_HOME/bin

保存系统环境变量:source /etc/profile

关闭集群防火墙

9、集群启动

进入到每个节点启动(在100、101、102 里都要启动

cd /opt/module/apache-zookeeper-3.5.7-bin

zkServer.sh start

zkServer.sh status

如若在100启动时报错那么就先在101、102上启动再回头启动100就可以了

在启动之后在最下面会有一个leader和两个follower就是正确的

这是在100上先运行就会报错

 在101上面运行就不会报错

102上面运行也不会报错

 

当在101、102上运行完再运行100就可以了

 

10、zkCli连接验证

zkCli.sh -server hadoop100:2181

输入这个命令后它会一直运行,按Ctrl+Z停止运行

用jps查看出现ZooKeeperMain进程

出现QuorumPeerMain则说明zookeeper启动成功

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Hadoop集群可以搭建双Namenode,达到高可用性和容错性。下面是搭建双Namenode的步骤: 1. 安装Hadoop集群,参考官方文档。 2. 在Hadoop的主配置文件hdfs-site.xml中,增加以下配置: ``` <property> <name>dfs.namenode.name.dir</name> <value>file:/hadoop/dfs/name1,file:/hadoop/dfs/name2</value> </property> <property> <name>dfs.namenode.rpc-address.mynamenode1</name> <value>172.16.10.1:9000</value> </property> <property> <name>dfs.namenode.rpc-address.mynamenode2</name> <value>172.16.10.2:9000</value> </property> <property> <name>dfs.namenode.http-address.mynamenode1</name> <value>172.16.10.1:50070</value> </property> <property> <name>dfs.namenode.http-address.mynamenode2</name> <value>172.16.10.2:50070</value> </property> <property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://mynamenode1:8485;mynamenode2:8485/mycluster</value> </property> ``` 其中,dfs.namenode.name.dir配置了两个Namenode的元数据存储路径;dfs.namenode.rpc-address和dfs.namenode.http-address分别配置了两个Namenode的RPC和HTTP地址;dfs.namenode.shared.edits.dir配置了两个Namenode的编辑日志存储路径。 3. 在每个Namenode节点上,创建元数据存储路径和编辑日志存储路径,并设置权限: ``` $ sudo mkdir -p /hadoop/dfs/name1 /hadoop/dfs/name2 $ sudo chown -R hdfs:hadoop /hadoop/dfs ``` 4. 启动Hadoop集群,格式化HDFS和启动Zookeeper: ``` $ hdfs namenode -format $ start-dfs.sh $ start-yarn.sh $ zkServer.sh start ``` 5. 在一个Namenode节点上,启动JournalNode: ``` $ hadoop-daemon.sh start journalnode ``` 6. 在另一个Namenode节点上,启动Active Namenode: ``` $ hdfs --daemon start namenode ``` 7. 在第三个节点上,启动Standby Namenode: ``` $ hdfs namenode -bootstrapStandby $ hdfs --daemon start namenode ``` 8. 验证双Namenode是否正常工作: ``` $ hdfs haadmin -getServiceState mynamenode1 $ hdfs haadmin -getServiceState mynamenode2 ``` 如果输出为“active”,表示双Namenode正常工作。 以上就是搭建双Namenode的步骤。双Namenode可以提高Hadoop集群的可用性和容错性,但也增加了部署和维护的复杂度。因此,需要根据实际情况选择是否搭建双Namenode。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值