一 安装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解压包配置文件
-
hadoop-env.sh 添加jdk环境变量
vim hadoop-env.sh export JAVA_HOME=/wwwzyy/java/jdk1.8.0_131/
-
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>
-
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相关文件
- 配置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>
- 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