iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >hadoop-ha+zookeeper+hbase+hive+sqoop+flume+kafka+spark集群安装
  • 739
分享到

hadoop-ha+zookeeper+hbase+hive+sqoop+flume+kafka+spark集群安装

摘要

创建3台虚拟机 主机为桌面版 其他为迷你版本 ******************************常用命令、进程名称****************************启动集群命令: start-all.sh

hadoop-ha+zookeeper+hbase+hive+sqoop+flume+kafka+spark集群安装

创建3台虚拟机 主机为桌面版 其他为迷你版本

******************************常用命令、进程名称****************************
启动集群命令: start-all.sh
启动ZooKeeper: zkServer.sh start
启动journalnodehadoop-daemon.sh start journalnode
启动namenode: hadoop-daemon.sh --script hdfs start namenode
启动zkfc: hadoop-daemon.sh --script hdfs start zkfc
启动datanode: hadoop-daemon.sh --script hdfs start datanode

手动failover: hdfs haadmin -failover 主机名1 主机名2
查看namenode状态:hdfs haadmin -getServiceState nn1
离开hadoop安全模式:hadoop dfsadmin -safemode leave
获取当前hadoop运行状态: hadoop dfsadmin -report
启动 Hadoophistoryserver mr-jobhistory-daemon.sh start historyserver
防火墙关闭: service iptables stop & chkconfig iptables off
启动NTP服务: service ntpd start & chkconfig ntpd on
ldd命令查看依赖库

****************************************************************************

========================配置网络=====================
1. 查看网络接口状态 ifconfig

编辑eth0网卡(善用补全键 Table)
vi /etc/sysconfig/network-scripts/ifcfg-eth0

注意查看自己虚拟机的网络编辑器中的VMnet8给予的子网IP
对照子网IP进行设置

shift+G 到最后一行 O 另取一行开始编辑
写入 :
IPADDR=192.168.80.141
GATEWAY=192.168.80.2
NETMASK=255.255.255.0
DNS1=192.168.80.2

修改:
BOOTPROTO=static
ONBOOT=yes

重启网卡
service network restart
------------------------------------eg------------------------------------------------
[root@test1 ~]# service network restart
正在关闭接口 eth0: 设备状态:3 (断开连接)
[确定]
关闭环回接口: [确定]
弹出环回接口: [确定]
弹出界面 eth0: 活跃连接状态:已激活
活跃连接路径:/org/freedesktop/NetworkManager/ActiveConnection/1
[确定]
---------------------------------------------------------------------------------------

检测网络时候接通
ping 8.8.8.8

-------------------------------------eg----------------------------------------------
[root@test1 ~]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=12 ttl=128 time=56.4 ms
64 bytes from 8.8.8.8: icmp_seq=13 ttl=128 time=24.4 ms
64 bytes from 8.8.8.8: icmp_seq=14 ttl=128 time=22.9 ms
----------------------------------------------------------------------------------------


5.修改 hosts文件(此文件是机器识别的身份证号码)
vi /etc/hosts
在文件内容后添加
IP + 主机名(根据自己的实际情况改)
192.168.245.221 test1
192.168.245.222 test2
192.168.245.223 test3
192.168.245.224 test4

可以通过 ping 命令测试


===========================ssh免密配置================================
1.在每一台进行安装ssh客户端(需要良好的网络环境否则会显示镜像错误)
yum install openssh-clients
·················································································错误解决方法················································································
检查是否能上网:ping www.baidu.com

如果显示没有连接的话,就说明没网,也就无法使用yum 命令安装。

ping通了的话,还是用不了yum命令,大部分原因是yum镜像有问题,下载一个更新。

在安装完Centos后一般需要修改yum源,这样在安装更新rpm包时速度比较快。国内比较快的有163源、sohu源。以下是以163源为例。

cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.backup
wget Http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo CentOS-Base.repo
yum clean all
最后在使用yum 就可以了。
·······················································································································································································
2. 生成公钥私钥对(最好在每一台,嫌麻烦可以只在主机配置)
ssh-keygen

复制密匙(最好每一台相互设置,嫌麻烦可只在主机设置)
ssh-copy-id 机器名称


