主頁 > 資料庫 > hadoop-ha+zookeeper+hbase+hive+sqoop+flume+kafka+spark集群安裝

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

2020-09-13 03:52:06 資料庫

創建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------------------------------------------------
[root@test1 ~]# service network restart
正在關閉介面 eth0: 設備狀態:3 (斷開連接)
[確定]
關倍訓回介面: [確定]
彈出環回介面: [確定]
彈出界面 eth0: 活躍連接狀態:已激活
活躍連接路徑:/org/freedesktop/NetworkManager/ActiveConnection/1
[確定]
---------------------------------------------------------------------------------------

4. 檢測網路時候接通
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

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 沒有就沒初始化成功 要檢查每一臺要創建的檔案夾、組態檔是否弄好】
[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

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 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.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.uj5u.com/shujuku/19694.html

標籤:大數據

上一篇:【趙強老師】大資料分析引擎:Presto

下一篇:HBase Shell Get 操作常用小技巧

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:33:24 more
  • MySQL中binlog備份腳本分享

    關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......

    uj5u.com 2023-04-20 08:28:06 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:27:27 more
  • 快取與資料庫雙寫一致性幾種策略分析

    本文將對幾種快取與資料庫保證資料一致性的使用方式進行分析。為保證高并發性能,以下分析場景不考慮執行的原子性及加鎖等強一致性要求的場景,僅追求最終一致性。 ......

    uj5u.com 2023-04-20 08:26:48 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:26:35 more
  • 云時代,MySQL到ClickHouse資料同步產品對比推薦

    ClickHouse 在執行分析查詢時的速度優勢很好的彌補了MySQL的不足,但是對于很多開發者和DBA來說,如何將MySQL穩定、高效、簡單的同步到 ClickHouse 卻很困難。本文對比了 NineData、MaterializeMySQL(ClickHouse自帶)、Bifrost 三款產品... ......

    uj5u.com 2023-04-20 08:26:29 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:25:13 more
  • Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)

    Redis 報錯“OutOfDirectMemoryError(堆外記憶體溢位) ”問題如下: 一、報錯資訊: 使用 Redis 的業務介面 ,產生 OutOfDirectMemoryError(堆外記憶體溢位),如圖: 格式化后的報錯資訊: { "timestamp": "2023-04-17 22: ......

    uj5u.com 2023-04-20 08:24:54 more
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:24:03 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:23:11 more