1. 程式人生 > >Hadoop與hbase單機環境安裝

Hadoop與hbase單機環境安裝

一、Linux系統設定

1,關閉防火牆

關閉防火牆,方便外部訪問。
CentOS 7版本以下輸入:
關閉防火牆

service   iptables stop

CentOS 7 以上的版本輸入:

systemctl   stop   firewalld.service

2,時間設定

輸入:

date

檢視伺服器時間是否一致,若不一致則更改
更改時間命令

date -s ‘MMDDhhmmYYYY.ss’

二、Hadoop環境安裝

1,下載jdk、hadoop

將下載下來的 jdk、hadoop 解壓包放在home 目錄下
並新建java、hadoop資料夾
 

3.1.1

解壓檔案

輸入:
tar -xvf jdk-8u144-linux-x64.tar.gz
tar -xvf hadoop-2.7.2.tar.gz
解壓jdk和hadoop ,分別移動檔案到java和hadoop檔案下,
並將資料夾重新命名為jdk1.8和hadoop2.7
 

2,JDK環境配置

首先輸入

java -version

檢視是否安裝了JDK,如果安裝了,但版本不適合的話,就解除安裝

3.2.1 profile 檔案更改

編輯 /etc/profile 檔案
輸入:

vim /etc/profile

整體的配置檔案:

export JAVA_HOME=/home/java/jdk1.8

export JRE_HOME=/home/java/jdk1.8/jre

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export PATH=.:${JAVA_HOME}/bin:$PATH


注: JAVA_HOME的路徑是 JDK的路徑

使用vim 編輯之後 記得輸入

source /etc/profile

使配置生效

配置完後,輸入java -version 檢視版本資訊
 

3,Hadoop 環境配置

3.3.1 profile 檔案更改

編輯 /etc/profile 檔案
輸入:

vim /etc/profile

整體的配置檔案:

export HADOOP_HOME=/home/hadoop/hadoop2.7

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH


輸入:

source  /etc/profile

使配置生效

修改配置檔案

3.3.2新建資料夾

在修改配置檔案之前,現在root目錄下建立一些資料夾。
輸入:

mkdir  /root/hadoop 

mkdir  /root/hadoop/tmp 

mkdir  /root/hadoop/var 

mkdir  /root/hadoop/dfs 

mkdir  /root/hadoop/dfs/name 

mkdir  /root/hadoop/dfs/data

注:在root目錄下新建資料夾是防止被莫名的刪除。

首先切換到 /home/hadoop/hadoop2.7/etc/hadoop/ 目錄下

3.3.3修改 core-site.xml

輸入:

vim core-site.xml

在<configuration>新增:

<configuration>

<property>

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

        <value>/root/hadoop/tmp</value>

        <description>Abase for other temporary directories.</description>

   </property>

   <property>

        <name>fs.default.name</name>

        <value>hdfs://test1:9000</value>

   </property>

</configuration>


說明: test1 可以替換為主機的ip。

3.3.4修改 hadoop-env.sh

輸入:

vim hadoop-env.sh

將${JAVA_HOME} 修改為自己的JDK路徑

export   JAVA_HOME=${JAVA_HOME}

修改為:

export   JAVA_HOME=/home/java/jdk1.8

3.4.5修改 hdfs-site.xml

輸入:

vim hdfs-site.xml

在<configuration>新增:

<property>

   <name>dfs.name.dir</name>

   <value>/root/hadoop/dfs/name</value>

   <description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>

</property>

<property>

   <name>dfs.data.dir</name>

   <value>/root/hadoop/dfs/data</value>

   <description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>

</property>

<property>

   <name>dfs.replication</name>

   <value>2</value>

</property>

<property>

      <name>dfs.permissions</name>

      <value>false</value>

      <description>need not permissions</description>

</property>

說明:dfs.permissions配置為false後,可以允許不要檢查許可權就生成dfs上的檔案,方便倒是方便了,但是你需要防止誤刪除,請將它設定為true,或者直接將該property節點刪除,因為預設就是true。

3.4.6 修改mapred-site.xml

如果沒有 mapred-site.xml 該檔案,就複製mapred-site.xml.template檔案並重命名為mapred-site.xml。
輸入:

vim mapred-site.xml

修改這個新建的mapred-site.xml檔案,在<configuration>節點內加入配置:

<property>

    <name>mapred.job.tracker</name>

    <value>test1:9001</value>

</property>

<property>

      <name>mapred.local.dir</name>

       <value>/root/hadoop/var</value>

</property>

<property>

       <name>mapreduce.framework.name</name>

       <value>yarn</value>

</property>

使用的命令:

到此 Hadoop 的單機模式的配置就完成了。

4,hadoop啟動

第一次啟動Hadoop需要初始化
切換到 /home/hadoop/hadoop2.7/bin目錄下輸入

  ./hadoop  namenode  -format

初始化成功後,可以在/root/hadoop/dfs/name 目錄下(該路徑在hdfs-site.xml檔案中進行了相應配置,並新建了該資料夾)新增了一個current 目錄以及一些檔案。
 

啟動Hadoop 主要是啟動HDFS和YARN
切換到/home/hadoop/hadoop2.7/sbin目錄
啟動HDFS
輸入:

start-dfs.sh

登入會詢問是否連線,輸入yes ,然後輸入密碼就可以了
 

啟動YARN
輸入:

start-yarn.sh

可以輸入 jps 檢視是否成功啟動

HDFS測試地址在瀏覽器輸入:
http://虛擬機器IP:8088/cluster (http://192.168.8.161:8088/cluster)
 

YARN測試地址在瀏覽器輸入(單機服務下Namenode和JobTrack沒有開啟訪問不了):
http://虛擬機器IP:50070/ ()

三、Hbase環境安裝

1.下載hbase-0.94.3.tar.gz並解壓
2.修改conf/hbase-env.sh:

  ①去掉JAVA_HOME一句的#並且指定自己的jdk路徑

  ②找到 export HBASE_MANAGES_ZK=true 這一句,去掉#

3.修改conf/hbase-site.xml,修改為:(XXX替換過為自己的ubuntu使用者名稱)    ("/home/XXX/hbase_data/hbase"這個路徑可以自定義為其他路徑,但是一定要確認當前使用者有訪問許可權)

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl"href="configuration.xsl"?>

<configuration>

  <property>

   <name>hbase.rootdir</name>

    <value>file:/home/XXX/hbase_data/hbase</value>

  </property>

</configuration>

4.進入bin目錄執行start-hbase.sh啟動HBase,安裝啟動完成。

5.檢驗HBase是否正常啟動:

  ①在bin目錄執行hbase shell,正常的話會進入hbase命令列模式,即  hbase(main):001:0> 

  ②輸入 create 'user' ,'personalinfo',正常的話會出現類似   0 row(s) in 1.3200 seconds   這樣的結果

  ③繼續輸入 list,正常的話會列出我們剛剛建立的user表

備註:如果在以上操作步驟中出現了異常,請進入logs目錄找到一個字尾為.log的檔案,自行檢視這個檔案中的錯誤資訊,不能自行解決的話就google一下。

大概講解下安裝過程中的各修改的目的:

  2.①是指定HBase所使用的jdk,應該是jdk1.7+

  2.②是讓HBase使用自己託管的zookeeper

  3是指定HBase的資料檔案路徑,預設會存放到系統tmp路徑中,這樣每次重啟後HBase中的資料就被清空了。