==============================时间同步====================================
采用的是同步上海时区的时间

下载时间同步模块
yum -y install ntpdate

连接远程服务器
ntpdate -u time1.aliyun.com

修改文件
ntpdate -u ntp.api.bz

date 查看系统时间

hwclock --show 查看硬件时间

hwclock -w 永久保存

date 查看 成功

========================================================================


===========================安装jdk、Hadoop、zookeeper======================
【安装JDK以及其他HADOOP以及组件需要注意环境配置里面文件的位置名称等等】
1.采用winscp或者rz、xshell等方式上传安装包到/home目录

创建文件夹存放解压文件
mkdir /home/java mkdir /home/hadoop mkdir /home/zk

解压安装包(注意为tar.gz结尾)
tar -zxvf jdk-7u79-linux-x64.tar.gz -C /home/java
tar -zxvf hadoop-2.6.4.tar.gz -C /home/hadoop
tar -xzvf zookeeper-3.4.6.tar.gz -C /home

修改文件名(此步骤必须进入解压文件存放的文件夹下即 /home/java 、/home/zookeeper-3.4.6和 /home/hadoop 目录 )
mv jdk1.7.0_79 jdk mv hadoop-2.6.4 hadoop mv zookeeper-3.4.6 zk

配置环境变量
vi /etc/profile
写入jdk环境变量:
export JAVA_HOME=/home/java/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

hadoop环境变量:
export HADOOP_HOME=/home/hadoop/hadoop
export PATH=.:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH

export HADOOP_LOG_DIR=/home/hadoop/hadoop/logs
export YARN_LOG_DIR=$HADOOP_LOG_DIR


zookeeper环境变量
export ZOOKEEPER_HOME=/home/zk/zk
export PATH=$PATH:$ZOOKEEPER_HOME/bin

运行 source /etc/profile (此步骤不会有提示 有提示就错了!!!!)

--------修改zookeeper配置文件--------------------------
创建文件夹存放所需其他缓存文件(!!在每一台上面!!)
mkdir /tmp/zookeeper -p
mkdir /tmp/logs/zookeeper -p
cd /tmp/zookeeper vi myid (新文件 这个文件写入机器的ID 1~5依次类推)
第一台:1
·······
·······
第五台:5

cd $ZOOKEEPER_HOME/conf (进入配置文件目录)
cp zoo_sample.cfg zoo.cfg (拷贝配置文件模板)
写入:
server.1=test1:2888:3888
server.2=test2:2888:3888
server.3=test3:2888:3888
server.4=test4:2888:3888
server.5=test5:2888:3888

cd $ZOOKEEPER_HOME/bin/zkEnv.sh
写入:
ZOO_LOG_DIR=/tmp/logs/zookeeper

设置zookeeper自启(避免多台机器要开启 )
直接修改/etc/rc.d/rc.local文件
vi /etc/rc.d/rc.local
写入:
export JAVA_HOME=/home/java/jdk #jdk安装目录
/home/zk/zk/bin/zkServer.sh start #zookeeper启动命令
---------------------------------------------------------

---------------修改hadoop配置文件-------------------------
(针对Hadoop-Ha配置 5台机器 需要配置3台请见老文件)
【若主机名不同记得修改,否则会导致错误】
【记得文件中的起始标符号以及结束的标语】
创建需要的文件夹
mkdir -p /var/log/hadoop/tmp
mkdir -p /data/hadoop/yarn/local
mkdir -p /data/tmp/log
mkdir -p /home/hadoop/hadoop/tmp/hdfs/name
mkdir -p /home/hadoop/hadoop/tmp/hdfs/data

cd $HADOOP_HOME/etc/hadoop (进入hadoop配置文件所在目录)

vi core-site.xml

<configuration>
        <property>
                  <name>fs.defaultFSname>
                  <value>hdfs://myclustervalue>
        property>
        <property>
                   <name>hadoop.tmp.dirname>
                  <value>/var/log/hadoop/tmpvalue>
        property>
         <property>
                <name>ha.zookeeper.session-timeout.msname>
                <value>30000value>
         property>
configuration>

vi hadoop-env.sh
export JAVA_HOME=/home/java/jdk

vi yarn-env.sh
export JAVA_HOME=/home/java/jdk

