hadoop+hive+sqoop+spark单机版搭建

1 下载软件包

hadoop下载地址:https://archive.apache.org/dist/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz

hive下载地址: http://archive.apache.org/dist/hive/hive-2.3.7/apache-hive-2.3.7-bin.tar.gz

sqoop下载地址: https://archive.apache.org/dist/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz

spark 下载地址:https://archive.apache.org/dist/spark/spark-2.4.8/spark-2.4.8-bin-hadoop2.7.tgz

scala 下载地址:http://distfiles.macports.org/scala2.11/scala-2.11.12.tgz
jdk 下载地址: https://repo.huaweicloud.com/java/jdk/8u192-b12/jdk-8u192-linux-x64.tar.gz

2 安装hadoop

解压hadoop,jdk软件包

#cd 到hadoop软件包的目录
cd /usr/software/
#将jdk解压/ope/mode目录
tar -zxvf jdk-8u192-linux-x64.tar.gz -C /usr/java/j
#将hadoop解压/ope/mode目录
tar -zxvf hadoop-2.7.6.tar.gz -C /opt/mode/

将Java,hadoop配置到path环境变量

#编辑/etc/profile
vim /etc/profile
#将jdk配置到path
JAVA_HOME=/usr/java/jdk1.8.0_192
JRE_HOME=/usr/java/jdk1.8.0_192/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

#配置hadoop
export HADOOP_HOME=/opt/mode/hadoop-2.7.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
#刷新环境变量
source /etc/profile

测试jdk

java -version

测试hadoop

hadoop version

配置hadoop 要修改hadoop安装目录中的etc/hadoop下的5个文件

hadoop-env.sh

#编辑hadoop-env.sh
 vim hadoop-env.sh
 #设置为jdk的安装目录
 export JAVA_HOME=/usr/java/jdk1.8

core-site.xml

#添加
 <property>
    <name>fs.defaultFS</name>
    <!-- 这里填的是你自己的ip,端口默认-->
    <value>hdfs://192.168.99.199:8020</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <!-- 这里填的是你自定义的hadoop工作的目录,端口默认-->
    <value>/opt/mode/hadoop-2.7.6/tmp</value>
</property>

hdfs-site.xml

#添加
	 <!-- 指定HDFS保存数据副本数量 --> 
  <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>

mapred-site.xml

#添加
<!-- 告诉hadoop以后MR运行在yarn上 -->
 <property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
</property>

yarn-site.xml

#添加
<property>
    <name>yarn.resourcemanager.hostname</name>
    <!-- 自己的ip端口默认 -->
    <value>192.168.99.199</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

格式化hadoop文件格式

#如果不执行该命令将无法打开hdfs 50070端口的管理页面
 hadoop namenode -format

为hadoop创建一个账号

#创建用户名为hadoop的账号
useradd hadoop
#为hadoop账号设置密码
passwd hadoop
#修改module、software文件夹的所有者和所属组均为hadoop用户 
chown -R /opt/mode
#切换为hadoop账号
su - hadoop
#启动hadoop
start-dfs.sh
start-yarn.sh

在浏览器用centos的IP+50070访问

3 安装hive

解压hive软件包

#cd 到hive软件包的目录
cd /usr/software/
#将hive解压/ope/mode目录
tar -zxvf apache-hive-2.3.7-bin.tar.gz -C /opt/mode/

配置环境变量

vim /etc/profile
#配置hive
export HIVE_HOME=/opt/mode/apache-hive-2.3.7-bin
export PATH=$PATH:$HIVE_HOME/bin
#刷新环境变量
source /etc/profile

测试hive

hive

配置hive

cd /opt/mode/apache-hive-2.3.7-bin/conf
vim hive-site.xml 
#没有hive-site.xml就创建,添加如下内容
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--存放hive元数据的数据配置-->
 <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://192.168.99.197:3306/hive_metadata?&amp;createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>
 </property>
