基于nfs的hadoop集群,web快速部署

未经本人允许不得转载。

我的开源中国博客地址:https://my.oschina.net/u/3685854/blog/1863003

目录

1.准备工作

1.1系统环境

1.2集群规模

1.3集群网络

1.4服务器软件

1.5YUM源选择

1.6安装包位置

1.7整体架构

2.NFS搭建

2.1安装nfs

 2.2服务器端配置

2.2.1创建共享目录

2.2.2编辑export文件

2.2.3配置生效

2.2.4启动rpcbind、nfs服务

2.2.5测试共享

2.3客户端配置

2.3.1安装nfs-utils客户端

2.3.2创建挂在目录

2.3.3查看服务器抛出的共享目录信息

2.3.4挂载共享目录

2.3.5卸载,配置端口(选做)

3.NFT搭建

3.1服务端配置

3.1.1YUM安装NTP

3.1.2配置ntp.conf

3.1.3重启NTP

3.1.4查看NTP状态

3.2客户端配置

3.2.1安装ntpdate

3.2.2同步服务端时间

4.JDK

4.1安装位置

4.2安装配置

4.2.1解压jdk到指定目录

4.2.2修改系统配置文件profile

4.2.3生效系统配置

4.2.4验证系统配置

5.SSH免密登陆

5.1新增用户并设置组及密码

5.2ssh的安全设置

5.3给每台机器命名

5.4配置每台hosts映射

5.5生成**文件

5.6配置authorized_keys文件

6.NGINX搭建

6.1安装位置

6.2安装配置

6.2.1安装依赖

6.2.2创建安装目录及相关目录

6.2.3创建用户和用户组

6.2.4解压安装包到指定目录

6.2.5配置安装环境及依赖

6.2.6编译安装

6.2.7配置文件

6.2.8nginx的启动和关闭

7.TOMCAT搭建

7.1安装位置

7.2安装配置

7.2.1创建目录

7.2.2解压到指定目录

7.2.3配置tomcat-users.xml

7.2.4配置catalina.sh

7.2.5配置logging.properties

7.2.6配置server.xml

7.2.7将相关jar文件放入libs下

7.2.8服务的开启与关闭

8.HADOOP搭建

8.1安装位置

8.2安装配置

8.2.1创建目录

8.2.2解压到指定目录

8.2.3配置hadoop-env.sh

8.2.4配置core-site.xml

8.2.5配置hdfs-site.xml

8.2.6配置mapred-site.xml

8.2.7配置yarn-site.xml

8.2.8配置slaves

8.2.9配置yarn-env.sh

8.2.10hadoop集群的相关操作

9.ZOOKEEPER搭建

9.1安装位置

9.2安装配置

9.2.1创建目录

9.2.2解压zookeeper到指定目录

9.2.3配置zoo.cfg

9.2.4创建myid并写入

9.2.5修改n2和n3的myid

9.2.6zookeper集群的相关操作

10.HBASE搭建

10.1安装位置

10.2安装配置

10.2.1创建安装目录

10.2.2解压hbase到指定目录

10.2.3配置hbase-env.sh

10.2.4配置hbase-site.xml

10.2.5配置regionservers

10.2.6hbase集群的相关操作

11.集群开启关闭顺序

11.1开启集群

11.1.1启动hadoop集群

11.1.2启动zookeeper集群

11.1.3启动hbase集群

11.2关闭集群

11.2.1关闭hbase集群

11.2.2关闭zookeeper集群

11.2.3关闭hadoop集群


1.准备工作

1.1系统环境

服务器运行的系统版本:CentOS-7.4

1.2集群规模

服务器数量:6台

1.3集群网络

服务器网络:n1:192.168.xxx.xxx(内网ip);

                    n2:192.168.xxx.xxx(内网ip);

                    n3:192.168.xxx.xxx(内网ip);

                    n4:192.168.xxx.xxx(内网ip);

                    n5:192.168.xxx.xxx(内网ip);

                    n6:192.168.xxx.xxx(内网ip);

1.4服务器软件

服务器软件版本:nginx-1.8.1 

                            appache-tomcat-9.0.2 

                            jdk-1.8.0_144

                            hadoop-2.7.5

                            zookeeper-3.4.10

                            hbase-1.2.6

                            nfs-utils-1.3.0-0.54.el7.x86_64

1.5YUM源选择

yum源:阿里yum源

1.6安装包位置

目录:/usr/local/src

1.7整体架构

基于nfs的hadoop集群,web快速部署

主机名

n1