vi mapred-site.xml
cp mapred-site.xml.template mapred-site.xml (复制模板编辑)

<configuration>
        <property>
                <name>mapReduce.framework.namename>
                <value>yarnvalue>
        property>
        <property>
                <name>mapreduce.jobhistory.addressname>
                <value>test1:10020value>
        property>
        <property>
                <name>mapreduce.jobhistory.WEBapp.addressname>
                <value>test1:19888value>
        property>
configuration>

vi yarn-site.xml

<configuration>


<property>
    <name>yarn.resourcemanager.hostnamename>
    <value>test1value>
property>
<property>
    <name>yarn.resourcemanager.addressname>
    <value>${yarn.resourcemanager.hostname}:8032value>
property>
<property>
    <name>yarn.resourcemanager.scheduler.addressname>
    <value>${yarn.resourcemanager.hostname}:8030value>
property>
<property>
    <name>yarn.resourcemanager.webapp.addressname>
    <value>${yarn.resourcemanager.hostname}:8088value>
property>
<property>
    <name>yarn.resourcemanager.webapp.https.addressname>
    <value>${yarn.resourcemanager.hostname}:8090value>
property>
<property>
    <name>yarn.resourcemanager.resource-tracker.addressname>
    <value>${yarn.resourcemanager.hostname}:8031value>
property>
<property>
    <name>yarn.resourcemanager.admin.addressname>
    <value>${yarn.resourcemanager.hostname}:8033value>
property>
<property>
    <name>yarn.resourcemanager.local-dirsname>
    <value>/data/hadoop/yarn/localvalue>
property>
<property>
    <name>yarn.log-aggregation-enablename>
    <value>truevalue>
property>
<property>
    <name>yarn.resourcemanager.remote-app-log-dirname>
    <value>/data/tmp/logsvalue>
property>
<property>
    <name>yarn.log.server.urlname>
    <value>http://test1:19888/jobhistory/logs/value>
    <description>URL for job history serverdescription>
property>
<property>
    <name>yarn.nodemanager.vmem-check-enabledname>
    <value>falsevalue>
property>
<property>
    <name>yarn.nodemanager.aux-servicesname>
    <value>mapreduce_shufflevalue>
property>
<property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.classname>
    <value>org.apache.hadoop.mapred.ShuffleHandlervalue>
property>
<property>
    <name>yarn.nodemanager.resource.memory-mbname>
    <value>2048value>
property>
<property>
    <name>yarn.scheduler.minimum-allocation-mbname>
    <value>512value>
property>
<property>
    <name>yarn.scheduler.maximum-allocation-mbname>
    <value>4096value>
property>
<property>
    <name>mapreduce.map.memory.mbname>
    <value>2048value>
property>
<property>
    <name>mapreduce.reduce.memory.mbname>
    <value>2048value>
property>
<property>
    <name>yarn.nodemanager.resource.cpu-vcoresname>
    <value>1value>
property>
configuration>

vi slaves(写入从机名称)
test3
test4
test5

vi hdfs-site.xml

<configuration>
<property>
        <name>dfs.namenode.name.dirname>
        <value>file:///home/hadoop/hadoop/tmp/hdfs/namevalue>
property>
<property>
        <name>dfs.datanode.data.dirname>
        <value>file:///home/hadoop/hadoop/tmp/hdfs/datavalue>
property>
<property>
        <name>dfs.namenode.secondary.http-addressname>
        <value>test1:50090value>
property>
<property>
        <name>dfs.replicationname>
        <value>2value>  #文件副本数目
property>
<property>
        <name>dfs.qjournal.start-segment.timeout.msname>
        <value>60000value>
property>
<property>
        <name>dfs.nameservicesname>
        <value>myclustervalue>
property>
<property>
        <name>dfs.ha.namenodes.myclustername>
        <value>test1,test2value>
property>
<property>
        <name>dfs.namenode.rpc-address.mycluster.test1name>
        <value>test1:8020value>
property>
<property>
        <name>dfs.namenode.rpc-address.mycluster.test2name>
        <value>test2:8020value>
property>
<property>
        <name>dfs.namenode.http-address.mycluster.test1name>
        <value>test1:50070value>
