标签:文件 访问 cli desc turn dfs 集群配置 replicat 角色
Hhase 集群部署 使用的软件
hadoop-2.7.4
hbase-1.2.6
jdk-8u144
zookeeper-3.4.10
Hbase 自带的有zookeeper,在这里使用自己部署的zookeeper
安装jdk
下载zookeeper 程序
修改zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataLogDir=/zookeeper/logs
dataDir=/zookeeper/data
clientPort=2181
server.1= 10.39.6.178:2888:3888
server.2= 10.39.6.179:2888:3888
server.3= 10.39.6.180:2888:3888
添加myid,这里的myid 对应的server.n 一一对应。
这里的server.1 所以node 1节点myid=1
echo "1" /zookeeper/data/myid
创建所需要的目录
添加环境变量
vi /etc/profile
export ZOOKEEPER_HOME=/application/zookeeper-3.4.10
export PATH=$PATH:$ZOOKEEPER_HOME/bin
启动
将node 1 的配置全部打包拷贝到其他节点上,启动zookeeper 就行了
启动有错误可以使用zkServer.sh start-foreground 来追踪错误
角色
zkServer.sh status 会显示zookeeper 状态
Mode: leader
这里的Mode: leader 和follower
一个集群中只有leader
leader 领导者,用于负责进行投票的发起决议,更新系统状态
follower 跟随者 用于接受客户端请求并想客户端返回结果,在选主过程中参与投票
配置参数详解
tickTime 这个时间是作为zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是说每个tickTime 时间就会发送一个心跳。
initLimit 这个配置项是用来配置zookeeper接受客户端初始化连接时最长能忍受多少个心跳时间间隔数。
当已经超过10个心跳的时间(tickTime) 长度后zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败,总的时间长度就是10*2000=20秒
syncLimit 这个配置项标识leader 与follower 之间发送消息,请求和应答时间长度,最长不能超过多少个tickTime 的长度,总的时间长度是5*2000=10秒
dataDir 保存数据目录
clientPort 端口,这个端口是客户端连接zookeeper服务器端口,zookeeper 会监听这个端口接受客户端访问请求
server.n=B:C:D 的n是一个数字,表示这个是第几号服务器,B是这个服务器的IP地址,C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的leader 服务器交换信息的端口,D是leader 挂掉时专门用来进行选举leader 所用的端口
连接zookeeper集群
zkCli.sh -server 10.39.6.178:2181
下载地址 [http://apache.fayea.com/hadoop/common/stable/hadoop-2.7.4.tar.gz]()
hbase01 到hbase02 hbase03 需要使用ssh无密钥登录。
配置文件 | 配置对象 | 主要内容 |
---|---|---|
core-site.xml | 集群全局参数 | 用户定义系统级别的参数,如HDFS URL Hadoop临时目录 |
hdfs-site.xml | HDFS 参数 | 如名称节点和数据节点存放位置,文件副本的个数,文件读取权限 |
mapred-site.xml | Mapreduce参数 | 包括JobHistry Server 和应用程序参数两部分,如reduce 任务的默认个数,任务所能够使用内存的默认上下限 |
yarn-site.xml | 集群资源管理系统参数 | 包括ResourceManager,NodeManager 的通信端口,web 监控端口等 |
集群配置
export JAVA_HOME="/usr/java/jdk1.8.0_144"
(rpm 安装的jdk 存储位置)
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hbase01:9000</value>
<description>The name of the default file system</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/zookeeper/hadoopdata/tmp</value>
<description>A base for other temporary directories</description>
</property>
<property>
<name>hadoop.native.lib</name>
<value>true</value>
<description>Should native hadoop libraries, if present, be used.</description>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/zookeeper/hadoopdata/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/zookeeper/hadoopdata/dfs/data</value>
</property>
</configuration>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hbase01</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
hbase02
hbase03
1. 在namenode 上执行
进入到hadoop 目录
./bin/hadoop namenode -format
2. 在datanode
./bin/hadoop datanode -format
1. 启动HDFS
./sbin/start-dfs.sh
./sbin/stop-dfs.sh
2. 启动Yarn
./sbin/start-yarn.sh
./sbin/stop-yarn.sh
3.启动MapReduce JobHistory Server
./sbin/mr-jobhistory-daemon.sh start historyserver
jps 查看进程
jps
12016 ResourceManager
11616 NameNode
11828 SecondaryNameNode
12317 JobHistoryServer
31453 Jps
NameNode 50070
ResourceManager 8088
MapReduce JobHistory Server 19888
hbase 配置文件修改
vi conf/hbase-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_144
export HBASE_MANAGES_ZK=false
vi conf/hbase-site.xml
<configuration>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hbase01:9000/hbase</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hbase01,hbase02,hbase03</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/zookeeper/data</value>
</property>
</configuration>
vi conf/regionservers
hbase02
hbase03
将上述配置同步到其他节点
./bin/start-hbase.sh
查看Hbase 的状态
jps
12016 ResourceManager
11616 NameNode
12546 HMaster
10403 QuorumPeerMain
11828 SecondaryNameNode
21225 Jps
12317 JobHistoryServer
./bin/hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/application/hbase-1.2.6/lib/slf4j-l
HBase Shell; enter ‘help<RETURN>‘ for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.2.6, rUnknown, Mon May 29 02:25:32 CDT 2017
hbase(main):001:0> status
1 active master, 0 backup masters, 2 servers, 0 dead, 1.0000 average load
hbase(main):002:0>
Hbase web ui 端口为16010
标签:文件 访问 cli desc turn dfs 集群配置 replicat 角色
原文地址:http://blog.51cto.com/xiaocainiaox/2139578