n2

n3

n4

n5

n6

角色

nginx1

hadoop1

zookeeper1

hbase1

nfs

nginx2

hadoop2

zookeeper2

hbase2

nfs

tomcat1

hadoop3

zookeeper3

hbase3

nfs

tomcat2,

hadoop4

hbase4

nfs

tomcat3,

hadoop5

hbase5

nfs

tomcat4,

hadoop6

hbase6

nfs

 

基于nfs的hadoop集群,web快速部署

 

n1

n2

n3

n4

n5

n6

NameNode

Y

N

N

N

N

N

SecondaryNameNode

N

Y

N

N

N

N

DataNode

Y

Y

Y

Y

Y

Y

HMaster

Y

N

N

N

N

N

HRegionServer

Y

Y

Y

Y

Y

Y

QuorumPeerMain

Y

Y

Y

N

N

N

NodeManager

Y

Y

Y

Y

Y

Y

Bootstrap

Y

N

Y

Y

Y

Y

ResourceManager

Y

N

N

N

N

N

2.NFS搭建

2.1安装nfs

yum -y install nfs-utils rpcbind

基于nfs的hadoop集群,web快速部署

 2.2服务器端配置

2.2.1创建共享目录

在目录/usr/local下创建共享目录public,并设置其权限

mkdir /usr/local/publish

chmod 777 /usr/local/public

注意权限,要使user拥有目录的权限

2.2.2编辑export文件

vim /etc/exports

/usr/local/public *(rw,sync,no_root_squash,no_all_squash)

 

参数值

内容说明

rw

ro

该目录分享的权限是可擦写 (read-write) 或只读 (read-only),但最终能不能读写,还是与文件系统的 rwx 及身份有关。

sync

async

sync 代表数据会同步写入到内存与硬盘中,async 则代表数据会先暂存于内存当中,而非直接写入硬盘!

      no_root_squash

root_squash

客户端使用 NFS 文件系统的账号若为 root 时,系统该如何判断这个账号的身份?预设的情况下,客户端 root 的身份会由 root_squash 的设定压缩成 nfsnobody, 如此对服务器的系统会较有保障。但如果你想要开放客户端使用 root 身份来操作服务器的文件系统,那么这里就得要开 no_root_squash 才行!

all_squash

不论登入 NFS 的使用者身份为何, 他的身份都会被压缩成为匿名用户,通常也就是 nobody(nfsnobody) !

anonuid 

anongid

anon 意指 anonymous (匿名者) 前面关于 *_squash 提到的匿名用户的 UID 设定值,通常为 nobody(nfsnobody),但是你可以自行设定这个 UID 的值!当然,这个 UID 必需要存在于你的 /etc/passwd 当中! anonuid 指的是 UID 而 anongid 则是群组的 GID 。

2.2.3配置生效

exportfs -r 

2.2.4启动rpcbind、nfs服务

systemctl start rpcbind

systemctl start nfs

2.2.5测试共享

showmount -e localhost

参数值

内容说明

a

显示目前主机与客户端的 NFS 联机分享的状态;

e

显示某部主机的 /etc/exports 所分享的目录数据。

2.3客户端配置

2.3.1安装nfs-utils客户端

yum -y install nfs-utils

2.3.2创建挂在目录

mkdir /usr/local/public

2.3.3查看服务器抛出的共享目录信息

showmount -e n1

2.3.4挂载共享目录

mount -t nfs n1:/usr/local/public /usr/local/public -o proto=tcp -o nolock

2.3.5卸载,配置端口(选做)

卸载:umount /usr/local/public

查看端口:rpcinfo -p localhost

配置端口:vim /etc/sysconfig/nfs

RQUOTAD_PORT=30001

LOCKD_TCPPORT=30002

LOCKD_UDPPORT=30002

MOUNTD_PORT=30003

STATD_PORT=30004

3.NFT搭建

3.1服务端配置

3.1.1YUM安装NTP

yum install -y ntp

3.1.2配置ntp.conf

vim /etc/ntp.conf

#server

0.centos.pool.ntp.org

iburst

#server  

1.centos.pool.ntp.org

iburst

#server

2.centos.pool.ntp.org

iburst

#server

3.centos.pool.ntp.org

iburst

server

127.127.1.1

#注释以server开头的行并添加此条

3.1.3重启NTP

systemctl restart ntpd.service

3.1.4查看NTP状态

systemctl status  ntpd.service

3.2客户端配置

3.2.1安装ntpdate

yum install -y ntpdate

3.2.2同步服务端时间

