三台主机:namenode-a1(master1)、namenode-a2(master2) 、datanode-a(rengionserver)
一、配置最大打开文件数、进程数
- 查看:$ ulimit -a
- 使用root用户编辑配置文件:vim /etc/security/limits.conf 写入以下内容:
root soft nproc 50000
root hard nproc 50000
root soft nofile 25535
root hard nofile 25535
hadoop soft nproc 50000
hadoop soft nofile 25535
hadoop hard nofile 25535
二、配置系统内核参数
- [root@namenode-a1 ~]# vim /etc/sysctl.conf
- 加入以下内容:
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.core_users_pid = 1
net.ipv4.tcp_syncookies = 1
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
kernel.msgmnb = 65536
kernel.msgmax = 65536
- 使配置生效:sysctl -p
三、安装hbase
- 解压到 /opt/ 下,建立软连接,将拥有人给hadoop用户
[root@namenode-a1 opt]# tar zxvf hbase-0.98.23-hadoop2-bin.tar.gz
[root@namenode-a1 opt]# ln -s hbase-0.98.23-hadoop2 hbase
[root@namenode-a1 opt]# chown -R hadoop:hadoop hbase
[root@namenode-a1 opt]# chown -R hadoop:hadoop hbase-0.98.23-hadoop2
- 编辑 /opt/hbase/conf/hbase-env.sh 文件,添加以下内容:
export JAVA_HOME=/usr/java/jdk1.7.0_79
export HBASE_HEAPSIZE=1024 #设置内存大小
export HBASE_MASTER_OPTS="-Xmx512m"
export HBASE_RENGIONSERVER_OPTS="Xmx512m"
export HBASE_LOG_DIR=${HBASE_HOME}/logs
export HBASE_PID_DIR=/opt/hbase/pids
export HBASE_MANAGES_ZK=true #使用独立的zookeeper
- 编辑 /opt/hbase/conf/hbase-site.xml 文件,配置如下:
<configuration>
<property>
<name>hbase.master.distributed.log.splitting</name>
<value>false</value>
</property>
<property>
<name>hbase.rootdir</name>
#与hadoop中配置一致
<value>hdfs://educluster/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
#使用分布式模式
<value>true</value>
</property>
<property>
<name>hbase.master.port</name>
<value>60000</value>
</property>
#设置zookeeper集群列表
<property>
<name>hbase.zookeeper.quorum</name>
<value>namenode-a1,namenode-a2,datanode-a</value>
</property>
<property>
<name>hbase.zookeeper.property.datadir</name>
#与zookeeper中配置一致
<value>/opt/hadoopdata/zookeeperdata</value>
</property>
<property>
<name>hbase.client.scanner.caching</name>
<value>2000</value>
</property>
<property>
<name>hbase.hregion.max.filesize</name>
<value>10737418240</value>
</property>
<property>
<name>hbase.regionserver.regionSplitLimit</name>
<value>2000</value>
</property>
<property>
<name>hbase.hstore.compactionThreshold</name>
<value>6</value>
</property>
<property>
<name>hbase.hstore.blockingStoreFiles</name>
<value>14</value>
</property>
<property>
<name>hbase.hregion.memstore.block.multipliter</name>
<value>20</value>
</property>
<property>
<name>hbase.server.thread.wakefrequency</name>
<value>500</value>
</property>
#zookeeper最大连接数
<property>
<name>hbase.zookeeper.property.maxClientCnxns</name>
<value>2000</value>
</property>
<property>
<name>hbase.regionserver.global.memstore.lowerLimit</name>
<value>0.3</value>
</property>
<property>
<name>hbase.regionserver.global.memstore.upperLimit</name>
<value>0.39</value>
</property>
<property>
<name>hfile.block.cache.size</name>
<value>0.4</value>
</property>
<property>
<name>hbase.regionserver.handler.count</name>
<value>300</value>
<property>
<name>hbase.client.retries.number</name>
<value>5</value>
</property>
<property>
<name>hbase.client.pause</name>
<value>100</value>
</property>
- 配置regionservers,
[hadoop@namenode-a1 ~]$ vim /opt/hbase/conf/regionservers
将内容改为 datanode-a,即提供该服务的主机。
- 将 hdfs-site.xml 文件拷贝到 、hbase/conf 下
[hadoop@namenode-a1 ~]$ cp /opt/hadoop/etc/hadoop/hdfs-site.xml /opt/hbase/conf/
- 创建文件,并写入内容:namenode-a2
[hadoop@namenode-a1 conf]$ vim backup-masters
- 配置环境变量:
[hadoop@namenode-a1 conf]$ vim ~/.bash_profile
加入以下内容:
export HBASE_HOME=/opt/hbase
export PATH=$PATH:$HBASE_HOME/bin
然后使其生效:[hadoop@namenode-a1 conf]$ source ~/.bash_profile
- 确保三台主机的时间相差不要超过10秒
- 将hbase 复制到另外两个主机中
[hadoop@namenode-a1 opt]$ su -
[root@localhost ~]# cd /opt/
[root@localhost opt]# scp -r hbase-0.98.23-hadoop2 namenode-a2:/opt/
[root@localhost opt]# scp -r hbase-0.98.23-hadoop2 datanode-a:/opt/
- 在另外两个主机中执行以下命令,建立软连接、更改权限、并修改环境变量
[root@localhost opt]# ln -s hbase-0.98.23-hadoop2 hbase
[root@localhost opt]# chown -R hadoop:hadoop hbase
[root@localhost opt]# chown -R hadoop:hadoop hbase-0.98.23-hadoop2
[root@localhost opt]# su - hadoop
[hadoop@localhost ~]$ vim ~/.bash_profile
[hadoop@localhost ~]$ source ~/.bash_profile
启动过程:
- 启动三个主机的 zookeeper
- namenode1上,启动 dfs:start-dfs.sh 启动hbase:start-hbase.sh
- 访问链接:http://namenode-a1:60010/和http://namenode-a1:60010/ 查看运行情况