hadoop集群搭建+hive安装

这篇具有很好参考价值的文章主要介绍了hadoop集群搭建+hive安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.系统环境

VMware-workstation:VMware-workstation-full-16.2.3

ubuntu:ubuntu-21.10

hadoop:hadoop2.7.2

mysql:mysql-connector-java-8.0.19

jdk:jdk-8u91-linux-x64.tar(注意要是linux版本的,因为是在linux系统中创建虚拟机)

hive:hive1.2.1

小技巧:

右键单击可以paste

2.创建虚拟机

1.选择典型即可

hadoop集群搭建+hive安装

2.将ubuntu镜像文件导入:

hadoop集群搭建+hive安装

3.用户名要记住,涉及到之后的文件路径:(推荐使用hadoop)

hadoop集群搭建+hive安装

4.磁盘大小,选择默认的20GB就行,不要低于15GB,否则在远程连接的时候可能会出问题

hadoop集群搭建+hive安装

5.进行克隆,生成子节点slave1,slave2......

要选择完整克隆

克隆后的虚拟机密码和原虚拟机相同

3.修改虚拟机

修改hostname和主机名解析文件

步骤

1.sudo vi /etc/hostname

修改为自己虚拟机的名称即可:master,slave1等等

(需要重启才能生效)

第一次使用sudo需要输入密码,即创建虚拟机时的密码

2.sudo vi /etc/hosts

编辑主机名解析文件,填入对应的各节点地址和对应的主机名

把类似于下面格式的文本粘贴到原文件中(各个节点都要)

192.168.40.133 master

192.168.40.132 slave1

首先需要ifconfig查看当前的ip地址

hadoop集群搭建+hive安装

如果显示ifconfig命令找不到,按照报错提示安装即可

问题

1.vim无法输入

原因:ubuntu默认安装的是vim-tiny版本,并没有老版本的vi编辑器,它是vim的最小化版本,只包含一小部分功能

可以到文件夹中看看文件,是不是下面这样:

hadoop集群搭建+hive安装

如果是的话,重装一下vim即可

重装命令:

sudo apt-get remove vim-common(卸载老版本)

sudo apt-get install vim(安装新版本)

4.设置SSH

1.ps -e|grep ssh:查看是否安装ssh服务(一开始都是没安装的)

如果安装:

hadoop集群搭建+hive安装

有sshd表示ssh-server已启动

2.sudo apt-get install ssh:安装ssh

3.节点生成公钥、私钥对对:

ssh-keygen -t rsa:生成

cat .ssh/id_rsa.pub >> .ssh/authorized_keys:导入公钥

cd .ssh cat id_rsa.pub:查看公钥

最终看到的应该是这样的:

hadoop集群搭建+hive安装

这一步骤每个节点都需要执行

4.子节点向主节点传送密钥

scp .ssh/id_rsa.pub hadoop@master:/home/hadoop/id_rsa1.pub(这里的hadoop就是创建虚拟机时填写用户名)

5.主节点设置免密码登录

cat id_rsa1.pub >> .ssh/authorized_keys(这个就是子节点传过来的密钥)

6.主节点返回子节点:

scp .ssh/authorized_keys hadoop@slave1:/home/hadoop/.ssh/authorized_keys(子节点的名称)

7.验证ssh免密码登录:

