安裝單機版Hadoop+ZooKeeper+HBase+Sqoop環境

系統環境:Ubuntu 16.04.6 LTS

安裝包版本:hadoop-2.7.7,zookeeper-3.4.14hbase-1.0.1.1-binsqoop-1.4.6.bin__hadoop-2.0.4-alpha,jdk1.8.0_221。(注:可在所附的CSDN資源頁下載以上包。)

參考鏈接:(點擊跳轉查看)

安裝包清華源

虛擬機搭建Hadoop集羣(單機模式)

Hadoop+HBase+Spark+Hive環境搭建

Sqoop學習之路 (一)

HBase之單機模式與僞分佈式模式安裝

Zookeeper單機模式安裝及操作命令詳解

Hadoop學習---Zookeeper+Hbase配置學習

Hbase的安裝和基本使用

Zookeeper 安裝與部署

Hadoop配置無密碼登陸

 

(0)安裝Java jdk

安裝好Java jdk,並配置好Jdk路徑。

將路徑寫進個人home頁(/home/User/)下的.profile或者.bash_profile如下:

export JAVA_HOME=/home/User/HTest/jdk1.8.0_221

export PATH=$JAVA_HOME/bin:$PATH

需要讓該環境變量生效,執行如下代碼:

source .profile

(1)Hadoop

①下載Hadoop包並解壓

注:本文所有壓縮包均放在HTest目錄下,並在該目錄下解壓。

tar xzvf hadoop-2.7.7.tar.gz

mv hadoop-2.7.7 hadoop

②修改Hadoop配置文件

路徑在./hadoop/etc/hadoop/,文件爲hadoop-env.sh、core-site.xml、hdfs-site.xml。

打開hadoop-env.sh,將JAVA_HOME改爲jdk路徑,如下

# The java implementation to use.

# export JAVA_HOME=${JAVA_HOME}

export JAVA_HOME=/home/User/HTest/jdk1.8.0_221

打開core-site.xml,在<configuration></configuration>標籤中添加:

<configuration>

    <property>

        <name>fs.defaultFS</name>

        <value>hdfs://localhost:9000</value>

    </property>

    <!-- 指定hadoop運行時產生文件的存儲路徑 -->

    <property>

        <name>hadoop.tmp.dir</name>

        <value>/home/User/HTest/hadoop/temp</value>

    </property>

</configuration>

打開hdfs-site.xml,在<configuration></configuration>標籤中添加:

<configuration>

 <!-- 設置hdfs副本數量 -->

    <property>

        <name>dfs.replication</name>

        <value>1</value>

    </property>

</configuration>

③修改個人profile配置

將Hadoop路徑寫進.profile或者.bash_profile。

export HADOOP_HOME=/home/User/HTest/hadoop

export PATH=$HADOOP_HOME/bin:$PATH

需要讓該環境變量生效,同樣執行如下代碼:

source .profile

輸入如下命令來檢查 Hadoop 是否可用,成功則會顯示 Hadoop 版本信息:

hadoop version

④hdfs格式化

(注:第一次使用時必須先格式化hdfs)

執行命令

./hadoop/bin/hdfs namenode -format

⑤啓動hadoop

./hadoop/sbin/start-all.sh

在提示輸入密碼時輸入系統登錄用戶名對應的密碼(此處需多次輸入以啓動各種服務,也可以配置ssh無密碼登錄,本文不講,可自行查看本文開頭參考鏈接③或⑩中的內容。)

成功啓動後輸入jps命令可以看到啓動的各種服務。

(2)ZooKeeper

①下載ZooKeeper包並解壓

tar xzvf zookeeper-3.4.14.tar.gz

mv zookeeper-3.4.14 zookeeper

②修改zookeeper配置文件

路徑在./zookeeper/conf/,輸入命令

cp zoo_sample.cfg zoo.cfg

,複製文件zoo_sample.cfg爲zoo.cfg。

打開zoo.cfg,將dataDir改爲其他路徑(/tmp下的文件易被系統自動清理),如下

dataDir=/home/User/HTest/zookeeper/zkData
dataLogDir=/home/User/HTest/zookeeper/zkLogs

server.1=127.0.0.1:2888:3888

新建dataDir文件夾“zkData”,新建“myid”文件

vi myid

在文件中寫“1”,保存。

③修改個人profile配置

即將zookeeper路徑寫進.profile或者.bash_profile。

export ZOOKEEPER_HOME=/home/User/HTest/zookeeper

export PATH=$ZOOKEEPER_HOME/bin:$PATH

需要讓該環境變量生效,同樣執行如下代碼:

source .profile

④啓動ZooKeeper

啓動服務:

./zookeeper/bin/zkServer.sh start

查看狀態:

./zookeeper/bin/zkServer.sh status

關閉服務:

./zookeeper/bin/zkServer.sh stop

成功啓動後輸入jps命令可以看到啓動的相應服務“QuorumPeerMain”。

(3)HBase

①下載HBase包並解壓

tar xzvf hbase-1.0.1.1-bin.tar.gz

mv hbase-1.0.1.1-bin hbase

②修改hbase配置文件

路徑在./hbase/conf/,文件爲hbase-env.sh、hbase-site.xml、regionservers。