ntpdate n1

4.JDK

4.1安装位置

目录:/usr/local/public/jdk

4.2安装配置

4.2.1解压jdk到指定目录

在目录/usr/local/src下:

tar -zxvf jdk-8u144-linux-x64.tar.gz -C ../public/jdk/

4.2.2修改系统配置文件profile

在目录/etc/profile下:

vim /etc/profile

文件末尾追加  

export  JAVA_HOME=/usr/local/public/jdk/jdk1.8.0_144

export  JRE_HOME=/usr/local/public/jdk/jdk1.8.0_144/jre

export  CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export  PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH

4.2.3生效系统配置

source /etc/profile

4.2.4验证系统配置

java -version

5.SSH免密登陆

5.1新增用户并设置组及密码

useradd -g root user

passwd user    (密码:123456)

5.2ssh的安全设置

配置安全规则,自行百度。实验不用做

5.3给每台机器命名

vim /etc/hostname

n1

需要重启生效

5.4配置每台hosts映射

vim /etc/hosts

192.168.xxx.xxx n1

192.168.xxx.xxx n2

192.168.xxx.xxx n3

192.168.xxx.xxx n4

192.168.xxx.xxx n5

192.168.xxx.xxx n6

5.5生成**文件

需要切换到user用户执行

ssh-****** -t rsa

5.6配置authorized_keys文件

将每台服务器上的公钥id_rsa.pub添加到每台服务器的authorized_keys内

目录:~/.ssh/

vim authorized_keys

6.NGINX搭建

6.1安装位置

目录:/usr/local/public/nginx

6.2安装配置

6.2.1安装依赖

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel psmisc

6.2.2创建安装目录及相关目录

mkdir /usr/local/public/nginx

mkdir /usr/local/logs/nginx

mkdir /usr/local/pids/nginx

注意权限,要使user拥有目录的权限

6.2.3创建用户和用户组

useradd nginx

6.2.4解压安装包到指定目录

在目录/usr/local/src下:

tar -zxvf nginx-1.8.1.tar.gz -C ../public/nginx

6.2.5配置安装环境及依赖

在目录/usr/local/public/nginx/nginx-1.8.1/下:

./configure --user=nginx --group=nginx --prefix=/usr/local/public/nginx --with-http_stub_status_module --with-http_ssl_module

6.2.6编译安装

make && make install

6.2.7配置文件

在目录/usr/local/public/nginx/conf下:

编辑nginx.conf文件:

vim nginx.conf

error_log  /usr/local/logs/nginx/error.log;

error_log  /usr/local/logs/nginx/error.log  notice;

error_log  /usr/local/logs/nginx/error.log  info;

pid        /usr/local/pids/nginx/nginx.pid;

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

                 '$status $body_bytes_sent "$http_referer" '

                '"$http_user_agent" "$http_x_forwarded_for"';

access_log  /usr/local/logs/nginx/access.log  main;