执行ssh+hostname(如ssh master

验证是否能直接登录,而不需要输入密码

5.配置集群

1.创建以下文件夹

/home/hadoop/data/namenode
/home/hadoop/data/datanode
/home/hadoop/temp

(可以直接在文件夹中创建:

hadoop集群搭建+hive安装

右键new即可)

2.Master上 hadoop路径下解压缩hadoop2.7.2和jdk1.8

压缩包如果不能直接拖到文件夹中,可以通过以下命令从windows系统中上传到虚拟机:

首先windows+R打开命令行

然后:

scp E:\python+hive\hadoop-2.7.2.tar.gz hadoop@192.168.40.133:/home/hadoop

windows中文件的路径 用户名 主机ip

以hadoop为例,其他的压缩包类似

jdk传过来之后需要重命名为jdk1.8

3.解压gz文件:

tar zxvf hadoop-2.7.2.tar.gz

(以hadoop为例)

4.修改master的一些配置文件:

  • 修改hadoop-env.sh 文件:

export HADOOP_PREFIX=/home/hadoop/hadoop-2.7.2(这个是新建的,原文件中没有)

export JAVA_HOME=/home/hadoop/jdk1.8

  • 修改yarn-env.sh文件:

export JAVA_HOME=/home/hadoop/jdk1.8

  • 下面是一些xml文件的配置
修改core-site.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property> 
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value> 
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/temp</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
</configuration>


修改hdfs-site.xml文件:
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/data/datanode</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave1:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>

修改mapred-site.xml文件:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>

修改yarn-site.xml文件:
<configuration> 
<property><name>yarn.nodemanager.aux-services</name> 
<value>mapreduce_shuffle</value></property> 
<property> 
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> 
<value>org.apache.hadoop.mapred.ShuffleHandler</value> 
</property><property>
<name>yarn.resourcemanager.scheduler.address</name> 
<value>master:8030</value></property> 
<property> 
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value></property> 
<property> <name>yarn.resourcemanager.address</name>
<value>master:8032</value> </property> 
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value></property>
<property><name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>

以上直接复制粘贴即可

注意,configuration包裹的替换源文件中的configuration部分,不要替换多了,如果有的文件是.template格式的,直接重命名,把.template删除即可

6.修改环境变量:

sudo vi /etc/profile:修改环境变量

export HADOOP_HOME=/home/hadoop/hadoop-2.7.2
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH:$HADOOP_HOME/share/hadoop/common/hadoop-common-2.7.2.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.7.2.jar:$HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH
export JAVA_HOME=/home/hadoop/jdk1.8
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH 
export JRE_HOME=$JAVA_HOME/jre

所有节点都要配置

直接CV即可

7.拷贝hadoop:

scp -r hadoop-2.7.2/ hadoop@slave1:/home/hadoop:从主节点拷贝到其他节点

8.查看版本:

source /etc/profile:可以使环境变量的配置即刻生效(否则需要重启虚拟机)

然后:

java –version hadoop version

查看jdk和hadoop的版本

能找到对应的版本说明环境变量配置成功

9.启动集群

hdfs namenode -format:格式化(只需配置一次即可)

start-all.sh:启动hadoop集群

hadoop集群搭建+hive安装

信息如上说明成功

集群启动到此结束

jps:查看进程

hadoop集群搭建+hive安装

能看到除去RunJar的其他进程,说明集群启动成功

6.安装hive

Mysql

1.安装MySQL(在master中)

sudo apt-get install mysql-server:服务器

sudo apt-get install mysql-client sudo apt-get install libmysqlclient-dev:客户端

默认安装的是MySQL8,会自动生成一个密码

sudo cat /etc/mysql/debian.cnf:查看初始密码:

hadoop集群搭建+hive安装

建议复制下来保存

2.修改配置文件:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

将 bind-address = 127.0.0.1给注释掉

hadoop集群搭建+hive安装

3.登录数据库:

mysql -u debian-sys-maint -p:登录数据库,密码输入以上的默认密码

4.创建用户

create user 'hive'@'%' IDENTIFIED BY '123456';

grant all privileges on *.* to 'hive'@'%';

flush privileges;

依次执行,创建的数据库用户名是hive,密码是123456

Hive

5.上传apache-hive-1.2.1-bin.tar.gz,解压后重命名为hive-1.2.1

也是可以从windows传送

MySQL的驱动包mysql-connector-java-8.0.19.jar,将解压出来的jar放入hive 的lib目录下

版本可能不同

6.hive环境变量配置

sudo vi /etc/profile

export HIVE_HOME=/home/hadoop/hive-1.2.1
export PATH=$PATH:$HIVE_HOME/bin:$PATH
export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib

所有节点都要配置

7.修改/conf/hive-env.sh文件

添加以下语句:

HADOOP_HOME=/home/hadoop/hadoop-2.7.2
export HIVE_CONF_DIR=/home/hadoop/hive-1.2.1/conf

如果是.template直接删除掉或者复制一份为.xml都行

template就只是一个模板而已

8.修改hive配置文件:

①执行以下命令,创建路径,用于HDFS存储:

hdfs dfs -mkdir -p /hive/warehouse
hdfs dfs -mkdir -p /hive/logs
hdfs dfs -mkdir -p /hive/tmp
hdfs dfs -chmod 733 /hive/warehouse 
hdfs dfs -chmod 733 /hive/logs 
hdfs dfs -chmod 733 /hive/tmp

查看是否成功:

hadoop集群搭建+hive安装

②创建本地目录:

mkdir -p /home/hadoop/hive-1.2.1/hivedata/logs

③配置.xml文件:

cd /home/hadoop/hive-1.2.1/conf:跳转到conf文件夹下

配置hive-site.xml:
cp hive-default.xml.template hive-site.xml:首先复制一份hive-site.xml
然后修改hive-site.xml

<property><name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/stock?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT&allowPublicKeyRetrieval=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>hive</value></property>
<property><name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value></property>
<property><name>hive.metastore.warehouse.dir</name>
<value>/hive/warehouse</value></property>
<property><name>hive.exec.scratchdir</name><value>/hive/tmp</value>
</property>
<!--第六行的stock是数据库名,自己起;然后url后面的比较长,要复制全-->


配置log4j:
先复制出两个文件:
cp hive-exec-log4j.properties.template hive-exec-log4j.properties
cp hive-log4j.properties.template hive-log4j.properties

然后修改配置:
hive.log.dir=/home/hadoop/hive-1.2.1/logs
log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter
<!--两个文件(hive-exec-log4j.properties和hive-log4j.properties)中的都要修改-->

9.主节点hive启动:

schematool --dbType mysql -initSchema:启动数据库

如果启动失败:

则可以通过df -hl查看当前内存的使用情况,如果内存太满:

尝试一下虚拟机-》右键打开设置-》找到硬盘-》扩展,增加容量-》重启虚拟机

hadoop集群搭建+hive安装

再不好用就去网上搜报错信息吧

注意:只能启动一次

hadoop集群搭建+hive安装

这样的报错信息意思是不能重复启动,对正常使用无影响

hive:hive启动

hadoop集群搭建+hive安装

这样就是启动成功

hive中的语句和mysql一样

通过exit;可以退出hive

10.远程连接配置(子节点slave1):

子节点配置:

①将master上的hive-1.2.1目录复制到其他节点上

scp -r hive-1.2.1/ hadoop@slave1:/home/hadoop

②修改hive-site.xml文件,删除如下的配置:

• javax.jdo.option.ConnectionURL

• javax.jdo.option.ConnectionDriverName

• javax.jdo.option.ConnectionUserName

• javax.jdo.option.ConnectionPassword

然后添加如下配置:

<property>
<name>hive.metastore.uris</name>
<value>thrift://192.168.149.128:9083</value>、
</property>
<!--192.168.149.128是主机名,自己修改;9083是端口,不要动-->

<property>
<name>hive.server2.thrift.bind.host</name>
<value>**.**.**.**</value>            <!--主机地址-->
</property>
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>  <!--端口使用默认的即可-->
</property>

远程连接配置到此结束

11.进行远程连接:

master启动metastore:hive --service metastore &

&表示后台启动

执行jps可以看到其RunJar

子节点连接:执行hive即可

master启动hiveserver2 :hive --service hiveserver2 &

子节点连接:执行beeline -u jdbc:hive2://192.168.40.133:10000/stock1 -n root即可

自己改主机地址和数据库名,端口10000不要动

上面两个服务器,可以同时开启,一般用第二个比较多

然后就可以在子节点进行hive的操作了

7.hive操作示例:

123

流程:建表-》整理数据-》数据加载到hive中-》JDBC连接hive取出数据

①建表语句:

create table fortest(time_ String,begin_ FLOAT,end_ FLOAT,low_ FLOAT,high_ FLOAT) row format delimited fields terminated by ',';

②数据格式:

hadoop集群搭建+hive安装

不同的列以“,”分隔,多条数据之间以换行分隔

③加载数据:

LOAD DATA LOCAL INPATH "/home/hadoop/test.txt" INTO TABLE fortest;

需要先把.txt文件复制到虚拟机文件夹中,直接CV即可

④JDBC配置

需要导入的坐标:

 <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-jdbc</artifactId>
            <version>1.2.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>2.7.2</version>
        </dependency>

配置文件:

jdbc_driver=org.apache.hive.jdbc.HiveDriver
jdbc_url=jdbc:hive2://192.168.40.133:10000/stock1
jdbc_username=hive
jdbc_password=123456文章来源地址https://www.toymoban.com/news/detail-449647.html

到了这里,关于hadoop集群搭建+hive安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • docker搭建hadoop和hive集群

    docker搭建hadoop和hive集群

    安装docker教程 https://www.runoob.com/docker/centos-docker-install.html 只要在终端输入: 后出现如下图的内容就证明安装docker成功了 在终端输入: 在终端输入:sudo docker images,可以看到刚刚拉取的两个镜像 每次执行docker语句都要在前面加sudo,比较麻烦,直接将hadoop用户加入docker用户组

    2024年02月01日
    浏览(9)
  • Hadoop——Hive运行环境搭建

    Hadoop——Hive运行环境搭建

    Windows:10         JDK:1.8         Apache Hadoop:2.7.0 Apache Hive:2.1.1         Apache Hive src:1.2.2         MySQL:5.7 1、下载 Hadoop搭建 Apache Hive 2.1.1:https://archive.apache.org/dist/hive/hive-2.1.1/apache-hive-2.1.1-bin.tar.gz Apache Hive 1.2.2 src:https://archive.apache.org/dist/hive/hive-1.2.2/apache-hive-1.

    2024年02月16日
    浏览(13)
  • Hadoop集群环境配置搭建

    Hadoop集群环境配置搭建

    Hadoop最早诞生于Cutting于1998年左右开发的一个全文文本搜索引擎 Lucene,这个搜索引擎在2001年成为Apache基金会的一个子项目,也是 ElasticSearch等重要搜索引擎的底层基础。 项目官方:https://hadoop.apache.org/ 首先准备三台Linux服务器,预装CentOS7。三台服务器之间需要网络互通。本地

    2024年02月03日
    浏览(13)
  • Hadoop集群环境搭建(超详细)

    Hadoop集群环境搭建(超详细)

    Oracle Linux 7.4 JDK 1.8 Hadoop 2.7.4 1.实验准备三台机器分别为master,slave1,slave2 2.单击master机器桌面中的konsole图标 1.编辑/etc/hosts文件,出现如下界面 [Command 001]: 2.按i键,如下图 3.第一行前面添加#,如下图 4.按键ESC,按键:wq回车,保存退出。如下图 5.切换到slave1机器,重复1~4步骤 6

    2024年02月07日
    浏览(29)
  • 单机搭建hadoop环境(包括hdfs、yarn、hive)

    单机搭建hadoop环境(包括hdfs、yarn、hive)

    单机可以搭建伪分布式hadoop环境,用来测试和开发使用,hadoop包括: hdfs服务器, yarn服务器,yarn的前提是hdfs服务器, 在前面两个的基础上,课可以搭建hive服务器,不过hive不属于hadoop的必须部分。 过程不要想的太复杂,其实挺简单,这里用最糙最快最直接的方法,在我的单

    2024年02月20日
    浏览(16)
  • 大数据环境搭建 Hadoop+Hive+Flume+Sqoop+Azkaban

    大数据环境搭建 Hadoop+Hive+Flume+Sqoop+Azkaban

    Hadoop:3.1.0 CentOS:7.6 JDK:1.8 这里网上教程很多,就不贴图了 【内存可以尽量大一些,不然Hive运行时内存不够】 创建tools目录,用于存放文件安装包 将Hadoop和JDK的安装包上传上去 创建server目录,存放解压后的文件 解压jdk 配置环境变量 配置免密登录 配置映射,配置ip地址和

    2024年02月09日
    浏览(12)
  • 分布式集群——搭建Hadoop环境以及相关的Hadoop介绍

    分布式集群——搭建Hadoop环境以及相关的Hadoop介绍

    分布式集群——jdk配置与zookeeper环境搭建 分布式集群——搭建Hadoop环境以及相关的Hadoop介绍 文章目录 前言 一 hadoop的相关概念 1.1 Hadoop概念 补充:块的存储 1.2 HDFS是什么 1.3 三种节点的功能 I、NameNode节点 II、fsimage与edits文件存放的内容介绍 III、DataNode节点 IV、SecondaryNameNod

    2024年02月10日
    浏览(12)
  • 大数据集群搭建全部过程(Vmware虚拟机、hadoop、zookeeper、hive、flume、hbase、spark、yarn)

    大数据集群搭建全部过程(Vmware虚拟机、hadoop、zookeeper、hive、flume、hbase、spark、yarn)

    1.网关配置(参照文档) 注意事项:第一台虚拟机改了,改为centos 101 ,地址为192.168.181.130 网关依然是192.168.181.2,但是一定要注意,它在D盘的文件名称是Hadoop 101,后面重新搭建的会命名文件夹为hadoop 101,hadoop 102和hadoop 103,然后发到一个总的文件夹hadoop_03里面去 VMnet8的IP地址一定

    2024年02月02日
    浏览(13)
  • Linux环境搭建Hadoop及完全分布式集群

    Hadoop是一个开源的分布式计算框架,旨在处理大规模数据集和进行并行计算。核心包括两个组件:HFDS、MapReduce。 配置方案 各虚拟机的用户名分别为test0、test1、test2,主机名为hadoop100、hadoop101、hadoop102 虚拟机的分配如下: hadoop100:NameNode + ResourceManager hadoop101:DataNode + NodeM

    2024年03月23日
    浏览(13)
  • 搭建hadoop集群,从安装虚拟机开始直到hadoop成功搭建

    搭建hadoop集群,从安装虚拟机开始直到hadoop成功搭建

    搭建Hadoop集群   一、实验目的与要求 学习和掌握Hadoop的相关应用,首先必须得学会搭建Hadoop集群。本次实验将针对Hadoop集群的搭建内容进行演练。学会虚拟机的安装和克隆,Linux系统的网络配置和SSH配置,Hadoop集群的搭建和配置,Hadoop集群测试,熟悉Hadoop集群基本的操作。

    2023年04月08日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包