一、部署准备

1.环境说明

本手册部署软件环境如下表所示:

类型 名称 版本
操作系统 Redhat 7.2
中间件 Hadoop 3.1.1
Hive

二、服务器基础配置

注意:需要在所有服务器执行。

1、解除 Linux 系统限制

执行:

  1. vim /etc/security/limits.conf

添加如下内容:

  1. soft noproc 65535
  2. hard noproc 65535
  3. soft nofile 65535
  4. hard nofile 65535

执行:

  1. vim /etc/profile

添加如下内容:

  1. ulimit -u 65535
  2. ulimit -n 65535

执行:

  1. source /etc/profile

2、修改主机名和主机映射

永久修改主机名:

  1. hostnamectl set-hostname bigdata-1.mid.neu.com
  2. hostnamectl set-hostname bigdata-2.mid.neu.com
  3. hostnamectl set-hostname bigdata-3.mid.neu.com
  4. hostnamectl set-hostname bigdata-4.mid.neu.com

临时修改主机名:

  1. hostname bigdata-1.mid.neu.com
  2. hostname bigdata-2.mid.neu.com
  3. hostname bigdata-3.mid.neu.com
  4. hostname bigdata-4.mid.neu.com

执行:

  1. vim /etc/hosts

添加如下内容:

  1. 10.10.195.53 bigdata-1.mid.neu.com bigdata-1
  2. 10.10.195.54 bigdata-2.mid.neu.com bigdata-2
  3. 10.10.195.55 bigdata-3.mid.neu.com bigdata-3
  4. 10.10.195.56 bigdata-4.mid.neu.com bigdata-4

测试:

  1. ping bigdata-1
  2. ping bigdata-2
  3. ping bigdata-3
  4. ping bigdata-4

3、关闭防火墙和selinux

a)关闭防火墙:

防火墙大家都可以理解,这里不作细说明。
查看防火墙状态:

  1. firewall-cmd --state

临时停止firewall:

  1. systemctl stop firewalld.service

永久禁止开启启动firewall:

  1. systemctl disable firewalld.service

b)关闭SELinux

查看:

  1. getenforce 或者 /usr/sbin/sestatus -v

临时禁用:

  1. setenforce 0

永久禁用:
执行:

  1. vim /etc/selinux/config

将SELINUX=enforce改成SELINUX=disabled
保存,重启

4、服务器之间免密ssh登陆
a)制作秘钥:
cd ~
执行:
ssh-keygen
直接一路回车,采用默认配置。
b)拷贝秘钥:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@bigdata-1
ssh-copy-id -i ~/.ssh/id_rsa.pub root@bigdata-2
ssh-copy-id -i ~/.ssh/id_rsa.pub root@bigdata-3
ssh-copy-id -i ~/.ssh/id_rsa.pub root@bigdata-4

5、时钟同步
NTP服务设置
节点1配置:
执行:
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 10.10.195.106
fudge 10.10.195.106 stratum 2
restrict 127.0.0.1
logfile /var/log/ntp.log
重启ntp服务
systemctl restart ntpd.service

其他节点配置:
执行:
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 10.10.195.53
fudge 10.10.195.106 stratum 3
restrict 127.0.0.1
logfile /var/log/ntp.log
重启ntp服务
systemctl restart ntpd.service

查看ntp状态:
ntpq -p

开启自启动:
systemctl enable ntpd

二、服务器大数据组件部署

规划:
bigdata-1:master节点
bigdata-2:worker节点
bigdata-3:worker节点
bigdata-4:worker节点

1、jdk部署(各节点部署)

解压缩:
tar -xvf jdk-8u211-linux-x64.tar -C /home
设置环境变量:
vim /etc/profile
添加如下内容:
export JAVA_HOME=/home/jdk1.8.0_211
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
生效:
source /etc/profile
验证:
java -version
复制到其他节点:
scp -r jdk1.8.0_211/ bigdata-2:/home
scp -r jdk1.8.0_211/ bigdata-3:/home
scp -r jdk1.8.0_211/ bigdata-4:/home
其他节点设置环境变量:
vim /etc/profile
添加如下内容:
export JAVA_HOME=/home/jdk1.8.0_211
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
生效:
source /etc/profile
验证:
java -version

