centos7环境搭建hadoop+hbase+zookeeper+phoenix+thritf

一.环境说明

系统:CentOS Linux release 7.6.1810 (Core)

IP:10.255.175.84

Jdk:1.8.0_25

Hadoop:2.7.5

Hbase:1.2.6

Zookeeper: zookeeper-3.4.10

Phoenix: phoenix-4.14.1-HBase-1.2-bin

Thrift: thrift-0.11.0

二.版本兼容性

JDK、Hadoop、HBase版本兼容性(X:不兼容;NT:未测试;Y:兼容):

三.安装jdk

下载jdk1.8.0_25

解压 tar -zxvf jdk*

配置环境变量:

vi /etc/profile

export JAVA_HOME=/usr/local/jdk1.8.0_25

export JRE_HOME=${JAVA_HOME}/jre

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

export PATH=${JAVA_HOME}/bin:$PATH

 

export HBASE_HOME=/usr/local/hbase-1.2.6

export PATH=${HBASE_HOME}/bin:$PATH

 

export HADOOP_HOME=/usr/local/hadoop-2.7.5

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH

 

重新加载配置文件使之生效$ source /etc/profile

四.环境配置准备

4.1添加hosts映射关系

$ vi /etc/hosts

添加内容如下:

10.255.65.4 master

4.2配置SSH的免key登陆(略)

集群和伪分布式需要配置

4.3 关闭防火墙

关闭: systemctl stop firewalld

开机禁用  : systemctl disable firewalld

4.4 禁用selinux: /etc/selinux/config文件

设置"SELINUX=disabled"

五.Zookeeper安装配置

下载解压zookeeper文件

zookeeper/conf目录下zoo_sample.cfg复制重命名为zoo.cfg

vi zoo.cfg

dataDir=指定目录(默认存储在tmp)

maxSessionTimeout=200000

minSessionTimeout=20000

启动zookeeper

Zookeeper的bin目录下zkServer.sh start

成功标识:

Jps查看进程,出现QuorumpeerMain

 

问题1:关闭防火墙。在hadoop集群环境(linux系统)中最好关闭防火墙,不然会出现很多问题,例如namenode找不到datanode等。如果不关闭防火墙,客户端使用API操作HDFS以及ZooKeeper,可能就会出现下面常见的两种异常:

 

· 使用API操作HDFS时会出现异常:java.net.NoRouteToHostException: No route to host

· 使用API操作ZK时会出现异常:

org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for xxxx

六.Hadoop安装配置

6.1下载解压

6.2修改hadoop配置

配置文件位置:****/hadoop/etc/Hadoop

6.2.1 core-site.xml

   

        fs.defaultFS

        hdfs://10.255.175.84:9000

   

6.2.2 hadoop-env.sh

添加JDK路径:export JAVA_HOME=

6.2.3 hdfs-site.xml

   

        dfs.name.dir

        /home/zdl/sdb/

   

   

        dfs.http.address

        10.255.175.84:8777

   

   

        dfs.data.dir

        /home/zdl/sdc/,/home/zdl/sdd/,/home/zdl/sde/

   

   

        dfs.replication

        1

   

6.2.4 mapred-site.xml

此文件是mapred-site.xml.template复制出来的

   

        mapred.job.tracker

        master:9001

   

   

        mapreduce.framework.name

        yarn

   

6.2.5 修改slaves文件

master

6.3 启动hadoop

进入master的~/hadoop目录,执行以下操作:

 

格式化文件系统:

$ bin/hadoop namenode -format

第一次启动前操作,以后无需操作!!!

 

然后启动hadoop

$ sbin/start-all.sh

 

验证:通过jps能看到NodeManager,NameNode,SecondaryNameNode,ResourceManager,DataNode这几个进程。

七.Hbase安装配置

下载解压hbase

conf下配置:

7.1 hbase-env.sh

export JAVA_HOME=/usr/local/jdk1.8.0_25

Export HBASE_CLASSPATH=/usr/local/hadoop/etc/hadoop/

export HBASE_MANAGES_ZK=false