property>
<property>
        <name>dfs.namenode.http-address.mycluster.test2name>
        <value>test2:50070value>
property>
<property>
        <name>dfs.namenode.shared.edits.dirname>
        <value>qjournal://test1:8485;test2:8485;test3:8485;test4:8485;test5:8485/myclustervalue>
property>
<property>
        <name>dfs.client.failover.proxy.provider.myclustername>
        <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvidervalue>
property>
<property>
        <name>dfs.ha.fencing.methodsname>
        <value>sshfencevalue>
property>
<property>
        <name>dfs.ha.fencing.ssh.private-key-filesname>
        <value>/root/.ssh/id_rsavalue>
property>
<property>
        <name>dfs.journalnode.edits.dirname>
        <value>/tmp/jnvalue>
property>
<property>
        <name>dfs.ha.automatic-failover.enabledname>
        <value>truevalue>
property>
<property>
        <name>ha.zookeeper.quorumname>
        <value>test1:2181,test2:2181,test3:2181,test4:2181,test5:2181value>
property>
configuration>

-------------------------------------------------------------------------------------------------------------------------

=========================拷贝安装文件夹、配置文件============================
命令:scp -r +原目标文件位置 机器名:存放目标文件位置
eg:
scp -r /home test2:/
scp -r /etc/profile test2:/etc/profile (每一台拷贝过去后记得刷新 source /etc/profile )
scp -r /etc/hosts test2:/etc/hosts
scp -r /etc/rc.d/rc.local test2:/etc/rc.d/rc.local

====================================================================

=======================================================
创建文件夹在每一台上面 mkdir /data/hadoop/hdfs/jn -p

在五台机上运行 hadoop-daemon.sh start journalnode
删除匹配集群ID文件(遇到datanode启动不了可以删除这两个文件之后再格式化)
rm -rf $HADOOP_HOME/tmp/hdfs/name/current
rm -rf $HADOOP_HOME/tmp/hdfs/data/current


关闭防火墙:每一台 service iptables stop & chkconfig iptables off (连续输入两次)

格式化namenode
test1上面: hdfs namenode -fORMat
test1上面: hadoop-daemon.sh start namenode

test2: hdfs namenode -bootstrapStandby

初始化journalnode
test1: hadoop-daemon.sh stop namenode
test1: hdfs namenode -initializeSharedEdits

=======================以上步骤为hadoop集群格式化===========================

 

在每一台机器启动zookeeper
zkServer.sh start


初始化ZooKeeper集群
hdfs zkfc -formatZK

主机进入zkClient 【查看是否有 hadoop-ha 没有就没初始化成功 要检查每一台要创建的文件夹、配置文件是否弄好】
[root@test1 ~]#
eg:
[zk: localhost:2181(CONNECTED) 0] 即为进入zk客户端 输入 ls /

查看是否有 hadoop-ha 如若没有即为每成功!!!!!

启动hadoop-ha集群顺序
zookeeper(这里我们设置了开机自启,需要重启后生效: reboot)----journalnode-----namenode------zkfc------datanode

每一台重启后步骤完成 start-all.sh 即可启动集群
输入 hadoop dfsadmin -report 可获取集群状况 否则自动切换主机没成功

======================================================================


================================Hive配置===============================
hive安装配置需要开启集群且集群可以正常使用
Mysql安装
1. 查看电脑中已安装的mysql版本:
rpm -qa | grep mysql

选择卸载,或者保留当前前版本
卸载: rpm -e xxxxxxxxxxxxxx(mysql版本) --nodeps (--nodeps代表强制卸载)
例: rpm -e mysql-libs-5.1.73-8.el6_8.x86_64 --nodeps
或者: rpm -e --nodeps mysql

解压传过来的mysql.tar包
cd /home
tar -zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz -C /home

4. 安装mysql服务
yum install mysql-server

安装开发库以及包含文件
yum install mysql-devel

开启mysqld服务
service mysqld start

登录mysq进行设置
mysql -u root -p (初始密码为空)
设置密码:
set passWord for "root"@"localhost"=password("123456");
set password for "root"@"%"=password("123456");
set password for "root"@"test1"=password("123456");