打開hbase-env.sh,將JAVA_HOME改爲jdk路徑,如下

# The java implementation to use.  Java 1.7+ required.

# export JAVA_HOME=/usr/java/jdk1.6.0/

export JAVA_HOME=/home/User/HTest/jdk1.8.0_221

增加HBase和Hadoop的環境變量:

export HBASE_CLASSPATH=/home/User/HTest/hadoop/etc/hadoop
export HADOOP_HOME=/home/User/HTest/hadoop
export HBASE_HOME=/home/User/HTest/hbase

修改pid文件存放地址:

# The directory where pid files are stored. /tmp by default.

# export HBASE_PID_DIR=/var/hadoop/pids

export HBASE_PID_DIR=/home/User/HTest/hbase/pids

設置是否使用自帶的ZooKeeper:

# Tell HBase whether it should manage it's own instance of Zookeeper or not.

#export HBASE_MANAGES_ZK=true

export HBASE_MANAGES_ZK=false

打開hbase-site.xml,在<configuration></configuration>標籤中添加:

<configuration>

        <property>

        <name>hbase.rootdir</name>

        <value>hdfs://localhost:9000/hbase</value>

     </property>

        <property>

                <name>hbase.tmp.dir</name>

                <value>/home/User/HTest/hbase/hbase-tmp</value>

        </property>

        <!-- zk環境的地址 -->

        <property>

                <name>hbase.zookeeper.quorum</name>

                <value>localhost</value>

        </property>

        <property>

                <name>hbase.zookeeper.property.clientPort</name>

                <value>2181</value>

        </property>

        <property>

                <name>hbase.zookeeper.proprety.dataDir</name>

                <value>/home/User/HTest/zookeeper/zkData</value>

        </property>

        <!-- 配置爲true,否則還是啓動自帶ZK-->

        <property>

                <name>hbase.cluster.distributed</name>

                <value>true</value>

        </property>

        <property>

                <name>hbase.master.maxclockskew</name>

                <value>180000</value>

        </property>

        <property>

                <name>hbase.master</name>

                <value>localhost:60000</value>

        </property>

        <property>

                <name>dfs.replication</name>

                <value>1</value>

        </property>

</configuration>

                                                                                                                                             

③修改個人profile配置

即將hbase路徑寫進.profile或者.bash_profile。

export HBASE_HOME=/home/User/HTest/hbase

export PATH=$HBASE_HOME/bin:$PATH

需要讓該環境變量生效,同樣執行如下代碼:

source .profile

 

④啓動hbase

./hbase/bin/start-hbase.sh

成功啓動後輸入jps命令可以看到啓動的HMaster服務。

輸入hbase shell,即可進入shell環境,在shell環境下輸入list可以查看現有數據庫情況(新裝hbase時此處結果爲空)。

 

(4)Sqoop

介紹:sqoop 是 Apache 旗下一款“Hadoop 和關係數據庫服務器之間傳送數據”的工具。

核心的功能有兩個:

  1. 導入數據:MySQL,Oracle 導入數據到 Hadoop 的 HDFS、HIVE、HBASE 等數據存儲系統
  2. 導出數據:從 Hadoop 的文件系統中導出數據到關係數據庫 mysql 等 Sqoop 的本質還是一個命令行工具,和 HDFS,Hive 相比,並沒有什麼高深的理論。

sqoop版本說明:

  1. 絕大部分企業所使用的sqoop的版本都是 sqoop1(sqoop-1.4.6 或者sqoop-1.4.7);sqoop-1.99.4以上是 sqoop2。
  2. 本文使用sqoop-1.4.6版本sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz

①下載Sqoop包並解壓

tar xzvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz

mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop

②修改sqoop配置文件

路徑在./sqoop/conf/,輸入命令

cp sqoop-env-template.sh sqoop-env.sh

,複製文件sqoop-env-template.sh爲sqoop-env.sh。

打開sqoop-env.sh,將各路徑根據自己的安裝路徑進行填寫:

#Set path to where bin/hadoop is available

export HADOOP_COMMON_HOME=/home/User/HTest/hadoop



#Set path to where hadoop-*-core.jar is available

export HADOOP_MAPRED_HOME=/home/User/HTest/hadoop



#set the path to where bin/hbase is available

export HBASE_HOME=/home/User/HTest/hbase



#Set the path to where bin/hive is available

#export HIVE_HOME=



#Set the path for where zookeper config dir is

export ZOOCFGDIR=/home/User/HTest/zookeeper

③修改個人profile配置

即將sqoop路徑寫進.profile或者.bash_profile。

export SQOOP_HOME=/home/User/HTest/sqoop

export PATH=$SQOOP_HOME/bin:$PATH

需要讓該環境變量生效,同樣執行如下代碼:

source .profile

 

④複製mysql-jdbc驅動包

複製mysql-connector-java-5.1.40-bin.jar到./sqoop/lib目錄下。

 

⑤驗證並使用

輸入命令

sqoop version

查看是否安裝成功。

安裝成功後即可使用sqoop導入命令,從MySQL等關係數據庫導入數據到HBase。

具體使用方式可參考本文開頭中的參考鏈接④。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章