首页 > 其他分享 >搭建Hive

搭建Hive

时间:2022-10-25 13:57:16浏览次数:38  
标签:src hadoop Hive hive etc usr local 搭建

一、配置环境前准备

1、更改主机名
vi /etc/hostname

#将文件中内容删除,添加上本机主机名

如果编辑 文件时出现一下错误:

执行命令 ls -a /路径

查询出隐藏文件找到与当前文件名一致的隐藏文件,将该隐藏文件删除,再次执行编辑命令即可

2、域名映射
#各个节点修改 hosts 文件,在文件末尾添加 本机ip  主机名

[root@localhost ~]# vi /etc/hosts
192.168.17.128 master
192.168.17.129 slave1
192.168.17.130 slave2

 (用的全部是局域ip 而kafkaip监听是用的直连ip)
3、关闭防火墙和安全策略
#关闭防火墙并设置开机不启动
systemctl disable firewalld --now

#关闭防火墙
systemctl stop firewalld

#修改文件 /etc/selinux/config,将文件中 SELINUX 的值修改为 disabled,关闭安全策略
vi /etc/selinux/config
4、重启
#安全策略及修改文件方式修改主机名需重启后生效
reboot
5、配置各节点互信
#生成秘钥
ssh-keygen

箭头标注的地方直接回车即可

#秘钥生成后,将秘钥分发给各个节点
ssh-copy-id -i /root/.ssh/id_rsa.pub master
ssh-copy-id -i /root/.ssh/id_rsa.pub slave1
ssh-copy-id -i /root/.ssh/id_rsa.pub slave2

#秘钥分发完成后测试是否可以免密登录
ssh master      	#登录到 master 节点
exit			#退出登录

分发秘钥时截图(password 输入秘钥发往的节点主机密码):

6、时间同步(在无外网的情况下做时间同步)
#选择一台节点为 ntp服务器节点,修改配置文件
vi /etc/ntp.conf

#将配置文件中 server开头的都给注释掉,写入以下内容	    
server 127.127.1.0
fudge 127.127.1.0 startum 10

#然后启动 ntpd 服务
systemctl start ntpd

#将 ntpd 服务设置为开机自启
systemctl enable ntpd

#将本机作为 ntp 服务器   局域网内其他机器为客户机  来同步本机的时间
#其他机器不需要修改配置文件 只需要执行命令
ntpdate 服务器ip或 主机名(更改过域名解析的话)

#为防止系统重启后时间还原,使用命令将系统时间同步到硬件
hwclock -w

#各节点执行命令查看时间是否一致
date

#### 二、安装JDK

```shell
#解压 JDK 安装包
tar -zxvf /software/jdk-8u141-linux-x64.tar.gz -C /usr/local/src/

#更改环境变量,在末尾添加一下内容
vi /etc/profile

    #Java Env
    JAVA_HOME=/usr/local/src/jdk1.8.0_141
    export PATH=$PATH:$JAVA_HOME/bin

#生效环境变量	
source /etc/profile

#执行 java 和 javac 命令 查看是否安装成功
#安装完成后将安装目录及环境变量文件发送到其它节点
scp -r /usr/local/src/jdk1.8.0_141 root@slave1:/usr/local/src/
scp -r /usr/local/src/jdk1.8.0_141 root@slave2:/usr/local/src/
scp /etc/profile root@slave1:/etc/
scp /etc/profile root@slave2:/etc

#在其它节点执行生效环境变量命令


#### Hadoop完全分布式

##### 1、解压安装包

```shell
tar -zxvf hadoop-2.10.1.tar.gz -C /usr/local/src/

tar 解压命令
-zxvf  可选参数    
hadoop-2.10.1.tar.gz 文件位置,在这条命令中指的是当前文件夹下的hadoop-2.10.1.tar.gz压缩文件,这里可以替换成自己文件的绝对目录,如: /dev/eve/hadoop-2.10.1.tar.gz  这里也可以用相对目录(当前文件夹下开始算),例如:./../china/dev/eve/hadoop-2.10.1.tar.gz 但是要注意,绝对目录,绝对路径写的的命令,不管在哪个文件夹下运行这个命令,系统都可以找到相对应文件位置,然后执行。而相对目录则需从当前所在文件夹下开始写,例如./或者../,因此在不同文件夹下运行的带有相对目录的命令,每次输入的相对文件的位置可能都不一样,例如
2、修改hadoop-env.sh (在hadoop解压完之后的./etc/hadoop/ 这个文件下)
#修改export JAVA_HOME 的值为JDK安装路径(hadoop-env.sh在cd /usr/local/src/hadoop-.../etc)
vi hadoop-env.sh
	
export JAVA_HOME=/usr/local/src/jdk1.8.0_141
3、修改core-site.xml
<!--  用于设置namenode并且作为Java程序的访问入口  -->
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:8020</value>
</property>
<!--  存储NameNode持久化的数据,	DataNode块数据  -->
<property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/src/hadoop-2.10.1/data</value>
</property>
4、修改hdfs-site.xml
<!-- 指定namenode节点对外服务的http地址 -->
<property>
        <name>dfs.namenode.http-address</name>
        <value>master:50070</value>
</property>

<!-- 指定secondarynamenode节点对外服务的http地址 -->
<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>slave1:50070</value>
</property>
5、修改yarn-site.xml
<!-- NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序 -->
<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
</property>