开放远程连接:
grant all privileges on *.* to root@"%" identified by "root" with grant option;

让设置立即生效:
flush privileges

创建数据库便于hive使用
create database hivedb (名字自己修改)

新建文件夹,mkdir /home/hive

上传Hive安装文件压缩包

解压hive安装文件压缩文件

tar -zxvf apache-hive-2.1.1-bin.tar.gz -C /home/

重命名hive解压文件
mv apache-hive-2.1.1 hive

配置环境变量:
vi /etc/profile

在文件末尾增加一段(hive包含bin文件的目录)
export HIVE_HOME=/home/hive/
export PATH=${HIVE_HOME}/bin:$PATH

让环境变量生效
source /etc/profile

进入Hive的配置文件目录
cd /home/hive/hive/conf
修改hive-env.sh
cp hive-env.sh.tamplate hive-env.sh
将以下内容写到hive-env.sh中
export JAVA_HOME=/home/java/jdk
export HADOOP_HOME=/home/hadoop/hadoop
export HIVE_HOME=/home/hive/

新建hive-site.xml文件
vi hive-site.xml
写入

<configuration>
        <property>
                <name>javax.jdo.option.ConnectionURLname>
                <value>jdbc:mysql://192.168.80.131:3306/hahive?createDatabaseIfNotExist=truevalue>#(本机ip以及数据库名称)
        property>

        <property>
                <name>javax.jdo.option.ConnectionDriverNamename>
                <value>com.mysql.jdbc.Drivervalue>#(驱动)
        property>

        <property>
                <name>javax.jdo.option.ConnectionUserNamename>
                <value>rootvalue>#(数据库账户)
        property>

        <property>
                <name>javax.jdo.option.ConnectionPasswordname>
                <value>123456value>#(密码)
        property>

        <property>
                <name>hive.metastore.schema.verificationname>
                <value>falsevalue>
        property>
configuration>

将mysql驱动上传到虚拟机
拷贝驱动到 /home/hive/lib
cp mysqlxxx--xx------ /home/hive/lib

初始化Hive
schematool -initSchema -dbType mysql (若报错使用 schematool -dbType mysql -initSchema )

(开启mysqld服务)运行hive测试(登录mysql命令mysql -uroot -p123456)

====================================================================

============================HBase安装部署=============================
HBASE需要在完整Hadoop-Ha下进行除Hive外 【时间同步必须进行检验】
1.在官网下载HBASE安装包,并上传到虚拟机 、home

解压安装包

tar -zxvf hbase-xxxxxxxxxx -C /home
mv /home/hbasexxxxxxx /home/hbase

编辑环境变量
vi /etc/profile
写入:
export HBASE_HOME=/home/hbase
export PATH=$PATH:$HBASE_HOME/bin

编辑HBASE配置文件 进入HBASE安装目录 cd /home/hbase/conf

vi hbase-env.sh
写入:
export JAVA_HOME=/home/java/jdk/
export HBASE_CLASSPATH=/home/hadoop/hadoop/etc/hadoop
export HBASE_LOG_DIR=${HBASE_HOME}/logs
export HBASE_MANAGES_ZK=false

vi hbase-site.xml (注意主机名)

<property>
                <name>hbase.rootdirname>
                <value>hdfs://mycluster/hbasevalue>
        property>
        <property>
                <name>hbase.cluster.distributedname>
                <value>truevalue>
        property>
        <property>
                <name>hbase.zookeeper.quorumname>
                <value>test1,test2,test3,test4,test5value>
        property>
        <property>
                <name>dfs.replicationname>
                <value>2value>
        property>

vi regionservers (加入从机)

test3
test4
test5

拷贝到其他机器(每一台)
scp -r /home/hbase test2:/home/
scp -r /etc/profile test2:/etc/profile

HBASE常用命令:
启动: hbase-daemon.sh start master (第一台)
其他启动: hbase-daemon.sh start regionserver
进入shell: hbase shell

---------------------------------------------ERROR---------------------------------------------------------
假如启动 hbase shell报错:
[ERROR] Terminal initialization failed; falling back to unsupported
...............................
Unhandled Java exception: java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected

是 /home/hadoop/hadoop/share/hadoop/yarn/lib/jline-0.9.94.jar jar包版本太低
解决方案:

