集群规划
集群启动
#一键启动dfs和yarn
start-all.sh
#启动mapreduce的JobHsitoryServer任务历史服务(端口号19888)
mapred --daemon start historyserver
#--daemon 指定为守护程序运行
配置Hive环境变量
[root@node1 /]# vim /etc/profile
在profile文件末尾添加(小技巧G+o快速定位到最后)
export HIVE_HOME=/export/server/apache-hive-3.1.2-bin
export PATH= P A T H : PATH: PATH:HIVE_HOME/bin:$HIVE_HOME/sbin
[root@node1 /]# source /etc/profile
注意:配置前最好拍快照
先启动hive服务
知识点:
后台启动metastore服务: nohup hive --service metastore &
后台启动hiveserver2服务: nohup hive --service hiveserver2 &
查看metastore和hiveserver2进程是否启动: jps 注意: 服务名都叫RunJar,可以通过进程编号区分
服务启动需要一定时间可以使用lsof查看: lsof -i:10000 注意: 如果无内容继续等待,如果有内容代表启动成功
HIVE启动:
nohup hive --service metastore &
nohup hive --service hiveserver2 &
#nohup 隐蔽日志(或输出) &后台运行
#如果没设置环境变量:
cd /export/server/apache-hive-3.1.2-bin/bin
nohup ./hive --service hiveserver2 &
jps [-m]
#查看所有进程及uid -m进程详情
**node1**
```shell
[root@node1 ~]# jps
2850 NodeManager
2712 ResourceManager
2153 NameNode
3211 Jps
2284 DataNode
node2
[root@node2 ~]# jps
2001 NodeManager
2123 Jps
1806 DataNode
1886 SecondaryNameNode
node3
[root@node3 ~]# jps
1795 DataNode
1910 NodeManager
2030 Jps
lsof -i:10000
#查询端口信息
运行状态以及页面的查看
先到C:\Windows\System32\drivers\etc\hosts中设置域名映射
192.168.88.161 node1
192.168.88.162 node2
192.168.88.163 node3
页面访问hadoop集群
访问hdfs文件系统的url: http://node1:9870
访问yarn资源调度的url: http://node1:8088
页面访问历史日志
访问历史mr计算日志: http://node1:19888
hdfs
再连接hive服务
知识点:
一代客户端连接命令: hive 注意: hive直接连接成功,直接可以编写sql语句
二代客户端连接命令: beeline 注意: 以后建议用二代客户端
二代客户端远程连接命令: !connect jdbc:hive2://node1:10000
注意: hive用户名是root 密码为空
一代客户端示例:
[root@node1 /]# hive
...
hive> show databases;
OK
default
Time taken: 0.5 seconds, Fetched: 1 row(s)
hive> exit;
二代客户端示例:
[root@node1 /]# beeline
# 先输入!connect jdbc:hive2://node1:10000连接
beeline> !connect jdbc:hive2://node1:10000
# 再输入用户名root,密码不用输入直接回车即可
Enter username for jdbc:hive2://node1:10000: root
Enter password for jdbc:hive2://node1:10000:
# 输入show databases
0: jdbc:hive2://node1:10000> show databases;
INFO : Concurrency mode is disabled, not creating a lock manager
+----------------+
| database_name |
+----------------+
| default |
+----------------+
shell命令
hdfs的shell命令概念: 安装好hadoop环境之后,可以执行类似于Linux的shell命令对文件的操作,如ls、mkdir、rm等,对hdfs文件系统进行操作查看,创建,删除等。
hdfs的shell命令格式1: hadoop fs -命令 参数
hdfs的shell命令格式2: hdfs dfs -命令 参数
hdfs的家目录默认: /user/root 如果在使用命令操作的时候没有加根目录/,默认访问的是此家目录/user/root
查看目录下内容: hdfs dfs -ls 目录的绝对路径
创建目录: hdfs dfs -mkdir 目录的绝对路径
创建文件: hdfs dfs -touch 文件的绝对路径
移动目录/文件: hdfs dfs -mv 要移动的目录或者文件的绝对路径 目标位置绝对路径
复制目录/文件: hdfs dfs -cp 要复制的目录或者文件的绝对路径 目标位置绝对路径
删除目录/文件: hdfs dfs -rm [-r] 要删除的目录或者文件的绝对路径
查看文件的内容: hdfs dfs -cat 要查看的文件的绝对路径 注意: 除了cat还有head,tail也能查看
查看hdfs其他shell命令帮助: hdfs dfs --help
注意: hdfs有相对路径,如果操作目录或者文件的时候没有以根目录/开头,就是相对路径,默认操作的是/user/root
把本地文件内容追加到hdfs指定文件中: hdfs dfs -appendToFile 本地文件路径 hdfs文件绝对路径
注意: window中使用页面可以完成window本地和hdfs的上传下载,当然linux中使用命令也可以完成文件的上传和下载
linux本地上传文件到hdfs中: hdfs dfs -put linux本地要上传的目录或者文件路径 hdfs中目标位置绝对路径
hdfs中下载文件到liunx本地: hdfs dfs -get hdfs中要下载的目录或者文件的绝对路径 linux本地目标位置路径
Hive环境准备[重点]
shell脚本执行方式
方式1: sh 脚本 注意: 需要进入脚本所在目录,但脚本有没有执行权限不影响执行
方式2: ./脚本 注意: 需要进入脚本所在目录,且脚本必须有执行权限
方式3: /绝对路径/脚本 注意: 不需要进入脚本所在目录,但必须有执行权限
方式4: 脚本 注意: 需要配置环境变量(大白话就是把脚本所在路径共享,任意位置都能直接访问)