2、hadoop部署:

下载安装介质:
https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.1.2/hadoop-3.1.2.tar.gz
解压缩:
tar -xvf hadoop-3.1.2.tar -C /home
设置环境变量:
vim /etc/profile
添加如下内容:
export HADOOP_HOME=/home/hadoop-3.1.2
export PATH=$PATH:$HADOOP_HOME/bin
生效:
source /etc/profile

创建存储目录:
mkdir -p /home/hadoop-3.1.2/data/tmp
mkdir -p /home/hadoop-3.1.2/data/namenode
mkdir -p /home/hadoop-3.1.2/data/datanode

修改配置文件:
进入hadoop配置目录:
cd /home/hadoop-3.1.2/etc/hadoop
执行:
vim hadoop-env.sh
添加如下内容:
export JAVA_HOME=/home/jdk1.8.0_211
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export HDFS_DATANODE_SECURE_USER=root
export YARN_NODEMANAGER_USER=root
执行:
vim core-site.xml
修改为内容:

fs.defaultFS
hdfs://bigdata-1.mid.neu.com:9000

hadoop.tmp.dir
/home/hadoop-3.1.2/data/tmp

执行:
vim hdfs-site.xml
修改为如下内容:

dfs.namenode.http-address
bigdata-1.mid.neu.com:50070

dfs.namenode.secondary.http-address
bigdata-1.mid.neu.com:50090

dfs.namenode.name.dir
/home/hadoop-3.1.2/data/namenode

dfs.replication
2

dfs.datanode.data.dir
/home/hadoop-3.1.2/data/datanode

dfs.permissions
false

执行:
vim mapred-site.xml
修改如下内容:

mapreduce.framework.name
yarn

mapreduce.application.classpath

/home/hadoop-3.1.2/etc/hadoop,
/home/hadoop-3.1.2/share/hadoop/common/,
/home/hadoop-3.1.2/share/hadoop/common/lib/
,
/home/hadoop-3.1.2/share/hadoop/hdfs/,
/home/hadoop-3.1.2/share/hadoop/hdfs/lib/
,
/home/hadoop-3.1.2/share/hadoop/mapreduce/,
/home/hadoop-3.1.2/share/hadoop/mapreduce/lib/
,
/home/hadoop-3.1.2/share/hadoop/yarn/,
/home/hadoop-3.1.2/share/hadoop/yarn/lib/

执行:
vim yarn-site.xml
修改如下内容:

yarn.nodemanager.aux-services
mapreduce_shuffle

yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandle

yarn.resourcemanager.resource-tracker.address
bigdata-1.mid.neu.com:8025

yarn.resourcemanager.scheduler.address
bigdata-1.mid.neu.com:8030

yarn.resourcemanager.address
bigdata-1.mid.neu.com:8040


执行:
vim /home/hadoop-3.1.2/sbin/start-dfs.sh
vim /home/hadoop-3.1.2/sbin/stop-dfs.sh
在文件顶端,添加如下内容:
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=root
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

执行:
vim /home/hadoop-3.1.2/sbin/start-yarn.sh
vim /home/hadoop-3.1.2/sbin/stop-yarn.sh
在文件顶端,添加如下内容:
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=root
YARN_NODEMANAGER_USER=root

执行:
vim /home/hadoop-3.1.2/etc/hadoop/workers
添加:
bigdata-2.mid.neu.com
bigdata-3.mid.neu.com
bigdata-4.mid.neu.com

复制hadoop目录到其它节点:
scp -r /home/hadoop-3.1.2/ 10.10.195.54:/home
scp -r /home/hadoop-3.1.2/ 10.10.195.55:/home
scp -r /home/hadoop-3.1.2/ 10.10.195.55:/home