删除原本的jar包 rm -rf /home/hadoop/hadoop/share/hadoop/yarn/lib/jline-0.9.94.jar

拷贝新jar包 cp /home/hive/lib/jline-2.12.jar /home/hadoop/hadoop/share/hadoop/yarn/lib/

-------------------------------------------------------------------------------------------------------------
========================HBASE shell常用命令==============================
1. 版本获取: version
hbase(main):005:0> version
2.0.6, rd65cccb5fda039217954a558c65bda423e0d6df3, Wed Aug 14 15:44:48 UTC 2019
Took 0.0003 seconds
版本号 校验码 发布时间 运行命令的时间

状态获取: status
hbase(main):006:0> status
1 active master, 0 backup masters, 4 servers, 0 dead, 0.7500 average load
Took 0.0094 seconds

帮助: help

分组:
Group name: general(普通)
Commands: processlist, status, table_help, version, whoami

Group name: ddl
Commands: alter, alter_async, alter_status, create, describe, disable, disable_all, drop, drop_all, enable, enable_all, exists, get_table, is_disabled, is_enabled, list, list_regions, locate_region, show_filters
Group name: dml
Commands: append, count, delete, deleteall, get, get_counter, get_splits, incr, put, scan, truncate, truncate_preserve

 

建立表格:create "表名","列族名1","列族名2".........
hbase(main):009:0> create "table1","Nmae family","Otherfamily

插入数据:put "表名称", "行名称", "列名称:xxx", "值" ,【时间戳】
hbase(main):021:0> put "10-12","row1","l1:lastname","kai"

===================================================================
*********************************常用命令、进程名称**********************************
启动集群命令: start-all.sh
启动zookeeper: zkServer.sh start
启动journalnode: hadoop-daemon.sh start journalnode
启动namenode: hadoop-daemon.sh --script hdfs start namenode
启动zkfc: hadoop-daemon.sh --script hdfs start zkfc
启动datanode: hadoop-daemon.sh --script hdfs start datanode

手动failover: hdfs haadmin -failover 主机名1 主机名2
离开hadoop安全模式:hadoop dfsadmin -safemode leave
获取当前hadoop运行状态: hadoop dfsadmin -report
启动 Hadoophistoryserver mr-jobhistory-daemon.sh start historyserver
防火墙关闭: service iptables stop & chkconfig iptables off
启动NTP服务: service ntpd start & chkconfig ntpd on

 

****************************************************************************

============================Sqoop安装部署=============================

安装Sqoop的前提是已经具备Java和Hadoop的环境。
3.1、下载并解压
1) 最新版下载地址:http://mirrors.hust.edu.cn/apache/sqoop/1.4.7/
2) 上传安装包sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz到虚拟机中,如我的上传目录是:/home
3) 解压sqoop安装包到指定目录,如:
tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /home
mv /home/sqoop-1.4.7.bin__hadoop-2.6.0 /home/sqoop
3.2、修改配置文件
Sqoop的配置文件与大多数大数据框架类似,在sqoop根目录下的conf目录中。
1) 重命名配置文件
mv sqoop-env-template.sh sqoop-env.sh
mv sqoop-site-template.xml sqoop-site.xml

配置环境变量:
vi /etc/profile

在文件末尾增加一段(hive包含bin文件的目录)
export SQOOP_HOME=/home/sqoop/
export PATH=${SQOOP_HOME}/bin:$PATH

让环境变量生效
source /etc/profile

2) 修改配置文件
sqoop-env.sh
export HADOOP_COMMON_HOME=/home/hadoop/hadoop
export HADOOP_MAPRED_HOME=/home/hadoop/hadoop
export HIVE_HOME=/home/hive/hive
export ZOOKEEPER_HOME=/home/zk/zk
export ZOOCFGDIR=/home/zk/zk

3、拷贝JDBC驱动
拷贝jdbc驱动到sqoop的lib目录下,如:
cp -a mysql-connector-java-5.1.47-bin.jar /home/sqoop/lib/

4、测试Sqoop是否能够成功连接数据库
sqoop list-databases --connect jdbc:mysql://min01:3306/ --username root --password 123456