<!-- 配置resourcemanager所在节点 -->
<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
</property>
6、修改mapred-site.xml
#先执行命令 mv mapred-site.xml.template mapred-site.xml
<!--  yarn 与 MapReduce相关  -->
<property>x
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>
7、修改slaves
master
slave1
slave2
8、将Hadoop安装 目录发送到各个节点
scp -r /usr/local/src/hadoop-2.10.1 root@slave1:/usr/local/src/
scp -r /usr/local/src/hadoop-2.10.1 root@slave2:/usr/local/src/
9、初始化namenode
#在hadoop bin目录下执行,该命令不要重复执行,多次执行会造成集群id不一致,
cd /bin
 ./hdfs namenode -format
10、启动 hdfs 和 yarn
#在hadoop sbin 目录下执行

#启动 hdfs
./start-dfs.sh

#启动 yarn
./start-yarn.sh

#全启
./start-all.sh
11、查看集群

12、常见错误
  1. ssh互信未配置

  1. 多次执行 hdfs namenode -format 命令

  2. hadoop-env.sh 配置文件内JAVA_HOME 使用的是默认的jdk环境

安装Hive

1、解压安装包
tar -zxvf /software/apache-hive-2.3.9-bin.tar.gz -C /usr/local/src/
2、配置并生效环境变量
#vi /etc/profile

#Hive Env
HIVE_HOME=/usr/local/src/apache-hive-2.3.9-bin
export PATH=$PATH:$HIVE_HOME/bin

#生效环境变量
source /etc/profile
3、修改hive-env.sh
#重命名文件 hive-env.sh.template 为 hive-env.sh  (在hive的conf里面.)
mv hive-env.sh.template hive-env.sh

#修改hive-env.sh
export HADOOP_HOME=/usr/local/src/hadoop-2.10.1
export JAVA_HOME=/usr/local/src/jdk1.8.0_141
export HIVE_CONF_DIR=/usr/local/src/apache-hive-2.3.9-bin/conf
4、创建配置文件 hive-site.xml
<configuration>

<property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://master:3306/hive?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>149858</value>
</property>
<property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/usr/hive/warehouse</value>        (给hdfs存储文件)
</property>
</configuration>
5、将mysql的驱动放入hive lib目录

6、初始化元数据库
schematool --dbType mysql -initSchema
7、验证
#进入 hive-cli 执行SOL,不报错的话安装完成
show databases;

标签:src,hadoop,Hive,hive,etc,usr,local,搭建
From: https://www.cnblogs.com/catch-autumn/p/16824597.html

相关文章

  • SpringCloud微服务实战——搭建企业级开发框架(四十六):【移动开发】整合uni-app搭建移动
      近年来uni-app发展势头迅猛,只要会vue.js,就可以开发一套代码,发布移动应用到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、......
  • 从0搭建vue3组件库: 如何完整搭建一个前端脚手架?
    相信大家在前端开发中都使用过很多前端脚手架,如vue-cli,create-vite,create-vue等;本篇文章将会为大家详细介绍这些前端脚手架是如何实现的,并且从零实现一个create-kitty脚手......
  • 在hive中造数据
    在hive中造数据1.创建表单分区表CREATETABLE<table_name>(<column><data_type>,<column><data_type>,...)CLUSTEREDBY(<bucket_key>)INTO<n>BUCKETS......
  • zookeeper 集群搭建
    zookeeper集群搭建vi~/.bashrcexportZOOKEEPER_HOME=/data/zookeeper-3.4.14exportPATH=$ZOOKEEPER_HOME/binsource~/.bashrcroot@node148:/data/zookeeper-3.4.14/con......
  • 如何搭建一套学习、开发PostgreSQL的环境
    背景万事开头难,搭建好一套学习、开发PostgreSQL的环境,是重中之重。因为其他平台(Ubuntu,CentOS,MAC)的用户大多数都具备了自行安装数据库的能力,在这里我只写一个面向Wi......
  • 如何搭建一套学习、开发PostgreSQL的环境
    背景万事开头难,搭建好一套学习、开发PostgreSQL的环境,是重中之重。因为其他平台(Ubuntu,CentOS,MAC)的用户大多数都具备了自行安装数据库的能力,在这里我只写一个面向Wi......
  • CentOS 6上的redis搭建实战记录
    redis 是一个基于内存的高性能key-value数据库,数据都保存在内存中定期刷新到磁盘,以极高的读写效率而备受关注。他的特点是支持各种数据结构,stirng,hashes,list,set,和sort......
  • 搭建vue2.0开发环境
    1.安装nodevue的运行是依赖于node的npm的管理工具来实现,下载地址:https://nodejs.org/en/2.查看node版本号打开cmd管理工具,输入node-v命令,查看node版本号,出现版本号说明......
  • Windows NLB搭配IIS的ARR搭建高可用环境
    在现行的许多网络应用中,有时一台服务器往往不能满足客户端的要求,那么有没有什么办法解决服务器的高可伸缩性、高可用、高可靠性和高性能,提升服务器的SLA?......
  • dubbo的一系列配置与搭建
    dubbo新的版本采用前后端分离技术,在github上下载的时候,不仅仅只是一个dubbo-admin而是将admin包分离为dubbo-admin-ui前端包和dubbo-admin-server后端包 首先,无论运......