配置其它节点环境变量:
vim /etc/profile
添加如下内容:
export HADOOP_HOME=/home/hadoop-3.1.2
export PATH=$PATH:$HADOOP_HOME/bin
生效:
source /etc/profile

hdfs格式化:
/home/hadoop-3.1.2/bin/hdfs namenode -format
观察是否包含以下内容:
common.Storage: Storage directory /home/hadoop-3.1.2/data/namenode has been successfully formatted.

启动hadoop:
/home/hadoop-3.1.2/sbin/start-all.sh

验证:
执行:
jps
观察内容:
主管理节点:
14633 ResourceManager
14985 Jps
13724 NameNode
14205 SecondaryNameNode

子节点:
30242 NodeManager
30499 Jps
29942 DataNode

3、hive部署

需要先安装mysql数据库。步骤如下:

卸载centos7原先自带的mariadb
rpm -qa|grep mariadb

rpm -e —nodeps mariadb-libs
rpm -e —nodeps mariadb-devel
rpm -e —nodeps mariadb-server
rpm -e —nodeps mariadb

按照顺序执行如下命令:
rpm -ivh mysql-community-common-5.7.17-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.17-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.17-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.17-1.el7.x86_64.rpm

启动mysql:
systemctl start mysqld.service

查找初始密码:
grep ‘temporary password’ /var/log/mysqld.log

登陆mysql:
mysql -uroot -pxxxxxxxxx

修改初始密码,并允许其他服务器登陆:
set password = password(‘Root,123’);
update mysql.user set host=”%” where Host=’localhost’ and user = “root”;
flush privileges;

创建hive数据库:
create database hive;

下载hive安装介质:
https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz

解压缩:
tar -xvf apache-hive-3.1.2-bin.tar -C /home
mv /home/apache-hive-3.1.2-bin /home/hive-3.1.2

复制mysql驱动到hive目录:
cp /home/software/mysql-connector-java-8.0.12.jar /home/hive-3.1.2/lib/

设置环境变量:
vim /etc/profile
添加如下内容:
export HIVE_HOME=/home/hive-3.1.2
export PATH=$PATH:$HIVE_HOME/bin
生效:
source /etc/profile

配置hive:
cp /home/hive-3.1.2/conf/hive-default.xml.template /home/hive-3.1.2/conf/hive-site.xml
vim /home/hive-3.1.2/conf/hive-site.xml
修改如下内容:

javax.jdo.option.ConnectionURL
jdbc:mysql://bigdata-1.mid.neu.com:3306/hive?useSSL=false

javax.jdo.option.ConnectionDriverName
com.mysql.cj.jdbc.Driver

javax.jdo.option.ConnectionUserName
root

javax.jdo.option.ConnectionPassword
Root,123

hive.metastore.schema.verification
false

配置日志输出:
cp /home/hive-3.1.2/conf/hive-log4j2.properties.template /home/hive-3.1.2/conf/hive-log4j2.properties

初始化hive数据库模型:
/home/hive-3.1.2/bin/schematool -dbType mysql -initSchema

验证:
执行hive命令进入命令行。
执行:
show databases;

启动hiveserver2和mateserver:
启动之前,需要向hdfs的core-site.xml文件追加如下内容:

hadoop.proxyuser.root.hosts
*

hadoop.proxyuser.root.groups
*

启动:
nohup hive —service metastore &
nohup hive —service hiveserver2 &