============================flume安装部署=============================
1)解压安装包
tar -zxvf apache-flume-1.7.0-bin.tar.gz -C /home
2)修改解压后的文件名称
mv apache-flume-1.7.0-bin flume
3)配置环境变量
vi /etc/profile
配置环境变量:
export FLUME_HOME=/home/flume
export FLUME_CONF_DIR=$FLUME_HOME/conf
export PATH=$PATH:$FLUME_HOME/bin
让配置生效
source /etc/profile
配置flume-env.sh文件的JavaHome
export JAVA_HOME=/home/java/jdk

启动测试
flume-ng agent -n agent -c conf -f conf/flume-conf.properties.template -DFlume.root.logger=INFO,console

错误
flume-ng version 报找不到org.apache.flume.tools.GetJavaProperty
解决办法
ng脚本问题,解决办法:增加最后一段 2>/dev/null | grep hbase

 ===========================kafka安装部署=============================

Kafka集群部署
1)解压安装包
tar -zxvf kafka_2.11-2.1.1.tgz -C /home
2)修改解压后的文件名称
mv kafka_2.11-2.1.1 kafka
3) 修改配置文件zookeeper.properties中的dataDir=/tmp/zookeeper与zookeeper中的zoo.cfg保持一致
4)在/opt/module/kafka目录下创建logs文件夹 mkdir logs
5)配置环境变量vi /etc/profile
export KAFKA_HOME=/home/kafka
export PATH=$PATH:$KAFKA_HOME/bin
让环境变量生效
source /etc/profile
6)修改配置文件server.properties
#删除topic功能使能
delete.topic.enable=true
#kafka运行日志存放的路径
log.dirs=/home/kafka/logs
#配置连接Zookeeper集群地址
zookeeper.connect=min01:2181,min02:2181,min03:2181
分发命令:scp -r +原目标文件位置 机器名:存放目标文件位置(另外机器)
eg:
scp -r /home/kafka min02:/home
scp -r /etc/profile min02:/etc/profile (每一台拷贝过去后记得刷新 source /etc/profile )

7)分别在min02和min03上修改配置文件/home/kafka/config/server.properties中的broker.id=1、broker.id=2
注:broker.id不得重复
8)启动集群
依次在min01、min02、min03节点上启动kafka(首先确保zk启动了)
bin/kafka-server-start.sh config/server.properties &
bin/kafka-server-start.sh config/server.properties &
bin/kafka-server-start.sh config/server.properties &
9)关闭集群
bin/kafka-server-stop.sh stop
bin/kafka-server-stop.sh stop
bin/kafka-server-stop.sh stop

验证
1)查看当前服务器中的所有topic
bin/kafka-topics.sh --zookeeper min01:2181 --list
2)创建topic
bin/kafka-topics.sh --zookeeper min01:2181 --create --replication-factor 3 --partitions 1 --topic first
选项说明:
--topic 定义topic名
--replication-factor 定义副本数
--partitions 定义分区数

  ===========================spark安装部署=============================

Spark环境搭建
1、安装Scala(查看版本scala -version)
下载路径:http://www.scala-lang.org/download/
拷贝文件到对应主机
(2)解压缩 tar -zvxf scala-2.12.2.tgz
(3)mv *** /opt/scala
(4)配置环境变量 /etc/profile
export SCALA_HOME=/home/scala
export PATH=$PATH:$SCALA_HOME/bin (每一台拷贝过去后记得刷新 source /etc/profile )

(1) 把安装包上传到hadoop01服务器并解压
tar zxvf spark-2.3.4-bin-hadoop2.6.tgz -C /home
mv spark-2.3.4-bin-hadoop2.6 spark
修改spark-env.sh配置文件
# 把SPARK_HOME/conf/下的spark-env.sh.template文件复制为spark-env.sh
mv spark-env.sh.template spark-env.sh
修改spark-env.sh配置文件,添加如下内容
修改spark-env.sh配置文件

# 把SPARK_HOME/conf/下的spark-env.sh.template文件复制为spark-env.sh
export JAVA_HOME=/usr/local/java/jdk1.8.0_73
export HADOOP_CONF_DIR=/home/hadoop/apps/hadoop-2.7.4/etc/hadoop
export SPARK_MASTER_HOST=hadoop01
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK_WORKER_MEMORY=1g

