赞
踩
3台 linux版本centos7.6
hadoop版本3.1.2
spark版本2.4.4
vim /etc/sysconfig/network-scripts/ifcfg-ens32
DEVICE="ens32"
ONBOOT="yes"
IPADDR="192.168.22.232"
PREFIX="24
GATEWAY="192.168.22.1"
DNS1="192.168.22.1"
vim /etc/hostname
centos7x1.vm230
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.22.231 node1 centos7x1.vm230
192.168.22.232 node2 centos7x2.vm230
192.168.22.233 node3 centos7x3.vm230
[root@centos7x1 ~]# systemctl stop firewalld
[root@centos7x1 ~]# systemctl disable firewalld
[root@centos7x1 ~]# setenforce 0
[root@centos7x1 ~]# vim /etc/selinux/config
ELINUX=disabled
在所有的主机下均建立一个账号admin用来运行hadoop ,并将其添加至sudoers中
[root@centos7x1 ~]# useradd admin
[root@centos7x1 ~]# passwd admin
[root@centos7x1 ~]# visudo
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
admin ALL=(ALL) ALL
修改完毕 :wq! 保存退出,现在可以用admin帐号登录,然后用命令 su - ,切换用户即可获得root权限进行操作。
建立程序文件夹和数据文件夹
[root@centos7x1 ~]# mkdir /opt/software
[root@centos7x1 ~]# chown -R admin:admin /opt/software/
[root@centos7x1 ~]# mkdir /data
[root@centos7x1 ~]# chown -R admin:admin /data
切换到admin账户,生成密钥文件,复制到所有服务器,包括自己.所有服务器都做一次.
[root@centos7x1 ~]# su - admin
[admin@centos7x1 ~]# ssh-keygen -t rsa
[admin@centos7x1 ~]# ssh-copy-id node1
[admin@centos7x1 ~]# ssh-copy-id node2
[admin@centos7x1 ~]# ssh-copy-id node3
(与JDK一样)(可选)
若服务器是最小化安装centeros时,可能没有fuster程序,会导致选举hadoop节点不成功
[root@centos7x1 ~]yum install psmisc
节点名称 | ZK | NN | JJN | DN | ZKFC | RM | NM |
---|---|---|---|---|---|---|---|
node1 | zookeeper | NameNode | JournalNode | DataNode | zkfc | NodeManager | |
node2 | zookeeper | NameNode | JournalNode | DataNode | zkfc | ResourceManager | NodeManager |
node3 | zookeeper | JournalNode | DataNode | ResourceManager | NodeManager |
1解压安装包,注意所有者权限chown
tar zxf zookeeper-3.4.14.tar.gz -C /opt/software/zookeeper
2编辑配置文件
进入zookeeper的conf目录,拷贝zoo_sample.cfg
并重命名为zoo.cfg
:
[admin@centos7x1 ~]$ vim /opt/software/zookeeper/conf/zoo.cfg
# disable the per-ip limit on the number of connections since this is a non-production config maxClientCnxns=0 # 滴答,计时的基本单位,默认是2000毫秒,即2秒。它是zookeeper最小的时间单位,用于丈量心跳时间和超时时间等,通常设置成默认2秒即可。 tickTime=2000 # 初始化限制是10滴答,默认是10个滴答,即默认是20秒。指定follower节点初始化是链接leader节点的最大tick次数。 initLimit=5 # 数据同步的时间限制,默认是5个滴答,即默认时间是10秒。设定了follower节点与leader节点进行同步的最大时间。与initLimit类似,它也是以tickTime为单位进行指定的。 syncLimit=2 # 指定zookeeper的工作目录,这是一个非常重要的参数,zookeeper会在内存中在内存只能中保存系统快照,并定期写入该路径指定的文件夹中。生产环境中需要注意该文件夹的磁盘占用情>况。 dataDir=/data/zookeeper/data dataLogDir=/data/zookeeper/logs # 监听zookeeper的默认端口。zookeeper监听客户端链接的端口,一般设置成默认2181即可。 clientPort=2181 # 这个操作将限制连接到 ZooKeeper 的客户端的数量,限制并发连接的数量,它通过 IP 来区分不同的客户端。此配置选项可以用来阻止某些类别的 Dos 攻击。将它设置为 0 或者忽略而不 进行设置将会取消对并发连接的限制。 #maxClientCnxns=60 # 在上文中已经提到,3.4.0及之后版本,ZK提供了自动清理事务日志和快照文件的功能,这个参数指定了清理频率,单位是小时,需要配置一个1或更大的整数,默认是0,表示不开启自动清 理功能。 #autopurge.purgeInterval=1 # 这个参数和上面的参数搭配使用,这个参数指定了需要保留的文件数目。默认是保留3个。 #autopurge.snapRetainCount=3 #server.x=[hostname]:nnnnn[:nnnnn],这里的x是一个数字,与myid文件中的id是一致的。右边可以配置两个端口,第一个端口用于F和L之间的数据同步和其它通信,第二个端口用于Leader选举过程中投票通信。 server.1=node1:2888:3888 server.2=node2:2888:3888 server.3=node3:2888:3888
3、调优参考
https://www.cnblogs.com/yinzhengjie/p/9937816.html
4、拷贝程序至其他节点
scp -r zookeeper admin@node2:/opt/software
scp -r zookeeper admin@node3:/opt/software
5、创建上面配置文件中的目录,在上面配置文件中 dataDir的目录下新建myid文件,内容与配置文件里的相同
echo 1 > /data/zookeeper/data/myid
6、启动程序,每个节点都要操作
/opt/software/zookeeper/bin/zkServer.sh start
7、查看节点状态
/opt/software/zookeeper/bin/zkServer.sh status
[admin@centos7x1 ~]$ /opt/software/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/software/zookeeper/bin/../conf/zoo.cfg
Mode: follower
Mode是leader为主,提供读写,如果是follower为从,只能读。
注意所有者权限chown
tar zxf hadoop-3.1.2.tar.gz -C /opt/software/hadoop
进入到配置文件目录
[admin@centos7x1 hadoop]$ cd etc/hadoop
配置jdk
[admin@centos7x1 hadoop]$ vim hadoop-env.sh
export JAVA_HOME=/usr/local/java
[admin@centos7x1 hadoop]$ vim core-site.xml <configuration> <!-- 指定HDFS中NameNode的地址,把两个NameNode的地址组装成一个集群mycluster --> <property> <name>fs.defaultFS</name> <value>hdfs://mycluster</value> </property> <!-- 指定hadoop运行时产生文件的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/data/hadoop/tmp</value> </property> <!-- 指定ZKFC故障自动切换转移 --> <property> <name>ha.zookeeper.quorum</name> <value>node1:2181,node2:2181,node3:2181</value> </property> </configuration
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。