upstream tomcatall {

        server n3:8080 weight=1;

        server n4:8080 weight=1;

        server n5:8080 weight=1;

        server n6:8080 weight=1;

        }

 server {

        listen       8080;

        server_name  localhost;

        charset utf-8;

        access_log  /usr/local/logs/nginx/host.access.log  main;

        location / {

        proxy_pass http://tomcatall;

        proxy_redirect default;

        }

6.2.8nginx的启动和关闭

在每台nginx服务器上以用户user操作,

在目录/usr/local/public/nginx下:

启动:       ./sbin/nginx -c conf/nginx.conf

关闭:       killall -9 nginx

7.TOMCAT搭建

7.1安装位置

目录:/usr/local/public/tomcat

7.2安装配置

7.2.1创建目录

mkdir /usr/local/public/tomcat

mkdir /usr/local/logs/tomcat

mkdir /usr/local/pids/tomcat

注意权限,要使user拥有目录的权限

7.2.2解压到指定目录

tar -zxvf apache-tomcat-9.0.2.tar.gz -C ../public/tomcat 

7.2.3配置tomcat-users.xml

在目录/usr/local/public/tomcat/apache-tomcat-9.0.2/conf下:

vim tomcat-users.xml

结尾修改如下:

<role rolename="manager-gui"/>

<role rolename="admin-gui"/>

<user username="user" password="123456" roles="manager-gui,admin-gui"/>

7.2.4配置catalina.sh

vim catalina.sh

# Get standard environment variables

PRGDIR=`dirname "$PRG"`

CATALINA_PID=/usr/local/pids/tomcat/tomcat.pi

if [ -z "$CATALINA_OUT" ] ; then

CATALINA_OUT=/usr/local/logs/tomcat/catalina.out

fi

7.2.5配置logging.properties

vim logging.properties

1catalina.org.apache.juli.AsyncFileHandler.level = FINE

1catalina.org.apache.juli.AsyncFileHandler.directory = /usr/local/logs/tomcat

1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.

1catalina.org.apache.juli.AsyncFileHandler.maxDays = 90

 

2localhost.org.apache.juli.AsyncFileHandler.level = FINE

2localhost.org.apache.juli.AsyncFileHandler.directory = /usr/local/logs/tomcat

2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.

2localhost.org.apache.juli.AsyncFileHandler.maxDays = 90

 

3manager.org.apache.juli.AsyncFileHandler.level = FINE

3manager.org.apache.juli.AsyncFileHandler.directory = /usr/local/logs/tomcat

3manager.org.apache.juli.AsyncFileHandler.prefix = manager.

3manager.org.apache.juli.AsyncFileHandler.maxDays = 90

 

4host-manager.org.apache.juli.AsyncFileHandler.level = FINE

4host-manager.org.apache.juli.AsyncFileHandler.directory = /usr/local/logs/tomcat

4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.

4host-manager.org.apache.juli.AsyncFileHandler.maxDays = 90

7.2.6配置server.xml

vim server.xml

<Valve className="org.apache.catalina.valves.AccessLogValve"directory="/usr/local/logs/tomcat"

7.2.7将相关jar文件放入libs下

在目录/usr/local/src下:

cp ./*.jar ../public/tomcat/apache-tomcat-9.0.2/lib

7.2.8服务的开启与关闭

在每台tomcat服务器(n3,n4,n5,n6)上以用户user操作,

在目录/usr/local/public/tomcat/apache-tomcat-9.0.2/bin下:

启动:./ startup.sh

停止:./ shutdown.sh

8.HADOOP搭建

8.1安装位置

目录:/usr/local/public/hadoop

8.2安装配置

8.2.1创建目录

mkdir /usr/local/public/hadoop

mkdir /usr/local/logs/hadoop

mkdir /usr/local/pids/hadoop

mkdir -p /usr/local/tmp/hadoop

mkdir -p /usr/local/dfs/{data,name}

注意权限,要使user拥有目录的权限

8.2.2解压到指定目录

在目录/usr/local/src下:

tar -zxvf hadoop-2.7.5.tar.gz -C ../public/hadoop

8.2.3配置hadoop-env.sh

在目录/usr/local/public/hadoop/hadoop-2.7.5/etc/hadoop下:

vim hadoop-env.sh

# Where log files are stored.  $HADOOP_HOME/logs by default.

export HADOOP_LOG_DIR=/usr/local/logs/hadoop

# Where log files are stored in the secure data environment.

export HADOOP_SECURE_DN_LOG_DIR=/usr/local/logs/hadoop

 

export HADOOP_PID_DIR=/usr/local/pids/hadoop

export HADOOP_SECURE_DN_PID_DIR=/usr/local/pids/hadoop

        新增

export JAVA_HOME=/usr/local/jdk/jdk1.8.0_144

export HADOOP_CONF_DIR=/usr/local/hadoop/hadoop-2.7.5/etc/hadoop/

8.2.4配置core-site.xml

在目录/usr/local/public/hadoop/hadoop-2.7.5/etc/hadoop下:

vim core-site.xml

<configuration>

<!-- HDFS file path -->

<!-- HDFS默认的连接地址 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://n1的ip地址:9000</value>

</property>

<!-- 流文件的配置大小,默认是4K太小了,这里将这个值改的大 -->

<property>

<name>io.file.buffer.size</name>

<value>131072</value>

</property>

<!--生成临时结果的配置路径,需要创建目录tmp-->

<property>

<name>hadoop.tmp.dir</name>

<value>file:/usr/local/tmp/hadoop</value>

<description>Abasefor other temporary directories.</description>

</property>

</configuration>

8.2.5配置hdfs-site.xml

在目录/usr/local/public/hadoop/hadoop-2.7.5/etc/hadoop下:

vim hdfs-site.xml

<configuration>

<!-- 设置namenode的http通讯地址 -->

<property>

<name>dfs.namenode.http-address</name>

<value>n1的ip地址:50070</value>

</property>

<!-- 设置secondarynamenode的http通讯地址 -->

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>n2的ip地址:50090</value>

</property>

<!-- 设置namenode存放的路径 -->

<property>

<name>dfs.namenode.name.dir</name>

<value>/usr/local/dfs/name</value>

</property>

<!-- 设置hdfs副本数量 -->

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<!-- 设置datanode存放的路径 -->

<property>

<name>dfs.datanode.data.dir</name>

<value>/usr/local/dfs/data</value>

</property>

<!-- 设置是否可以通过web站点进行Hdfs管理 -->

<property>

<name>dfs.webhdfs.enabled</name>

<value>false</value>

</property>

<!-- 设置是否开放权限 -->

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

</configuration>

 

8.2.6配置mapred-site.xml

在目录/usr/local/public/hadoop/hadoop-2.7.5/etc/hadoop下:

cp mapred-site.xml.template mapred-site.xml

vim mapred-site.xml

<!-- 第一个就是制定当前Hadoop的并行运行计算架构,这里为yarn,第二个就是Job运行的历史记录Server,第三个就是历史运行记录的Web服务器。 -->

<property>

 <name>mapreduce.framework.name</name>

 <value>yarn</value>

 </property>

 <property>

 <name>mapreduce.jobhistory.address</name>

 <value>n1的ip地址:10020</value>

 </property>

 <property>

 <name>mapreduce.jobhistory.webapp.address</name>

 <value>n1的ip地址:19888</value>

 </property>

8.2.7配置yarn-site.xml

在目录/usr/local/public/hadoop/hadoop-2.7.5/etc/hadoop下:

vim yarn-site.xml

<!-- reducer取数据的方式是mapreduce_shuffle -->

<property>

    <name>yarn.nodemanager.aux-services</name>

    <value>mapreduce_shuffle</value>

</property>

<property>

       <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

    <value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

<!-- 设置 resourcemanager 在哪个节点-->

<property>

    <name>yarn.resourcemanager.hostname</name>

    <value>n1的ip地址</value>

</property>

<property>

    <name>yarn.resourcemanager.address</name>

    <value>n1的ip地址:8032</value>

</property>

<property>

    <name>yarn.resourcemanager.scheduler.address</name>

    <value>n1的ip地址:8030</value>

</property>

<property>

    <name>yarn.resourcemanager.resource-tracker.address</name>

    <value>n1的ip地址:8031</value>

</property>

<property>

    <name>yarn.resourcemanager.admin.address</name>

    <value>n1的ip地址:8033</value>

</property>

<property>

    <name>yarn.resourcemanager.webapp.address</name>

    <value>n1的ip地址:8088</value>

</property>

8.2.8配置slaves

在目录/usr/local/public/hadoop/hadoop-2.7.5/etc/hadoop下:

vim slaves

n1的IP地址

n2的IP地址

n3的IP地址

n4的IP地址

n5的IP地址

n6的IP地址

8.2.9配置yarn-env.sh

vim yarn-env.sh

# default log directory & file

if [ "$YARN_LOG_DIR" = "" ]; then

  YARN_LOG_DIR=/usr/local/logs/hadoop

fi

8.2.10hadoop集群的相关操作

在目录/usr/local/public/hadoop/hadoop-2.7.5下:

格式化             ./bin/hdfs namenode -format(第一次启动一定要先格式化)

启动dfs            ./sbin/start-dfs.sh

停止dfs            ./sbin/stop-dfs.sh

启动yarn          ./sbin/start-yarn.sh

停止yarn          ./sbin/stop-yarn.sh

启动集群           ./sbin/start-all.sh

停止集群           ./sbin/stop-all.sh

启动balancer           ./sbin/start-balancer.sh

停止balancer           ./sbin/stop-balancer.sh

启动secure-dns        ./sbin/start-secure-dns.sh

停止secure-dns         ./sbin/stop-secure-dns.sh

查看启动状态              jps

9.ZOOKEEPER搭建

9.1安装位置

目录:/usr/local/public/zookeeper

9.2安装配置

9.2.1创建目录

mkdir /usr/local/public/zookeeper

mkdir /usr/local/zookeeper_data

mkdir /usr/local/logs/zookeeper

注意权限,要使user拥有目录的权限

9.2.2解压zookeeper到指定目录

在目录/usr/local/src下:

tar -zxvf zookeeper-3.4.10.tar.gz -C ../public/zookeeper

9.2.3配置zoo.cfg

在目录/usr/local/public/zookeeper/zookeeper-3.4.10/conf下:

cp zoo_sample.cfg zoo.cfg

vim zoo.cfg

dataDir=/usr/local/zookeeper_data

dataLogDir=/usr/local/logs/zookeeper

server.1=n1的IP地址:2888:3888

server.2=n2的IP地址:2888:3888

server.3=n3的IP地址:2888:3888

9.2.4创建myid并写入

在目录/usr/local/zookeeper_data下:

touch myid

echo “1” > myid

9.2.5修改n2和n3的myid

在n2和n3的目录/usr/local/zookeeper_data下:

echo “2” > myid                仅在n2操作

echo “3” > myid                仅在n3操作

该数字取决于zoo.cfg中server后的数字。

9.2.6zookeper集群的相关操作

启动集群时必须在每台zookeeper服务器上分别启动,第二个启动的为主,其余为从。

在目录/usr/local/public/zookeeper/zookeeper-3.4.10/bin下:

启动   ./zkServer.sh start

停止   ./zkServer.sh stop

查看   ./zkServer.sh status

10.HBASE搭建

10.1安装位置

目录:/usr/local/public/hbase

10.2安装配置

10.2.1创建安装目录

mkdir /usr/local/public/hbase

mkdir /usr/local/logs/hbase

mkdir /usr/local/pids/hbase

注意权限,要使user拥有目录的权限

10.2.2解压hbase到指定目录

在目录/usr/local/src下:

tar -zxvf hbase-1.2.6-bin.tar.gz -C ../public/hbase/

10.2.3配置hbase-env.sh

在目录/ usr/local/public/hbase/hbase-1.2.6/conf下:

vim hbase-env.sh

export JAVA_HOME=/usr/local/public/jdk/jdk1.8.0_144/

export  HBASE_MANAGES_ZK=false

# Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+

#export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"

#export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"

export HBASE_LOG_DIR=/usr/local/logs/hbase

export HBASE_PID_DIR=/usr/local/pids/hbase

10.2.4配置hbase-site.xml

在目录/usr/local/public/hbase/hbase-1.2.6/conf下:

vim hbase-site.xml

<property>

<name>hbase.rootdir</name>

<value>hdfs://n1的IP地址:9000/hbase</value>

<!--hbase目录的位置,打开之后,你会发现eclipse的hadoop目录里边多了个hbase目录-->

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

<!--分布式集群-->

</property>

<property>

<name>hbase.zookeeper.quorum</name>

<value>n1的IP地址,n2的IP地址,n3的IP地址</value>

<!--这是集群里边的机器-->

</property>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

10.2.5配置regionservers

在目录/usr/local/public/hbase/hbase-1.2.6/conf下:

vim regionservers

n1的IP地址

n2的IP地址

n3的IP地址

n4的IP地址

n5的IP地址

n6的IP地址

10.2.6hbase集群的相关操作

在目录/usr/local/public/hbase/hbase-1.2.6/bin下:

启动   ./start-hbase.sh

停止   ./stop-hbase.sh

11.集群开启关闭顺序

11.1开启集群

在n1启动hadoop集群——在n1,n2和n3分别启动zookeeper——在n1启动hbase集群

11.1.1启动hadoop集群

在n1的目录/usr/local/public/hadoop/hadoop-2.7.5/sbin下:

./start-all.sh

11.1.2启动zookeeper集群

在n1的目录/usr/local/public/zookeeper/zookeeper-3.4.10/bin下:

./zkServer.sh start

在n2的目录/usr/local/public/zookeeper/zookeeper-3.4.10/bin下:

./zkServer.sh start

在n3的目录/usr/local/public/zookeeper/zookeeper-3.4.10/bin下:

./zkServer.sh start

11.1.3启动hbase集群

在n1的目录/usr/local/public/hbase/hbase-1.2.6/bin下:

./start-hbase.sh

11.2关闭集群

在n1关闭hbase集群——在n1,n2和n3分别关闭zookeeper——在n1关闭hadoop’集群

11.2.1关闭hbase集群

在n1的目录/usr/local/public/hbase/hbase-1.2.6/bin下:

./stop-hbase.sh

11.2.2关闭zookeeper集群

在n1的目录/usr/local/public/zookeeper/zookeeper-3.4.10/bin下:

./zkServer.sh stop

在n2的目录/usr/local/public/zookeeper/zookeeper-3.4.10/bin下:

./zkServer.sh stop

在n3的目录/usr/local/public/zookeeper/zookeeper-3.4.10/bin下:

./zkServer.sh stop

11.2.3关闭hadoop集群

在n1的目录/usr/local/public/hadoop/hadoop-2.7.5/sbin下:

./stop-all.sh