修改slaves配置文件,添加Worker的主机列表
mv slaves.template slaves
# 里面的内容原来为localhost
hadoop01
hadoop02
hadoop03
hadoop04

(4) 把SPARK_HOME/sbin下的start-all.sh和stop-all.sh这两个文件重命名
mv start-all.sh start-spark-all.sh
mv stop-all.sh stop-spark-all.sh

在集群所有节点中配置SPARK_HOME环境变量vi /etc/profile
export SPARK_HOME=/home/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin (每一台拷贝过去后记得刷新 source /etc/profile )

分发命令:scp -r +原目标文件位置 机器名:存放目标文件位置(另外机器)
eg:
scp -r /home/spark min02:/home
scp -r /etc/profile min02:/etc/profile (每一台拷贝过去后记得刷新 source /etc/profile )

在spark master节点启动spark集群
start-spark-all.sh

您可能感兴趣的文档:

--结束END--

本文标题: hadoop-ha+zookeeper+hbase+hive+sqoop+flume+kafka+spark集群安装

本文链接: https://www.lsjlt.com/news/5342.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql拒绝访问怎么办
    mysql 出现拒绝访问的原因和解决方法:权限问题:授予用户适当的数据库或表访问权限。防火墙或安全组:允许对 mysql 端口(3306)的入站连接。密码错误:重置 mysql 密码或使...
    99+
    2024-05-18
    mysql
  • mysql怎么比较日期大小
    mysql 中比较日期大小的方法包括:直接比较两个日期,使用 、= 运算符。使用 date_format() 函数将日期转换为字符串,然后比较字符串大小。使用 str_to_date()...
    99+
    2024-05-18
    mysql
  • mysql怎么加锁
    mysql中加锁是一种确保数据并发访问一致性的机制。加锁方式有:表级锁(对整个表加锁)和行级锁(对特定行加锁)。加锁类型有共享锁(允许读取但禁止修改)、排他锁(禁止读取和修改)和意向锁(...
    99+
    2024-05-18
    mysql 并发访问
  • mysql误删数据怎么恢复
    mysql误删数据可通过以下步骤恢复:停止数据库服务,防止数据覆盖。若开启binlog日志,可从中提取删除语句,再重新执行后将数据恢复。使用恢复工具修复表文件或恢复事务。从备份中恢复数据...
    99+
    2024-05-18
    mysql
  • 怎么判断mysql安装成功
    成功安装 mysql 的方法:检查命令行界面版本号;连接到 mysql 服务器,输入 "mysql -u root -p";创建数据库,输入 "create database test;...
    99+
    2024-05-18
    mysql linux macos 防火墙配置
  • mysql怎么修改表名
    如何修改 mysql 表名:检查当前表名:show tables;运行 rename table 语句:rename table 旧表名 to 新表名;验证更改:show tables;...
    99+
    2024-05-18
    mysql
  • mysql删除的表怎么恢复
    mysql 中已删除表的恢复方法主要涉及以下步骤:检查 binlog 日志以获取删除事务信息;使用数据恢复工具扫描数据库文件;从备份还原表数据;或联系 mysql 支持寻求帮助。 My...
    99+
    2024-05-18
    mysql 数据丢失
  • mysql复合主键怎么写
    在 mysql 中编写复合主键:在 create table 语句中使用 primary key 约束并列出字段名称。复合主键的好处包括提高查询效率、保证数据完整性和强制数据顺序。注意选...
    99+
    2024-05-18
    mysql
  • 怎么查看mysql数据库版本
    如何查看 mysql 数据库版本?连接到数据库并执行查询:select version();检查命令行或 mysql workbench 中的服务器属性。 如何查看 MySQL 数据库...
    99+
    2024-05-18
    mysql linux
  • 怎么检测mysql安装成功
    要验证 mysql 安装是否成功,请执行以下步骤:检查系统服务是否正在运行。使用 mysql 命令行工具连接到服务器。创建一个测试数据库并使用它。在数据库中创建一个测试表。插入测试数据并...
    99+
    2024-05-18
    mysql linux
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作