hadoophive安装配置.docx
《hadoophive安装配置.docx》由会员分享,可在线阅读,更多相关《hadoophive安装配置.docx(11页珍藏版)》请在冰点文库上搜索。
![hadoophive安装配置.docx](https://file1.bingdoc.com/fileroot1/2023-6/24/f2e14c62-aa40-49c2-9b6d-826637473262/f2e14c62-aa40-49c2-9b6d-8266374732621.gif)
hadoophive安装配置
3台机器:
master
系统都为Centos5
假设将master做为namenonde,将slave1和slave2做为datanode
1.在master:
(在slave1和slave2上操作和以下相同)
vi/etc/hosts
master
slave1
slave2
2.用root登陆,建立hadoop用户
useraddhadoop
passwdhadoop
输入111111做为密码
-hadoop #进入hadoop用户目录
ssh-keygen-trsa#建立ssh目录,敲回车到底
cd.ssh
scp-rhadoop@slave1:
/home/hadoop/.ssh/authorized_keys_m
#将master上的密钥传到slave1的hadoop用户下,重命名为authorized_keys_m
scp-rhadoop@slave2:
/home/hadoop/.ssh/authorized_keys_m
#将master上的密钥传到slave2的hadoop用户下,重命名为authorized_keys_m
用hadoop用户进入slave1
scp-rhadoop@master:
/home/hadoop/.ssh/authorized_keys_s1
#将slave1上的密钥传到master的hadoop用户下
用hadoop用户进入slave2
scp-rhadoop@master:
/home/hadoop/.ssh/authorized_keys_s2
#将slave2上的密钥传到master的hadoop用户下
在master,slave1和slave22上执行以下操作
cat>>authorized_keys_m(_s)#将本地密钥添加authorized_keys
这样主节点和从节点之间就可以不用密码直接ssh访问
4.安装JDK到/usr/local下命名为
然后:
编辑三台机器的/etc/profile,增加如下内容
exportJAVA_HOME=/usr/local/
exportCLASSPATH=$CLASSPATH:
$JAVA_HOME/lib:
$JAVA_HOME/jre/lib
exportPATH=$JAVA_HOME/lib:
$JAVA_HOME/jre/bin:
$PATH:
$HOME/bin
exportHADOOP_HOME=/home/hadoop/
exportPATH=$PATH:
$HADOOP_HOME/bin
-----------------------------------------
hadoop配置:
1.将下载好的文件上传到master的/home/hadoop
tarzxvf#解压文件
2.修改4个文件,,masters,slaves
masters:
master
slaves:
slave1
slave2
exportJAVA_HOME=/usr/local/
:
--Putsite-specificpropertyoverridesinthisfile.-->
3 #指定HDFS中每个Block被复制的次数,起数据冗余备份的作用。
在典型的生产系统中,这个数常常设置为3
/home/hadoop/tmp/ #hadoop的tmp目录路径
/home/hadoop/name/ #hadoop的name目录路径
-Xmx512m #进程
Thedefaultblocksizefornewfiles.
#新文件默认block大小
false #效验HDFS文件系统权限
hadoop,supergroup #hadoop页面访问权限
5000 #心跳间隔时间,5000秒=40分
3.配置好后先在/home/hadoop下建立/tmp目录
然后进入hadoop的bin目录hadoopnamenode-format格式化namenode
start-dfs启动namenode上的hadoop
netstat-tnl查看50070,54310,50090端口是否启动
4.将配置好的hadoop打包
cd/home/hadoop
tar-cvf
scp-rhadoop@slave1:
/home/hadoop
scp-rhadoop@slave2:
/home/hadoop
在slave1和slave2上配置和master一样
只需修改文件
去掉
/home/hadoop/name/ #hadoop的name目录路径
增加一句
/home/hadoop/data/ #hadoop的data目录路径
5.进入hadoop的bin目录,start-dfs启动datanode节点
这样hadoop就配置完成了
1)下载hive
目前最新版本是,但是不支持,所以需要安装或者以下版本
解压到每台服务器的/data/soft
解压
Java代码
root@master:
/data/soft#tarzxvf
建立软连
Java代码
root@master:
/data/soft#ln-shive
2)配置hive
1.修改bin/,添加jdk支持
Java代码
exportJAVA_HOME=/usr/local/jdk
exportHIVE_HOME=/data/soft/hive
exportHADOOP_HOME=/data/soft/hadoop
2.在HDFS中创建目录,并且将其开放g+w模式
Java代码
root@master:
/data/soft#hadoopfs–mkdir/tmp
root@master:
/data/soft#hadoopfs–mkdir/user/hive/warehouse
root@master:
/data/soft#hadoopfs–chmodg+w/tmp
root@master:
/data/soft#hadoopfs–chmodg+w/user/hive/warehouse
通过我的试验,以上创建目录的步骤是可以省略的,Hive会自动创建需要的目录
3.修改conf/,这个是hive的关键配置,所以一般不要直接修改,新建文件,将修改的内容在这个里面配置。
Xml代码
/data/work/hive/tmp
ScratchspaceforHivejobs
/data/work/hive/querylog
ThisisthehostaddresstheHiveWebInterfacewilllistenon
9999
ThisistheporttheHiveWebInterfacewilllistenon
3)运行hive
Java代码
root@master:
/data/soft/hive/bin#./hive
Hivehistoryfile=/tmp/root/
hive>
4)测试hive
1.创建数据表
Java代码
hive>createTABLEpokes(idINT,namestring);
OK
Timetaken:
seconds
默认是使用输入格式(inputformat)为text,分割符号使用^A(ctrl-a).
2.创建分区的数据表
Java代码
hive>CREATETABLEinvites(fooINT,barSTRING)PARTITIONEDBY(dsSTRING);
OK
Timetaken:
seconds
包含2列和一个分区列(ds)。
分区列是一个虚拟列。
它不是数据自身的一部分,但是它由得到分区,详细数据加载到里面
3.显示数据表
Java代码
hive>SHOWTABLES;
显示所有的数据表
Java代码
hive>SHOWTABLES'.*s';
只显示以's'结尾的数据表
4.查询
Java代码
hive>select*frompokes;
OK
Timetaken:
seconds
5.从本地加载数据
Java代码
hive>LOADDATALOCALINPATH'./examples/files/'OVERWRITEINTOTABLEpokes;
这个文件位于hive的安装目录下,examples/files/
6.从hdfs加载数据
Java代码
LOADDATAINPATH'/jd/files/'OVERWRITEINTOTABLEpokes;
去掉LOCAL,就是从HDFS加载
关键字OVERWRITE意味着,数据表已经存在的数据将被删除。
省略OVERWRITE,数据文件将会添加到原有数据列表里
7.删除数据表
Java代码
hive>droptablepokes;
OK
Timetaken:
seconds
5)Heapsize设置
Hive默认-Xmx4096m
修改hive/bin/ext/util/
HADOOP_HEAPSIZE=256
6)启动HiveThriftServer
Java代码
hive--servicehiveserver
默认使用10000端口,也可以使用HIVE_PORT来指定端口
Java代码
root@master:
/data/soft/hive/bin#./hive--servicehiveserver--help
usageHIVE_PORT=xxxx./hive--servicehiveserver
HIVE_PORT:
Specifytheserverport
7)启动hwi
Java代码
bin/hive--servicehwi
取消日志的方式
Java代码
nohupbin/hive--servicehwi>/dev/null2>/dev/null&