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

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

******************************常用命令、进程名称****************************
启动集群命令: 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
查看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

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

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

3.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

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

4. 检测网络时候接通
ping 8.8.8.8

-------------------------------------eg----------------------------------------------
[[email protected] ~]# 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

3.复制密匙(最好每一台相互设置,嫌麻烦可只在主机设置)
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目录

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

3. 解压安装包(注意为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

4.修改文件名(此步骤必须进入解压文件存放的文件夹下即 /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

5.配置环境变量
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

6.运行 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配置文件所在目录)

1.vi core-site.xml

<configuration>
        <property>
                  <name>fs.defaultFS</name>
                  <value>hdfs://mycluster</value>
        </property>
        <property>
                   <name>hadoop.tmp.dir</name>
                  <value>/var/log/hadoop/tmp</value>
        </property>
         <property>
                <name>ha.zookeeper.session-timeout.ms</name>
                <value>30000</value>
         </property>
</configuration>

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

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

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

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>test1:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>test1:19888</value>
        </property>
</configuration>

5. vi yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>test1</value>
</property>
<property>
    <name>yarn.resourcemanager.address</name>
    <value>${yarn.resourcemanager.hostname}:8032</value>
</property>
<property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>${yarn.resourcemanager.hostname}:8030</value>
</property>
<property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<property>
    <name>yarn.resourcemanager.webapp.https.address</name>
    <value>${yarn.resourcemanager.hostname}:8090</value>
</property>
<property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>${yarn.resourcemanager.hostname}:8031</value>
</property>
<property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>${yarn.resourcemanager.hostname}:8033</value>
</property>
<property>
    <name>yarn.resourcemanager.local-dirs</name>
    <value>/data/hadoop/yarn/local</value>
</property>
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>
<property>
    <name>yarn.resourcemanager.remote-app-log-dir</name>
    <value>/data/tmp/logs</value>
</property>
<property>
    <name>yarn.log.server.url</name>
    <value>http://test1:19888/jobhistory/logs/</value>
    <description>URL for job history server</description>
</property>
<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>
<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.ShuffleHandler</value>
</property>
<property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>2048</value>
</property>
<property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>512</value>
</property>
<property>
    <name>yarn.scheduler.maximum-allocation-mb</name>
    <value>4096</value>
</property>
<property>
    <name>mapreduce.map.memory.mb</name>
    <value>2048</value>
</property>
<property>
    <name>mapreduce.reduce.memory.mb</name>
    <value>2048</value>
</property>
<property>
    <name>yarn.nodemanager.resource.cpu-vcores</name>
    <value>1</value>
</property>
</configuration>

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

7. vi hdfs-site.xml

<configuration>
<property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///home/hadoop/hadoop/tmp/hdfs/name</value>
</property>
<property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///home/hadoop/hadoop/tmp/hdfs/data</value>
</property>
<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>test1:50090</value>
</property>
<property>
        <name>dfs.replication</name>
        <value>2</value>  #文件副本数目
</property>
<property>
        <name>dfs.qjournal.start-segment.timeout.ms</name>
        <value>60000</value>
</property>
<property>
        <name>dfs.nameservices</name>
        <value>mycluster</value>
</property>
<property>
        <name>dfs.ha.namenodes.mycluster</name>
        <value>test1,test2</value>
</property>
<property>
        <name>dfs.namenode.rpc-address.mycluster.test1</name>
        <value>test1:8020</value>
</property>
<property>
        <name>dfs.namenode.rpc-address.mycluster.test2</name>
        <value>test2:8020</value>
</property>
<property>
        <name>dfs.namenode.http-address.mycluster.test1</name>
        <value>test1:50070</value>
</property>
<property>
        <name>dfs.namenode.http-address.mycluster.test2</name>
        <value>test2:50070</value>
</property>
<property>
        <name>dfs.namenode.shared.edits.dir</name>
        <value>qjournal://test1:8485;test2:8485;test3:8485;test4:8485;test5:8485/mycluster</value>
</property>
<property>
        <name>dfs.client.failover.proxy.provider.mycluster</name>
        <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
        <name>dfs.ha.fencing.methods</name>
        <value>sshfence</value>
</property>
<property>
        <name>dfs.ha.fencing.ssh.private-key-files</name>
        <value>/root/.ssh/id_rsa</value>
</property>
<property>
        <name>dfs.journalnode.edits.dir</name>
        <value>/tmp/jn</value>
</property>
<property>
        <name>dfs.ha.automatic-failover.enabled</name>
        <value>true</value>
</property>
<property>
        <name>ha.zookeeper.quorum</name>
        <value>test1:2181,test2:2181,test3:2181,test4:2181,test5:2181</value>
</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 没有就没初始化成功 要检查每一台要创建的文件夹、配置文件是否弄好】
[[email protected] ~]#
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

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

3. 解压传过来的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

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

6.开启mysqld服务
service mysqld start

7.登录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 [email protected]"%" 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.ConnectionURL</name>
                <value>jdbc:mysql://192.168.80.131:3306/hahive?createDatabaseIfNotExist=true</value>#(本机ip以及数据库名称)
        </property>

        <property>
                <name>javax.jdo.option.ConnectionDriverName</name>
                <value>com.mysql.jdbc.Driver</value>#(驱动)
        </property>

        <property>
                <name>javax.jdo.option.ConnectionUserName</name>
                <value>root</value>#(数据库账户)
        </property>

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

        <property>
                <name>hive.metastore.schema.verification</name>
                <value>false</value>
        </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

2.解压安装包

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

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

4.编辑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.rootdir</name>
                <value>hdfs://mycluster/hbase</value>
        </property>
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
        <property>
                <name>hbase.zookeeper.quorum</name>
                <value>test1,test2,test3,test4,test5</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>

vi regionservers (加入从机)

test3
test4
test5

5.拷贝到其他机器(每一台)
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
版本号 校验码 发布时间 运行命令的时间

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

3. 帮助: 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

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

5. 插入数据: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.3、拷贝JDBC驱动
拷贝jdbc驱动到sqoop的lib目录下,如:
cp -a mysql-connector-java-5.1.47-bin.jar /home/sqoop/lib/

3.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

原文地址:https://www.cnblogs.com/hgc-bky/p/12635175.html

时间: 2024-10-04 20:36:52

hadoop-ha+zookeeper+hbase+hive+sqoop+flume+kafka+spark集群安装的相关文章

第2节 Spark集群安装:1 - 3;第3节 Spark HA高可用部署:1 - 2

三. Spark集群安装 3.1 下载spark安装包 下载地址spark官网:http://spark.apache.org/downloads.html 这里我们使用 spark-2.1.3-bin-hadoop2.7版本. 3.2 规划安装目录 /export/servers 3.3 解压安装包 tar -zxvf spark-2.1.3-bin-hadoop2.7.tgz 3.4 重命名目录 mv spark-2.1.3-bin-hadoop2.7 spark 3.5 修改配置文件 配置

spark集群安装并集成到hadoop集群

前言 最近在搞hadoop+spark+python,所以就搭建了一个本地的hadoop环境,基础环境搭建地址hadoop2.7.7 分布式集群安装与配置 本篇博客主要说明,如果搭建spark集群并集成到hadoop 安装流程 安装spark需要先安装scala 注意在安装过程中需要对应spark与scala版本, spark 也要跟hadoop对应版本,具体的可以在spark官网下载页面查看 下载sacla并安装 https://www.scala-lang.org/files/archive

CentOS7+Hadoop2.7.2(HA高可用+Federation联邦)+Hive1.2.1+Spark2.1.0 完全分布式集群安装

1       VM网络配置... 3 2       CentOS配置... 5 2.1             下载地址... 5 2.2             激活网卡... 5 2.3             SecureCRT. 5 2.4             修改主机名... 6 2.5             yum代理上网... 7 2.6             安装ifconfig. 8 2.7             wget安装与代理... 8 2.8       

Hadoop 集群安装(主节点安装)

1.下载安装包及测试文档 切换目录到/tmp view plain copy cd /tmp 下载Hadoop安装包 view plain copy wget http://192.168.1.100:60000/hadoop-2.6.0-cdh5.4.5.tar.gz 下载JDK安装包 view plain copy wget http://192.168.1.100:60000/jdk-7u75-linux-x64.tar.gz 下载实验测试数据 view plain copy wget h

Spark集群框架搭建【VM15+CentOS7+Hadoop+Scala+Spark+Zookeeper+HBase+Hive】

目录 1 目的 2 准备工作 3 安装过程 3.1 在虚拟机中安装CentOS7 3.1.1 虚拟机设置 3.1.2 安装Linux系统 3.2 JAVA环境 3.2.1 卸载Linux自带的jdk 3.2.2 下载并安装最新版本的jdk 3.2.3 环境变量设置 3.3 SSH免密登陆 3.3.1 准备工作 3.3.2 设置免密登陆 3.4 Hadoop2.7.2安装及集群配置 3.4.1 Hadoop安装 3.4.2 伪分布式集群配置 3.4.3 启动hadoop 3.5 Spark安装及环

Apache Hadoop集群安装(NameNode HA + SPARK + 机架感知)

1.主机规划 序号 主机名 IP地址 角色 1 nn-1 192.168.9.21 NameNode.mr-jobhistory.zookeeper.JournalNode 2 nn-2 192.168.9.22 Secondary NameNode.JournalNode 3 dn-1 192.168.9.23 DataNode.JournalNode.zookeeper.ResourceManager.NodeManager 4 dn-2 192.168.9.24 DataNode.zook

菜鸟玩云计算之十八:Hadoop 2.5.0 HA 集群安装第1章

菜鸟玩云计算之十八:Hadoop 2.5.0 HA 集群安装第1章 cheungmine, 2014-10-25 0 引言 在生产环境上安装Hadoop高可用集群一直是一个须要极度耐心和体力的仔细工作. 虽然有非常多文档教会大家怎么一步一步去完毕这样的工作,可是百密也有一疏. 现成的工具不是没有,可是对于我这个喜欢了解细节的人来说,用别人的东西,写的好还能够,写的不好,出了问题,查找错误难之又难.手工安装Hadoop集群须要对Linux有一定的使用经验.对于全然没有接触Linux的人来说.肯定是

Hadoop初学指南(10)--ZooKeeper的集群安装和操作

本文简单介绍了ZooKeeper的基本知识. (1)概述 ①什么是ZooKeeper? Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调服务 它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等 ②Zookeeper的角色 ③为什么使用Zookeeper? 大部分分布式应用需要一个主控.协调器或控制器来管理物理分布的子进程(如资源.任务分配等) 目前,大部分应用需要开发私有的协调程序,缺乏一个通用的机制 协调程序的

zookeeper+kafka集群安装之二

zookeeper+kafka集群安装之二 此为上一篇文章的续篇, kafka安装需要依赖zookeeper, 本文与上一篇文章都是真正分布式安装配置, 可以直接用于生产环境. zookeeper安装参考: http://blog.csdn.net/ubuntu64fan/article/details/26678877 首先了解几个kafka中的概念: kafka是一个消息队列服务器,服务称为broker, 消息发送者称为producer, 消息接收者称为consumer; 通常我们部署多个b