Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境

ZooKeeper可以独立搭建集群,HBase本身不能独立搭建集群需要和Hadoop和HDFS整合。

集群环境至少需要3个节点(也就是3台服务器设备):1个Master,2个Slave,节点之间局域网连接,可以相互ping通,下面举例说明,配置节点IP分配如下:

IP    角色
10.10.50.133 master
10.10.125.156 slave1
10.10.114.112 slave2

三个节点均使用CentOS 6.5系统,为了便于维护,集群环境配置项最好使用相同用户名、用户密码、相同Hadoop、Hbase、zookeeper目录结构。

注:
 主机名和角色最好保持一致,如果不同也没关系,只需要在/etc/hosts中配置好对应关系即可
 可以通过编辑/etc/sysconfig/network文件来修改 hostname

软件包下载准备:
hadoop-2.7.3.tar.gz
 hbase-1.2.5-bin.tar.gz
 zookeeper-3.4.6.tar.gz
 jdk-8u111-linux-x64.rpm

因为是测试环境此次都使用root来操作,如果是生产环境建议使用其他用户如hadoop,需要给目录授权为hadoop
 chown -R hadoop.hadoop /data/yunva

二、准备工作

2.1 安装JDK

在三台机器上配置JDK环境,下载 jdk-8u111-linux-x64.rpm 文件直接安装:

# rpm -ivh jdk-8u111-linux-x64.rpm

修改配置文件 vim /etc/profile:

export JAVA_HOME=/usr/java/jdk1.8.0_111  # 不同的jdk路径需要修改此项
export PATH=$JAVA_HOME/bin:$PATH
export HADOOP_HOME=/data/yunva/hadoop-2.7.3
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_SSH_OPTS="-p 48490"  # 非默认ssh的22号端口需要添加此项,表示端口为48490

因本次部署环境,jdk不同所以需要单独修改配置:
master
 export JAVA_HOME=/usr/java/jdk1.8.0_111

slave1
 export JAVA_HOME=/usr/java/jdk1.8.0_65

slave2
 export JAVA_HOME=/usr/java/jdk1.8.0_102

然后重新加载配置文件使之生效:

# source /etc/profile

2.2 添加Hosts映射关系

分别在三个节点上添加hosts映射关系:

# vim /etc/hosts

添加的内容如下:

10.10.50.133 master
 10.10.125.156 slave1
 10.10.114.112 slave2

2.3 集群之间SSH无密码登陆

CentOS默认安装了ssh,如果没有你需要先安装ssh 。

集群环境的使用必须通过ssh无密码登陆来执行,本机登陆本机必须无密码登陆,主机与从机之间必须可以双向无密码登陆,从机与从机之间无限制。

2.3.1 设置master无密码自动登陆slave1和slave2

主要有三步:
①生成公钥和私钥
②导入公钥到认证文件
③更改权限

# ssh-keygen -t rsa
 # cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
 # chmod 700 ~/.ssh && chmod 600 ~/.ssh/*

测试,第一次登录可能需要yes确认,之后就可以直接登录了:

# ssh master
 # ssh slave1
 # ssh slave2

对于 slave1 和 slave2,进行无密码自登陆设置,操作同上。

也有个快捷的操作方式,当所有的服务器都ssh-keygen -t rsa生成公钥后,在master上操作无密码登陆master/slave1/slave2成功后,直接拷贝给其他主机即可
 然后,将证书文件复制到其他机器的用户主目录下
# scp -P 48490 authorized_keys master:/root/.ssh/
 # scp -P 48490 authorized_keys slave1:/root/.ssh/
 # scp -P 48490 authorized_keys slave2:/root/.ssh/

三、Hadoop集群安装配置

这里会将hadoop、hbase、zookeeper的安装包都解压到/data/yunva/文件夹下,并重命名
 安装目录如下:
 /data/yunva/hadoop-2.7.3
 /data/yunva/hbase-1.2.5
 /data/yunva/zookeeper-3.4.6

3.1 修改hadoop配置

配置文件都在/data/yunva/hadoop-2.7.3/etc/hadoop/目录下

3.1.1 core-site.xml

<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://master:9000</value>
    </property>
 </configuration>

3.1.2 hadoop-env.sh
添加JDK路径,如果不同的服务器jdk路径不同需要单独修改:
export JAVA_HOME=/usr/java/jdk1.8.0_111

3.1.3 hdfs-site.xml
 # 创建hadoop的数据和用户目录
# mkdir -p /data/yunva/hadoop-2.7.3/hadoop/name
 # mkdir -p /data/yunva/hadoop-2.7.3/hadoop/data

<configuration>
    <property>
        <name>dfs.name.dir</name>
        <value>/data/yunva/hadoop-2.7.3/hadoop/name</value>
    </property>
    <property>
        <name>dfs.data.dir</name>
        <value>/data/yunva/hadoop-2.7.3/hadoop/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
 </configuration>

3.1.4 mapred-site.xml

# mv mapred-site.xml.template mapred-site.xml

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/1799065555dad335868bb9cb58c03d21.html