7.2 hbase-site.xml

   

        hbase.rootdir

        hdfs://10.255.175.84:9000/hbase

   

   

        hbase.cluster.distributed

        true

   

   

        hbase.rootdir

        hdfs://10.255.175.84:9000/hbase

   

 

   

        hbase.master.info.port

        60010

   

        hbase.zookeeper.property.dataDir

        /usr/local/hbase-1.2.6/zoodata

   

   

        hbase.regionserver.wal.codec

        org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec

   

7.3 修改regionservers

在 regionservers 文件中添加slave列表

master

八.安装Phoenix

8.1下载解压

Phoenix 下载地址:http://phoenix.apache.org/download.html  在里面找到匹配自己hbase版本的Phoenix 

tar -zxvf apache-phoenix-4.14.1-HBase-1.2-bin.tar.gz

8.2 配置

8.2.1 复制jar包

进入apache-phoenix-4.14.1-HBase-1.2-bin目录:把用黑框圈出的三个jar包复制到 hbase 目录的 lib 目录下

8.2.2 复制hbase-site.xml

将 hbase 中的配置文件 hbase-site.xml 拷贝到 Phoenix 的 bin 目录下,覆盖原有的配置文件,或者删除Phoenix 的 bin 目录下原有的 hbase-site.xml

九.安装thrift

安装Thrift,因为其他语言调用HBase时,需要通过Thrift进行连接

thrift下载地址:http://mirror.bit.edu.cn/apache/thrift/0.11.0/

 

9.1 安装Thrift依赖

sudo apt-get install automake bison flex g++ git libboost1.55

libevent-dev libssl-dev libtool make pkg-config

不然在configure时可能会报错(configure: error)

9.2 编译安装

下载源码,解压后进行编译安装。

tar zxf thrift-0.11.0.tar.gz

cd thrift-0.11.0/

./configure --with-cpp --with-boost --with-python --without-csharp --with-java --without-erlang

--without-perl --with-php --without-php_extension --without-ruby --without-haskell  --without-go

make

sudo make install

9.3 启thrift服务

bin/hbase-daemon.sh start thrift

9.4 python调用

首先pip install thrift

然后找到我们之前下载的hbase-1.2.6-src.tar.gz文件(http://mirror.bit.edu.cn/apache/hbase/stable/)

解压然后find . -name Hbase.thrift,找到Hbase.thrift

进入文件所在目录然后thrift --gen py Hbase.thrift,会看到多出一个文件gen-py,打开文件夹,里边有一个hbase文件夹。然后把hbase文件移动到python的第三方库的安装位置。或者程序所在目录。入文件所在目录然后thrift --gen py Hbase.thrift,会看到多出一个文件gen-py,打开文件夹,里边有一个hbase文件夹。然后把hbase文件移动到python的第三方库的安装位置。或者程序所在目录。

 

十.启动大数据组件

10.1启动ZooKeeper

~/zookeeper/bin/zkServer.sh start

10.2启动hadoop

之前已经格式化过文件系统,只有第一次需要格式化

~/hadoop/sbin/start-all.sh

10.3 启动hbase

~/hbase/bin/start-base.sh

10.4 启动thrift

bin/hbase-daemon.sh start thrift

 

启动后master上进程列表

centos7环境搭建hadoop+hbase+zookeeper+phoenix+thritf_第1张图片

 

十二.常见问题

【问题一】Master is initializing

此问题有两种常见情况:

1. 服务器时间未同步导致。

date -s "20091112 18:30:50" &&hwclock --systohc

2. regionservers中未配置master。

重启即可解决。

 

【问题二】报错Hbase:namespace

服务一切正常,创建表的时候报错,更换表名正常。

 

Zookeeper中名称空间管理出错。

$sh zkCli.sh

ls /

输入rmr /hbase删除hbase管理即可。

 

【问题三】master.HMasterCommandLine: Master exiting Cannot assign requested address

vim /etc/hosts

 

添加本机ip配置localhost即可

 

【问题四】hadoop进入安全模式

退出安全模式:

./hdfs dfsadmin -safemode leave

无法退出:

检查磁盘占用

数据倾斜:

 ./start-balancer.sh

你可能感兴趣的:(大数据)