18. 常用软件梳理
18.1. 软件及开放的端口
Zookeeper:
2181:服务端端口
Hadoop:
HDFS:NameNodde
8020:RPC协议端口
50070:Web-Http端口
YARN:ResourceManager
8032:RPC协议端口
8088:Web-Http端口
MapReduce:JobHistoryServer
10020:RPC协议端口
19888:Web-Http端口
Hive:
9083:MetaStore
10000:HiveServer2
Hue:
8888:Hue Web
HBASE:
16010端口:web端口
CDH版本:60010
18.2. Zookeeper基本使用
启动服务端
cd /export/servers/zookeeper-3.4.6/ bin/zkServer.sh start
查看状态
bin/zkServer.sh status
关闭服务
bin/zkServer.sh stop
客户端连接服务端
bin/zkCli.sh -server hostname:port # 连接多台 bin/zkCli.sh -server node1:2181,node2:2181,node3:2181
列举:只能使用绝对路径
ls path [watch] ls /
创建
create [-s] [-e] path data create /itcast hadoop
读取节点
get path [watch] get /itcast
修改节点
set path data [version] set /itcast spark
删除节点
rmr path rmr /itcast/heima
退出客户端
quit
18.3. Hadoop基本使用
配置环境变量
#HADOOP_HOME export HADOOP_HOME=/export/servers/hadoop-2.7.5 export PATH=:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
第一次启动
第一次启动需要格式化,以后每次启动就无需再格式化
只需要在NameNode所在的机器格式化
hdfs namenode -format
启动
根据节点的分配,在每台机器启动服务
cd /export/servers/hadoop-2.7.5/
启动HDFS(不推荐的方式)
第一台机器:NameNode、DataNode
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
第二台机器:DataNode
sbin/hadoop-daemon.sh start datanode
第三台机器:DataNode
sbin/hadoop-daemon.sh start datanode
启动YARN
第一台机器:NodeManager
sbin/yarn-daemon.sh start nodemanager
第二台机器:NodeManager
sbin/yarn-daemon.sh start nodemanager
第三台机器:ResourceManager、NodeManager
启动resourcemanager
sbin/yarn-daemon.sh start resourcemanager
启动NodeManager
sbin/yarn-daemon.sh start nodemanager
关闭
将上面的每条命令中的start更换为stop
例如:sbin/yarn-daemon.sh stop nodemanager
分类启动(推荐的方式)
启动和关闭HDFS:
start-dfs.sh stop-dfs.sh
启动和关闭YARN:
start-yarn.sh stop-yarn.sh
18.4. Hive的基本使用
启动HDFS和YARN
第一台机器
start-dfs.sh
第三台机器
start-yarn.sh
第一次启动Hive需要初始化元数据
仅第一次启动初始化
启动
hive
18.4.1. beeline
使用
先启动MetaStore
bin/hive --service metastore
再启动hiveserver2
bin/hiveserver2
启动beeline
hive --service metastore >> logs/metastore.log 2>&1 &
后台启动
hiveserver2 >> logs/hiveserver2.log 2>&1 &
进入beeline
用法一:
beeline
构建连接
!connect jdbc:hive2://node3:10000 root 123456
用法二:
beeline -u jdbc:hive2://node3:10000 -n root -p 123456
退出
!quit
上述启动配置过于麻烦
构建启动脚本
构建metastore启动脚本
#!/bin/bash #HIVE_HOME HIVE_HOME=/export/servers/hive-2.1.0-bin #run metastore $HIVE_HOME/bin/hive --service metastore >> $HIVE_HOME/logs/metastore.log 2>&1 &
构建HiveServer2启动脚本
#!/bin/bash #HIVE_HOME HIVE_HOME=/export/servers/hive-2.1.0-bin #run hiveserver2 $HIVE_HOME/bin/hiveserver2 >> $HIVE_HOME/logs/hiveserver2.log 2>&1 &
构建beeline启动脚本
#!/bin/bash #HIVE_HOME HIVE_HOME=/export/servers/hive-2.1.0-bin #run beeline $HIVE_HOME/bin/beeline -u jdbc:hive2://node3:10000 -n root -p 123456
在使用Hive时一个常用的场景是使用Hive执行文件,构建定时自动化脚本执行任务,在脚本中动态获取昨天的日期,并将日期作为参数传递给Hive脚本文件中
通过参数传递表名和日期
#!/bin/bash #动态获取日期 yesterday=`date -d '-1 day' +%Y-%m-%d` #动态获取的表名 tbName=$1 echo $tbName #hive -e "select * from $tbName limit 10" #将脚本的变量转换为Hive中的变量 hive --hiveconf tn=$tbName -f /export/datas/hive.hql
hql脚本
select * from ${hiveconf:tn} limit 10;
18.5. HBASE基本使用
配置环境变量
#HBASE_HOME export HBASE_HOME=/export/servers/hbase-2.1.0 export PATH=:$PATH:$HBASE_HOME/bin
启动
先启动HDFS和ZK
启动HDFS:等待HDFS退出安全模式再启动HBASE
start-dfs.sh
启动Zookeeper
/export/servers/zookeeper-3.4.6/bin/start-zk-all.sh
启动HBASE
start-hbase.sh
关闭HBASE
stop-hbase.sh