4、部署tez(#####待删除####)

下载安装介质:
https://mirrors.tuna.tsinghua.edu.cn/apache/tez/0.9.2/apache-tez-0.9.2-bin.tar.gz

解压缩:
tar -xvf apache-tez-0.9.2-bin.tar -C /home
mv /home/apache-tez-0.9.2-bin/ /home/tez-0.9.2

tez自带的hadoop包版本较低,为防止异常需要替换:

备份自带jar包:
mkdir /home/tez-0.9.2/lib/bak
mv /home/tez-0.9.2/lib/hadoop-mapreduce-client-common-2.7.2.jar /home/tez-0.9.2/lib/bak
mv /home/tez-0.9.2/lib/hadoop-mapreduce-client-core-2.7.2.jar /home/tez-0.9.2/lib/bak

复制现有hadoop版本jar包:
cp /home/hadoop-3.1.2/share/hadoop/mapreduce/hadoop-mapreduce-client-common-3.1.2.jar /home/tez-0.9.2/lib/
cp /home/hadoop-3.1.2/share/hadoop/mapreduce/hadoop-mapreduce-client-core-3.1.2.jar /home/tez-0.9.2/lib/

在hdfs上新建tez文件目录,并上传依赖文件:
hadoop fs -mkdir /user/tez
hadoop fs -put /home/tez-0.9.2/share/tez.tar.gz /user/tez/

添加tez配置文件:
vim /home/hadoop-3.1.2/etc/hadoop/tez-site.xml
添加如下内容:

  1. <property>
  2. <name>tez.lib.uris</name>
  3. <value>hdfs://bigdata-1.mid.neu.com:9000/user/tez/tez.tar.gz</value>
  4. </property>
  1. <property>
  2. <name>tez.container.max.java.heap.fraction</name>
  3. <value>0.2</value>
  4. </property>

将该文件复制到其它节点:
scp -r /home/hadoop-3.1.2/etc/hadoop/tez-site.xml 10.10.195.54:/home/hadoop-3.1.2/etc/hadoop/
scp -r /home/hadoop-3.1.2/etc/hadoop/tez-site.xml 10.10.195.55:/home/hadoop-3.1.2/etc/hadoop/
scp -r /home/hadoop-3.1.2/etc/hadoop/tez-site.xml 10.10.195.56:/home/hadoop-3.1.2/etc/hadoop/

配置tez环境变量:
vim /etc/profile
添加如下内容:
export TEZCONF_DIR=$HADOOP_HOME/etc/hadoop
export TEZ_HOME=/home/tez-0.9.2
export TEZ_JARS=$TEZ_HOME/
:$TEZHOME/lib/
export PATH=$PATH:$TEZ_HOME/bin
export HADOOP_CLASSPATH=$TEZ_CONF_DIR:$TEZ_JARS:$HADOOP_CLASSPATH
生效:
source /etc/profile

复制安装包到其它节点:
scp -r /home/tez-0.9.2 10.10.195.54:/home
scp -r /home/tez-0.9.2 10.10.195.55:/home
scp -r /home/tez-0.9.2 10.10.195.56:/home

配置其它节点环境变量:
vim /etc/profile
添加如下内容:
export TEZCONF_DIR=$HADOOP_HOME/etc/hadoop
export TEZ_HOME=/home/tez-0.9.2
export TEZ_JARS=$TEZ_HOME/
:$TEZHOME/lib/
export PATH=$PATH:$TEZ_HOME/bin
export HADOOP_CLASSPATH=$TEZ_CONF_DIR:$TEZ_JARS:$HADOOP_CLASSPATH
生效:
source /etc/profile

重启hadoop

4、tez部署

注意:由于tez的bin包中,默认使用的是2.7版本的hadoop,因此一定要手工编译自己需要版本的tez。同时,需要注意的是,编译过程需要联网。

编译过程(由于本机是macbook,故操作类似于linux操作)
下载待编译源码:
https://mirrors.tuna.tsinghua.edu.cn/apache/tez/0.9.2/apache-tez-0.9.2-src.tar.gz

编译整个过程,参考官方文档:
http://tez.apache.org/install.html

这里简要介绍一下linux下的编译过程:
手工编译需要的工具:
jdk1.8、maven3以上版本、protobuf-2.5.0

jdk1.8已安装好。

maven3安装:
下载链接:
https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz

解压缩:
tar -xvf apache-maven-3.6.2-bin.tar -C /home
mv /home/apache-maven-3.6.2/ /home/maven-3.6.2

配置环境变量:
vim /etc/profile
添加如下内容:
export MAVEN_HOME=/home/maven-3.6.2
export PATH=$PATH:$MAVEN_HOME/bin
生效:
source /etc/profile

安装protobuf-2.5.0:
下载链接:
https://github.com/google/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz

解压缩:
tar -xvf protobuf-2.5.0.tar -C /home
cd /home/protobuf-2.5.0
./configure —prefix=/home/protobuf
make
make check
make install
注意:make install 要用root用户

编译:
cd /home/tez-0.9.2
mvn clean package -DskipTests=true -Dmaven.javadoc.skip=true -Phadoop28 -Dhadoop.version=3.1.2

解压缩编译后的tez程序包:
mkdir /home/tez-0.9.2
tar -xvf /home/tez-0.9.2-src/tez-dist/target/tez-0.9.2-minimal.tar.gz -C /home/tez-0.9.2

在hdfs上新建tez文件目录,并上传依赖文件:
hadoop fs -mkdir /user/tez
hadoop fs -put /home/tez-0.9.2-src/tez-dist/target/tez-0.9.2.tar.gz /user/tez
hadoop fs -mv /user/tez/tez-0.9.2.tar.gz /user/tez/tez.tar.gz

添加tez配置文件:
vim /home/hadoop-3.1.2/etc/hadoop/tez-site.xml
添加如下内容:

  1. <property>
  2. <name>tez.lib.uris</name>
  3. <value>hdfs://bigdata-1.mid.neu.com:9000/user/tez/tez.tar.gz</value>
  4. </property>
  1. <property>
  2. <name>tez.container.max.java.heap.fraction</name>
  3. <value>0.2</value>
  4. </property>

将该文件复制到其它节点:
scp -r /home/hadoop-3.1.2/etc/hadoop/tez-site.xml 10.10.195.54:/home/hadoop-3.1.2/etc/hadoop/
scp -r /home/hadoop-3.1.2/etc/hadoop/tez-site.xml 10.10.195.55:/home/hadoop-3.1.2/etc/hadoop/
scp -r /home/hadoop-3.1.2/etc/hadoop/tez-site.xml 10.10.195.56:/home/hadoop-3.1.2/etc/hadoop/

配置tez环境变量:
vim /etc/profile
添加如下内容:
export TEZCONF_DIR=$HADOOP_HOME/etc/hadoop
export TEZ_HOME=/home/tez-0.9.2
export TEZ_JARS=$TEZ_HOME/
:$TEZHOME/lib/
export PATH=$PATH:$TEZ_HOME/bin
export HADOOP_CLASSPATH=$TEZ_CONF_DIR:$TEZ_JARS:$HADOOP_CLASSPATH
生效:
source /etc/profile

复制安装包到其它节点:
scp -r /home/tez-0.9.2 10.10.195.54:/home
scp -r /home/tez-0.9.2 10.10.195.55:/home
scp -r /home/tez-0.9.2 10.10.195.56:/home

配置其它节点环境变量:
vim /etc/profile
添加如下内容:
export TEZCONF_DIR=$HADOOP_HOME/etc/hadoop
export TEZ_HOME=/home/tez-0.9.2
export TEZ_JARS=$TEZ_HOME/
:$TEZHOME/lib/
export PATH=$PATH:$TEZ_HOME/bin
export HADOOP_CLASSPATH=$TEZ_CONF_DIR:$TEZ_JARS:$HADOOP_CLASSPATH
生效:
source /etc/profile

重启hadoop

问题:
org.apache.hadoop.yarn.exceptions.InvalidResourceRequestException: Invalid resource request, requested resource type=[memory-mb] < 0 or greater than maximum allowed allocation. Requested resource=, maximum allowed allocation=, please note that maximum allowed allocation is calculated by scheduler based on maximum resource of registered NodeManagers, which might be less than configured maximum allocation=

解决:
hive配置文件hive-site.xml中添加如下内容:

hive.tez.container.size
1024

或者在hive cli中设置set hive.tez.container.size=1024;

问题:
hive命令行日志输出内容较多,并提示
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/tez-0.9.2/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/hadoop-3.1.2/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

解决:
删除或者移走/home/tez-0.9.2/lib/slf4j-log4j12-1.7.10.jar。

5、zookeeper部署

下载安装介质:
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.5-bin.tar.gz

解压缩:
tar -xvf apache-zookeeper-3.5.5-bin.tar -C /home
mv apache-zookeeper-3.5.5-bin/ zookeeper-3.5.5

创建数据目录和日志目录:
mkdir /home/zookeeper-3.5.5/data
mkdir /home/zookeeper-3.5.5/logs

配置:
vim /home/zookeeper-3.5.5/conf/zoo.cfg
填入以下内容:
tickTime=2000
dataDir=/home/zookeeper-3.5.5/data
dataLogDir=/home/zookeeper-3.5.5/logs
clientPort=2181
initLimit=5
syncLimit=2
server.1=bigdata-1.mid.neu.com:2888:3888
server.2=bigdata-2.mid.neu.com:2888:3888
server.3=bigdata-3.mid.neu.com:2888:3888

复制到其它节点(zookeeper的节点必须是奇数):
scp -r /home/zookeeper-3.5.5 10.10.195.54:/home
scp -r /home/zookeeper-3.5.5 10.10.195.55:/home

配置zookeeper服务器id:
touch /home/zookeeper-3.5.5/data/myid
vim /home/zookeeper-3.5.5/data/myid
填入1(注意,参考配置文件server.1、server.2、server.3的配置主机,配置不同的id,如2,3)

启动:
各节点执行:
/home/zookeeper-3.5.5/bin/zkServer.sh start

检查状态:
/home/zookeeper-3.5.5/bin/zkServer.sh status

6、hbase部署:

下载安装介质:
http://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.1.6/hbase-2.1.6-bin.tar.gz

解压缩:
tar -xvf hbase-2.1.6-bin.tar -C /home

配置环境变量:
vim /etc/profile
添加如下内容:
export HBASE_HOME=/home/hbase-2.1.6
export PATH=$PATH:$HBASE_HOME/bin
生效:
source /etc/profile

配置hbase:
vim /home/hbase-2.1.6/conf/hbase-env.sh
添加如下内容:
export JAVA_HOME=/home/jdk1.8.0_211
export HBASE_MANAGES_ZK=false

vim /home/hbase-2.1.6/conf/hbase-site.xml
添加如下内容:

hbase.rootdir
hdfs://bigdata-1.mid.neu.com:9000/hbase

hbase.cluster.distributed
true

hbase.zookeeper.property.clientPort
2181

hbase.zookeeper.quorum
bigdata-1.mid.neu.com,bigdata-2.mid.neu.com,bigdata-3.mid.neu.com

vim /home/hbase-2.1.6/conf/regionservers
修改为如下内容:
bigdata-2.mid.neu.com
bigdata-3.mid.neu.com
bigdata-4.mid.neu.com

复制到其它节点:
scp -r /home/hbase-2.1.6 10.10.195.54:/home
scp -r /home/hbase-2.1.6 10.10.195.55:/home
scp -r /home/hbase-2.1.6 10.10.195.56:/home

配置其它节点环境变量:
vim /etc/profile
添加如下内容:
export HBASE_HOME=/home/hbase-2.1.6
export PATH=$PATH:$HBASE_HOME/bin
生效:
source /etc/profile

启动:
/home/hbase-2.1.6/bin/start-hbase.sh

错误:Caused by: java.lang.NoClassDefFoundError: org/apache/htrace/SamplerBuilder
解决:
cp /home/hbase-2.1.6/lib/client-facing-thirdparty/htrace-core-3.1.0-incubating.jar /home/hbase-2.1.6/lib/

错误:
java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper operation during component failures, but the underlying filesystem does not support doing so. Please check the config value of ‘hbase.procedure.store.wal.use.hsync’ to set the desired level of robustness and ensure the config value of ‘hbase.wal.dir’ points to a FileSystem mount that can provide it.
解决:
hbase-site.xml中增加如下配置:

hbase.unsafe.stream.capability.enforce
false

验证:
jps查看hmaster进程和hregionserver进程。

7、sqoop部署:

下载安装介质:
https://mirrors.tuna.tsinghua.edu.cn/apache/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz

解压缩:
tar -xvf sqoop-1.4.7.binhadoop-2.6.0.tar -C /home
mv sqoop-1.4.7.bin
hadoop-2.6.0/ sqoop-1.4.7

配置环境变量:
vim /etc/profile
添加如下内容:
export SQOOP_HOME=/home/sqoop-1.4.7
export PATH=$PATH:$SQOOP_HOME/bin
生效:
source /etc/profile

配置:
cp /home/sqoop-1.4.7/conf/sqoop-env-template.sh /home/sqoop-1.4.7/conf/sqoop-env.sh

vim /home/sqoop-1.4.7/conf/sqoop-env.sh
添加如下内容:
export HADOOP_COMMON_HOME=/home/hadoop-3.1.2
export HADOOP_MAPRED_HOME=/home/hadoop-3.1.2
export HBASE_HOME=/home/hbase-2.1.6
export HIVE_HOME=/home/hive-3.1.2
export ZOOCFGDIR=/home/zookeeper-3.5.5

复制驱动:
cp /home/software/mysql-connector-java-8.0.12.jar /home/sqoop-1.4.7/lib/

连接测试:
sqoop version
sqoop list-databases —connect jdbc:mysql://bigdata-1.mid.neu.com:3306/hive?useSSL=false —username root —password Root,123

8、hive配置llap

安装apache slider。

下载安装介质:
https://archive.apache.org/dist/incubator/slider/0.92.0-incubating/apache-slider-0.92.0-incubating-source-release.tar.gz

解压缩:
tar -xvf apache-slider-0.92.0-incubating-source-release.tar

依然需要联网编译。
mvn clean package -DskipTests=true -Dmaven.javadoc.skip=true -Dhadoop.version=3.1.2

解压缩:
tar -xvf /home/software/slider-0.92.0-incubating-all.tar.gz -C /home
mv /home/slider-0.92.0-incubating/ /home/slider-0.92.0

配置环境变量:
vim /etc/profile
添加如下内容:
export SLIDER_HOME=/home/slider-0.92.0
export PATH=$PATH:$SLIDER_HOME/bin
生效:
source /etc/profile

验证:
slider version

配置slider:
vim /home/slider-0.92.0/conf/slider-client.xml
添加如下内容:

hadoop.registry.zk.quorum
bigdata-1.mid.neu.com:2181,bigdata-2.mid.neu.com:2181,bigdata-3.mid.neu.com:2181

yarn.resourcemanager.address
bigdata-1.mid.neu.com:8032

验证:
slider list

LLAP安装:
配置hive-site.xml
添加如下内容:

hive.execution.mode
llap

hive.llap.execution.mode
all

hive.llap.daemon.service.hosts
@llap_service

hive.zookeeper.quorum
bigdata-1.mid.neu.com,bigdata-2.mid.neu.com,bigdata-3.mid.neu.com

hive.zookeeper.client.port
2181

hive.llap.daemon.memory.per.instance.mb
4096

hive.llap.daemon.num.executors
2

生成脚本:
hive —service llap —name llap_service —instances 4 —size 4g
hive —service llap —name llap_service —instances 4 —size 4g —loglevel DEBUG —executors 4 —iothreads 4 —args “ -XX:+UseG1GC -XX:+ResizeTLAB -XX:+UseNUMA -XX:-ResizePLAB”
会在当前目录下生成脚本目录。

运行脚本:

  • ./llap-yarn-29Sep2019/run.sh