Hive環境搭建

weixin_34357887發表於2017-06-14

hadoop各個節點角色定義

master 和 slave
name node 和 data node: name node 目錄管理者
從map reduce的角度劃分

hadoop安裝部署

三種執行模式:

  • 單機模式
  • 偽分佈模式
  • 完全分佈模式

偽分散式安裝

wget http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.8.0/hadoop-2.8.0-src.tar.gz

* 安裝hadoop
> 1.將下載下來的 hadoop-2.8.0-src.tar.gz 拷貝到指定目錄
2 . tar zxvf hadoop-2.8.0-src.tar.gz
3 . rm hadoop-2.8.0-src.tar.gz

* 配置hadoop
修改 ~/.bashrc, 在底部新增:

export HADOOP_HOME=/opt/hadoop-1.2.1
export PATH=${HADOOP_HOME}/bin:$PATH

儲存後 
```shell
source  ~/.bashrc

偽分散式需要操作四個檔案: hadoop-env.sh、core-site.xml、mapred-site.xml 以及 hdfs-site.xml

1). 配置 hadoop-env.sh
在配置檔案中找到JAVA_HOME關鍵字所在的行,把前面的#號去掉,然後填寫實際的JAVA_HOME地址.
2 ) . 配置core-site.xml
加入如下內容:

<!--指定namenode的地址-->
        <property>
                <name>fs.default.name</name>
                <value>hdfs://127.0.0.1:9000</value>
        </property>
<!--用來指定使用hadoop時產生檔案的存放目錄, 該目錄必須預先手動建立--> 
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/home/leo/hadoopdata</value>
        </property>

3 ). 配置 hdfs-site.xml

<configuration>
<!--指定hdfs儲存資料的副本數量-->
    <property>
            <name>dfs.replication</name>
                    <value>1</value>
                        </property>
      </configuration>

4 ) . 配置mapred-site.xml

<configuration>
<!--告訴hadoop以後MR執行在YARN上-->
        <property>
              <name>mapreduce.job.tracker</name>
              <value>127.0.0.1:9001</value>
       </property> 
</configuration>

執行 hadoop version。

leo@ubuntu:~$ hadoop version
Warning: $HADOOP_HOME is deprecated.
Hadoop 1.2.1
Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152
Compiled by mattf on Mon Jul 22 15:23:09 PDT 2013
From source with checksum 6923c86528809c4e7e6f493b6b413a9a
This command was run using /opt/hadoop-1.2.1/hadoop-core-1.2.1.jar

修改~/.bashrc, 增加

export HADOOP_HOME_WARN_SUPPRESS=1
儲存成功後:
source  ~/.bashrc
  • 啟動hadoop
 hadoop namenode -format

檢查執行結果有沒有錯誤。
如果出現找不到namenode之類的。請使用命令檢查

more /etc/hosts

執行 start-all.sh 啟動hadoop
使用jps名稱檢查執行的程式

  • 執行hadoop
hadoop fs ls /
hadoop fs -mkdir input
hadoop fs -put /home/leo/file/* input