<property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>123456</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
</property>
<property>
    <name>datanucleus.schema.autoCreateAll</name>
    <value>true</value> </property>
<property>
    <name>hive.metastore.schema.verification</name>
    <value>false</value>
 </property>
</configuration>

添加对应版本mysql驱动包到hive的lib目录

格式化数据库及验证

# 格式化数据库 (格式化后会在你配置的数据里生成hive元数据存放库)
schematool -dbType mysql -initSchema
# 启动hive
hive
# 查看数据库
hive> show databases;

4 配置sqoop

解压sqoop

 cd /usr/software
 tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /opt/mode

配置环境变量

vim /etc/profile
#sqoop
export SQOOP_HOME=/opt/mode/sqoop-1.4.7.bin__hadoop-2.6.0
export PATH=$PATH:$SQOOP_HOME/bin
#刷新环境变量
source /etc/profile

测试sqoop

sqoop help

将对应版本mysql驱动包拷到sqoop的lib目录

将hive/lib中的hive-common.*.jar导入sqoop的lib目录

测试sqoop使用

#遍历test数据库的所有表
sqoop list-databases --username root  --password 123456 --connect jdbc:mysql://10.200.110.4:3306/test?characterEncoding=UTF-8

#同步mysql表结构到hive
sqoop create-hive-table --connect jdbc:mysql://192.168.99.197:3306/test --table ticket --username root --password 123456 --hive-table test.ticket --fields-terminated-by '\t' --lines-terminated-by '\n'
#执行上命令出现Sqoop java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf
#错误还需呀要将hive的lib目录的hive-common-2.3.3.jar拷贝到sqoop的lib目录
#导入mysql数据ticket表的数据到hdfs
sqoop import --connect jdbc:mysql://192.168.99.197:3306/test --username root --password 123456 --delete-target-dir --target-dir /sqoopTest --fields-terminated-by '\t'  --enclosed-by '\"'  --table ticket  --m 1
#在hive客户端执行命令将hdfs数据导入到hive表里
LOAD DATA INPATH '/sqoopTest*' OVERWRITE INTO TABLE tess.ticket;

ssh免密登陆

1.	在cm节点上,执行 cd ~/.ssh 命令,进入到 .ssh 目录(如此目录不存在,可手动创建),然后执行 ssh-keygen -t rsa 一路回车到结束,然后此目录中会生成一个 id_rsa.pub 公钥文件
2.	在 .ssh 目录中执行 cat id_rsa.pub >> authorized_keys 命令,将公钥追加到 authorized_keys 文件
3.	在 .ssh 目录中执行 chmod 600 authorized_keys 命令,修改权限

配置spark

解压spark

 cd /usr/software
 tar -zxvf spark-2.4.8-bin-hadoop2.7.tgz -C /opt/mode

配置环境变量

vim /etc/profile
#配置spark
export SPARK_HOME=/opt/mode/spark-2.4.8-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
#刷新环境变量
source /etc/profile

配置scala

 cd /usr/software
 tar -zxvf scala-2.11.12.tgz -C /opt/mode

配置环境变量

vim /etc/profile
#配置scala
export SCALA_HOME=/opt/mode/scala-2.11.12
export PATH=$PATH:$SCALA_HOME/bin
#刷新环境变量
source /etc/profile

测试spark

[root@node1 shell]# spark-shell
23/01/12 18:48:00 WARN util.Utils: Your hostname, node1 resolves to a loopback address: 127.0.0.1; using 10.0.2.15 instead (on interface eth0)
23/01/12 18:48:00 WARN util.Utils: Set SPARK_LOCAL_IP if you need to bind to another address
23/01/12 18:48:00 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Spark context Web UI available at http://10.0.2.15:4040
Spark context available as 'sc' (master = local[*], app id = local-1673520498489).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.4.8
      /_/
         
Using Scala version 2.11.12 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_301)
Type in expressions to have them evaluated.
Type :help for more information.

scala> 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值