一、服务器基础配置(所有服务器节点)
 
1、解除 Linux 系统限制
执行:
vim /etc/security/limits.conf
添加如下内容:
* soft noproc 65535
* hard noproc 65535
* soft nofile 65535
* hard nofile 65535
 
执行:
vim /etc/profile
添加如下内容:
ulimit -u 65535
ulimit -n 65535
 
执行:
source /etc/profile
 
2、修改主机名和主机映射
永久修改主机名:
hostnamectl set-hostname bigdata-1.mid.neu.com
hostnamectl set-hostname bigdata-2.mid.neu.com
hostnamectl set-hostname bigdata-3.mid.neu.com
hostnamectl set-hostname bigdata-4.mid.neu.com
临时修改主机名:
hostname bigdata-1.mid.neu.com
hostname bigdata-2.mid.neu.com
hostname bigdata-3.mid.neu.com
hostname bigdata-4.mid.neu.com
 
执行:
vim /etc/hosts
添加如下内容:
10.10.195.53 bigdata-1.mid.neu.com bigdata-1
10.10.195.54 bigdata-2.mid.neu.com bigdata-2
10.10.195.55 bigdata-3.mid.neu.com bigdata-3
10.10.195.56 bigdata-4.mid.neu.com bigdata-4
测试:
ping bigdata-1
ping bigdata-2
ping bigdata-3
ping bigdata-4
 
3、关闭防火墙和selinux
a)关闭防火墙:
查看防火墙状态:
firewall-cmd --state
临时停止firewall:
systemctl stop firewalld.service
永久禁止开启启动firewall:
systemctl disable firewalld.service
 
b)关闭SELinux
查看:
getenforce 或者 /usr/sbin/sestatus -v
临时禁用:
setenforce 0
永久禁用:
执行:
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
修改为内容:
<configuration>
<!-- 指定namenode通信地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata-1.mid.neu.com:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop-3.1.2/data/tmp</value>
</property>
</configuration>
执行:
vim hdfs-site.xml
修改为如下内容:
<configuration>
<!-- 设置namenode的http通讯地址 -->
<property>
<name>dfs.namenode.http-address</name>
<value>bigdata-1.mid.neu.com:50070</value>
</property>
<!-- 设置secondarynamenode的http通讯地址 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>bigdata-1.mid.neu.com:50090</value>
</property>
<!-- 设置namenode存放的路径 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop-3.1.2/data/namenode</value>
</property>
<!-- 设置hdfs副本数量 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!-- 设置datanode存放的路径 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop-3.1.2/data/datanode</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
执行:
vim mapred-site.xml
修改如下内容:
<configuration>
<!-- 通知框架MR使用YARN -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>
/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/*
</value>
</property>
</configuration>
执行:
vim yarn-site.xml
修改如下内容:
<configuration>
<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.ShuffleHandle</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>bigdata-1.mid.neu.com:8025</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>bigdata-1.mid.neu.com:8030</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>bigdata-1.mid.neu.com:8040</value>
</property>
</configuration>
 
----
执行:
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
修改如下内容:
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://bigdata-1.mid.neu.com:3306/hive?useSSL=false</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>Root,123</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
</configuration>
 
配置日志输出:
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文件追加如下内容:
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
 
启动:
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
添加如下内容:
<configuration>
<!--指定tez依赖的文件在hdfs上的位置-->
<property>
<name>tez.lib.uris</name>
<value>hdfs://bigdata-1.mid.neu.com:9000/user/tez/tez.tar.gz</value>
</property>
<!--指定tez所使用的最大的java内存比例-->
<property>
<name>tez.container.max.java.heap.fraction</name>
<value>0.2</value>
</property>
</configuration>
 
将该文件复制到其它节点:
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 TEZ_CONF_DIR=$HADOOP_HOME/etc/hadoop
export TEZ_HOME=/home/tez-0.9.2
export TEZ_JARS=$TEZ_HOME/*:$TEZ_HOME/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 TEZ_CONF_DIR=$HADOOP_HOME/etc/hadoop
export TEZ_HOME=/home/tez-0.9.2
export TEZ_JARS=$TEZ_HOME/*:$TEZ_HOME/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
添加如下内容:
<configuration>
<!--指定tez依赖的文件在hdfs上的位置-->
<property>
<name>tez.lib.uris</name>
<value>hdfs://bigdata-1.mid.neu.com:9000/user/tez/tez.tar.gz</value>
</property>
<!--指定tez所使用的最大的java内存比例-->
<property>
<name>tez.container.max.java.heap.fraction</name>
<value>0.2</value>
</property>
</configuration>
 
将该文件复制到其它节点:
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 TEZ_CONF_DIR=$HADOOP_HOME/etc/hadoop
export TEZ_HOME=/home/tez-0.9.2
export TEZ_JARS=$TEZ_HOME/*:$TEZ_HOME/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 TEZ_CONF_DIR=$HADOOP_HOME/etc/hadoop
export TEZ_HOME=/home/tez-0.9.2
export TEZ_JARS=$TEZ_HOME/*:$TEZ_HOME/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=<memory:-1, vCores:1>, maximum allowed allocation=<memory:8192, vCores:4>, 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=<memory:8192, vCores:4>
 
解决:
hive配置文件hive-site.xml中添加如下内容:
<property>
<name>hive.tez.container.size</name>
<value>1024</value>
</property>
或者在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
添加如下内容:
<property>
<name>hbase.rootdir</name>
<value>hdfs://bigdata-1.mid.neu.com:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>bigdata-1.mid.neu.com,bigdata-2.mid.neu.com,bigdata-3.mid.neu.com</value>
</property>
 
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中增加如下配置:
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
 
验证:
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.bin__hadoop-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
添加如下内容:
<property>
<name>hadoop.registry.zk.quorum</name>
<value>bigdata-1.mid.neu.com:2181,bigdata-2.mid.neu.com:2181,bigdata-3.mid.neu.com:2181</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>bigdata-1.mid.neu.com:8032</value>
</property>
 
验证:
slider list
 
LLAP安装:
配置hive-site.xml
添加如下内容:
<property>
<name>hive.execution.mode</name>
<value>llap</value>
</property>
<property>
<name>hive.llap.execution.mode</name>
<value>all</value>
</property>
<property>
<name>hive.llap.daemon.service.hosts</name>
<value>@llap_service</value>
</property>
<property>
<name>hive.zookeeper.quorum</name>
<value>bigdata-1.mid.neu.com,bigdata-2.mid.neu.com,bigdata-3.mid.neu.com</value>
</property>
<property>
<name>hive.zookeeper.client.port</name>
<value>2181</value>
</property>
<property>
<name>hive.llap.daemon.memory.per.instance.mb</name>
<value>4096</value>
</property>
<property>
<name>hive.llap.daemon.num.executors</name>
<value>2</value>
</property>
 
生成脚本:
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
 
posted on 2020-05-20 22:29  幻世星辰  阅读(205)  评论(0)    收藏  举报