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添加: H A D O O P H O M E / b i n : HADOOP_HOME/bin: HADOOPHOME/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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟-要努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值