Hadoop、yarm、Hive環境搭建

一 安裝JDK

官網下載jdk
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
選擇對應jdk版本下載。(可在Windows下下載完成後,通過文件夾共享到Linux上)
http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz

下載好jdk

cp /mnt/hgfs/linux/jdk-8u60-linux-x64.tar.gz /usr/java/
 #創建短連接訪問地址
ln -s /usr/java/jdk1.8.0_60/ /usr/jdk

配置環境變量

vim /etc/profile
JAVA_HOME=/usr/java/jdk1.8.0_60
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

刷新配置

source /etc/profile

查看是否安裝成功

java -version


java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) Client VM (build 25.60-b23, mixed mode)

二 hadoop 安裝配置

說明:hadoop 使用CDH下載版本

下載地址:http://archive.cloudera.com/cdh5/cdh/5/
下載版本

可以直接

wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.9.3.tar.gz/

解壓文件

tar -zxvf hadoop-2.6.0-cdh5.9.3.tar.gz

配置環境變量

 vim /etc/profile

添加環境變量

export  HADOOP_HOME=/wwwzyy/java/hadoop-2.6.0-cdh5.9.3
export  HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export  HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

修改`PATH添加:HADOOPHOME/bin:HADOOP_HOME/bin:HADOOP_HOME/sbin

PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

修改Hadoop解壓包配置文件

  1. hadoop-env.sh 添加jdk環境變量

    vim  hadoop-env.sh
    
    export JAVA_HOME=/wwwzyy/java/jdk1.8.0_131/
    
  2. core-site.xml 文件添加配置

    vim  core-site.xml 
    
    <configuration>
    	<property>
    	<name>hadoop.tmp.dir</name>
    	<value>file:/wwwzyy/java/hadoop-2.6.0-cdh5.9.3/tmp</value>
    	<description>Abase for other temporary directories.</description>
    	</property>
    	<property>
    	<name>fs.defaultFS</name>
    	 <value>hdfs://192.168.240.129:8020</value>
    	</property>
    </configuration>
    
    
  3. hdfs-site.xml 添加配置
    這設置單接單 dfs存儲地址(nane,date)

    vim hdfs-site.xml
    
	<configuration>
		<property>   
		<name>dfs.replication</name>
		<value>1</value>
		</property>
		<property>
		<name>dfs.namenode.name.dir</name>
		<value>file:/wwwzyy/java/hadoop-2.6.0-cdh5.9.3/tmp/dfs/name</value>
		</property>
		<property>
		<name>dfs.datanode.data.dir</name>
		<value>file:/wwwzyy/java/hadoop-2.6.0-cdh5.9.3/tmp/dfs/data</value>
		</property>
	</configuration>

啓動hadoop

start-dfs.sh

查看

 [root@localhost sbin]# jps
22068 Jps
16039 NameNode
19767 NodeManager
16330 SecondaryNameNode
19675 ResourceManager
16174 DataNode

通過web 訪問:http://192.168.240.129:50070/
在這裏插入圖片描述
停止hadoop

stop-dfs.sh

三 yarn 安裝

配置yarn相關文件

  1. 配置yarn-site.xml 文件
vim yarn-site.xml
<configuration>
	<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
	</property>
	 <property>
             <name>yarn.log-aggregation-enable</name>
             <value>true</value>
     </property>
</configuration>
  1. mapred-site.xml配置目錄下沒有
cp mapred-site.xml.template  mapred-site.xml
vim  mapred-site.xml
<configuration>
	<property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
	</property>
	
	<--添加jobhistory!-->
	<property>
        <name>mapreduce.jobhistory.address</name>
        <value>192.168.240.129:10020</value>
     </property>

     <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>192.168.240.129:19888</value>
     </property>
     <property>
        <name>mapreduce.jobhistory.done-dir</name>
        <value>/history/done</value>
     </property>
     <property>
        <name>mapreudce.jobhistory.intermediate.done-dir</name>
        <value>/history/done/done_intermediate</value>
     </property>
 configuration>

啓動yarn

start-yarn.sh

停止yarn

stop-yarn.sh

查看jps 啓動成功後 NodeManager ,ResourceManager

啓動jobhistory

./mr-jobhistory-daemon.sh start historyserver

執行歷史記錄訪問地址:http://192.168.240.129:19888/jobhistory

[root@localhost hadoop]# jps
22242 Jps
16039 NameNode
19767 NodeManager
16330 SecondaryNameNode
19675 ResourceManager
16174 DataNode
8643 JobHistoryServer

或者通過web 訪問:http://192.168.240.129:8088/ 默認端口8088
在這裏插入圖片描述

執行一個mapreduce

cd /wwwzyy/java/hadoop-2.9.1/share/hadoop/mapreduce/

執行測試jar包

hadoop jar hadoop-mapreduce-examples-2.9.1.jar pi 2 3

四Hive 安裝

首先找對應的hive 下載包

wget http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.9.3.tar.gz

下載完解壓文件

 tar -zxvf  hive-1.1.0-cdh5.9.3.tar.gz

配置信息:

配置環境變量

vim /etc/profile
#添加
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin
export HIVE_HOME=/wwwzyy/java/hive-1.1.0-cdh5.9.3

#最後執行
source /etc/profile

對 hive-env.sh 文件添加Hadoop

vim conf/hive-env.sh
HADOOP_HOME=/wwwzyy/java/hadoop-2.6.0-cdh5.9.3/

添加hive-site.xml

vim hive-site.xml

根據自己的環境配置mysql數據源

<configuration>
	<property>
	<name>javax.jdo.option.ConnectionURL</name>
	<value>jdbc:mysql://192.168.240.130:3306/hivedb?createDatabaseIfNotExist=true</value>
	</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>
</configuration>

給hive 添加 mysql驅動包放入 hive/lib目錄
自己去下載mysql-connector-java-5.1.40.jar cp到 hive/lib

啓動hive

bin/hive

執行hive shell 命令

hive> show tables;

中途遇到異常問題:

FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

解決方式:
1.首先檢查你自己的hive-site.xml配置文件中的mysql賬號和自己的創建hive_database的mysql賬號是否一致。若不一致修 改爲創建了hive數據庫的mysql賬號。

2.hive的服務端沒有打開
hive --service metastore &
然後Ctrl+C
再hive,進去

個人第二種情況,執行後退出hive shell 重新進入異常解除

測試例子:

統計出現個數
hello.txt內容:

OK
hello
java 
php  
lua  
go 
java

#創建 表
hive> create table hive_wordcount(context string);

#加載本地hello.txt數據
hive> load data local inpath '/wwwzyy/java/hello.txt' into table hive_wordcount
hive> select * from hive_wordcount;

OK
hello
java 
php  
lua  
go 
java

#hive 統計sql
hive> select word,count(1) from hive_wordcount lateral view explode(split(countext,'\t')) wc as word group by word;

打印結果:
OK 1
hello 1
java 2
php 1 
lua 1 
go 1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章