hadoopzookeeperhivehbase安装学习_第1页
hadoopzookeeperhivehbase安装学习_第2页
hadoopzookeeperhivehbase安装学习_第3页
hadoopzookeeperhivehbase安装学习_第4页
hadoopzookeeperhivehbase安装学习_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、伪分布式安装Hadoop+zookeeper+hive+hbase安装配置1. 安装JDK,配置环境JAVA环境变量export PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/libexport PATH=$PATH:$HADOOP_INSTALL/bin77/jreexport CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH2.2.1.sudo tar -xzf hadoop-1.0.3.tar.gz2.2. 配置Ha

2、doop环境变量export HADOOP_INSTALL=/user/local/hadoop-1.0.3export PATH=$PATH:$HADOOP_INSTALL/bin激活profile文件:rootlocalhost etc# chmod +x profilerootlocalhost etc# source profilerootlocalhost etc# hadoop version2.3. 查看hadoop版本rootlocalhost # hadoop versionCompiled by hortonfo on Tue May 8 20:31:25 UTC 2012

3、From source with checksum e6b0c1e23dcf76907c5fecb4b832f3be输入 hadoop version命令后输入下图,则安装hadoop成功2.4. 修改配置文件a) hadoop-core-1.0.3.jarb) 去解压后的hadoop-core-1.0.3文件夹下,复制文件core-default.xml,hdfs-default.xml,mapred-default.xml三个文件到hadoop-1.0.3/conf/下,删除hadoop-1.0.3/conf/文件夹下的core-site.xml,hdfs-site.xml,mapred-

4、site.xml,将复制过来的三个文件的文件名中的default修改为sitec) 在hadoop-1.0.3文件夹同级创建文件夹hadoop,打开core-site.xml文件,修改属性节点下的name节点为对应的value节点,修改为/user/local/$/hadoop/hadoop-$,这样hadoop生成的文件会放入这个文件夹下.修改name节点为对应的value节点,修改为:9000/打开mapred-site.xml文件,修改property节点下name为对应的的value, 改为:localhost:90013. 安装ssh1. 执行命令

5、安装ssh:sudo apt-get install ssh2. 基于空口令创建一个新SSH密钥,以启用无密码登陆a) ssh-keygen -t rsa -P '' -f /.ssh/id_rsa执行结果:b) cat /.ssh/id_rsa.pub >> /.ssh/authorized_keys3. 测试ssh localhost测试结果:输入yes再次输入ssh localhost:成功之后,就不需要密钥4. 格式化HDFS文件系统输入指令:hadoop namenode formatrootlocalhost # hadoop namenode form

6、at13/07/17 14:26:41 INFO namenode.NameNode: STARTUP_MSG: /*STARTUP_MSG: Starting NameNodeSTARTUP_MSG: args = formatSTARTUP_MSG: build = /repos/asf/hadoop/common/branches/branch-1.0 -r 1335192; compiled by 'hortonfo' on Tue May 8 20:31:25 UTC 2012*/Usage: java NameNode -f

7、ormat | -upgrade | -rollback | -finalize | -importCheckpoint13/07/17 14:26:41 INFO namenode.NameNode: SHUTDOWN_MSG: /*/5. 启动和终止守护进程启动和终止HDFS和MapReduce守护进程,键入如下指令启动start-all.sh(start-dfs.sh,start-mapred.sh)出错了,JAVA_HOME is not set hadoop-env.sh将红线以内部分注释解开,修改为本机JAVA_HOME再次执行启动命令start-all.sh停止stop-all.

8、sh(stop-dfs.sh,stop-mapred.sh) 到此,hadoop就已经安装完成了6. Hadoop文件系统6.1. 查看hadoop所有块文件执行命令:hadoop fsck / -files blocks执行结果:此结果显示,hadoop文件系统中,还没有文件可以显示本机出错,出错原因:datanode没有启动,具体见evernote笔记。rootlocalhost # hadoop fsck / -files blocks13/07/17 14:44:15 ERROR security.UserGroupInformation: PriviledgedActionExcep

9、tion as:root cause:.ConnectException: Connection refusedException in thread "main" .ConnectException: Connection refused at .PlainSocketImpl.socketConnect(Native Method) at .PlainSocketImpl.doConnect(PlainSocketImpl.java:351) at .PlainSocketImpl.connectToAddress(PlainSocketImpl.java:211) a

10、t .PlainSocketImpl.connect(PlainSocketImpl.java:200) at .SocksSocketImpl.connect(SocksSocketImpl.java:366) at .Socket.connect(Socket.java:529) at .Socket.connect(Socket.java:478) at .NetworkClient.doConnect(NetworkClient.java:163) at .www.http.HttpClient.openServer(HttpClient.java:388) at .www.http.

11、HttpClient.openServer(HttpClient.java:523) at .www.http.HttpClient.<init>(HttpClient.java:227) at .www.http.HttpClient.New(HttpClient.java:300) at .www.http.HttpClient.New(HttpClient.java:317) at .tocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:970) at .tocol

12、.http.HttpURLConnection.plainConnect(HttpURLConnection.java:911) at .tocol.http.HttpURLConnection.connect(HttpURLConnection.java:836) at .tocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1172) at org.apache.hadoop.hdfs.tools.DFSck$1.run(DFSck.java:141) at org.apache.h

13、adoop.hdfs.tools.DFSck$1.run(DFSck.java:110) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) at org.apache.hadoop.hdfs.tools.DFSck.run(DFSck.jav

14、a:110) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79) at org.apache.hadoop.hdfs.tools.DFSck.main(DFSck.java:182)rootlocalhost # 6.2. 将文件复制到hadoop文件系统中a) 在hadoop文件系统中创建文件夹,执行命令:hadoop fs -mkdir docsb) 复制本地文件到hadoop文件系统中执行命令:ha

15、doop fs -copyFromLocal docs/test.txt :9000/user/docs/test.txtc) 复制hadoop文件系统中的文件回本地,并检查是否一致复制:检查结果若显示两个md5加密值相同,则文件内容相同。 d) 查看HDFS文件列表执行命令:hadoop fs ls执行结果:e) 再次查看文件系统文件块执行命令:hadoop fsck / -files blocks执行结果如图: hdfs-site.xml文件,此处修改文件备份数量7. 安装zookeeper7.1. 准备下载地址:7.2. 安装zookeeper执行命令:tar xzf z解压安装文件7.

16、3. 环境变量执行sudo vim /etc/profile打开后加入export PATH=$PATH:$ZOOKEEPER_HOME/bin执行命令 source /etc/profile 让环境变量生效7.4. 配置zookeeper打开zookeeper /conf/zoo.cfg#以下是文件内容#zookeeper基本时间单元(毫秒)tickTime=2000#zookeeper存储持久数据的本地文件系统位置dataDir=/user/local/xxx/zookeeper#zookeeper用户监听客户端连接的端口clientPort=2181 #文件内容结束将$ZOOKEEPER

17、_HOME/r复制到$HADOOP_INSTALL/lib目录下换到 zookeeper/bin/目录下执行./zkServer.sh start执行./zkServer.sh status ,echo stat | nc q 1 localhost,echo stat | nc localhost 2181 查看状态执行 echo ruok | nc localhost 2181执行结果为 imok 是I am ok的意思表示安装并启动成功关闭zookeeper./zkServer.sh stop8. 安装Hive8.1. 准备hive-0.下载地址:8.2. 安装hive执行命令 tar

18、xzf hive-0.9.0.tar.gz解压安装文件8.3. 环境变量执行sudo vim /etc/profile打开后加入export HIVE_HOME=/user/local/export PATH=$PATH:$HIVE_HOME/bin执行命令 source /etc/profile 让环境变量生效8.4. 配置hive进入$HIVE_HOME/bin下打开文件 hive-conf.sh插入三行export HIVE_HOME=dirname "$bin"关闭文件后执行命令 ./hive shell 进入hive的shell模式执行命令 “show table

19、s;”hive语句后面必须跟随一个”;” 不然命令无法执行,执行结果如下:安装成功Hive的语法和mysql的差不多,这里就不多写了9. 安装hbase9.1. 准备hbase-0.94下载地址:9.2. 安装hbase执行命令 tar xzf hbase-0.94z解压安装文件9.3. 环境变量执行sudo vim /etc/profile打开后加入export HBASE_HOME=/user/local/export PATH=$PATH:$HBASE_HOME/bin执行命令 source /etc/profile 让环境变量生效9.4. 配置hbase9.4.1. 打开hbase/c

20、onf/hbase-env.sh 加入如下内容export HBASE_MANAGERS_ZK=false修改HBASE_OPTS为:export HBASE_OPTS="$HBASE_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"9.4.2. 打开hbase/conf/hbase-site.xml加入如下内容<configuration><property> <name>hbase.rootdir</name

21、> <value>hdfs:/localhost:9000/hbase</value></property><property> <name>hbase.cluster.distributed</name> <value>true</value></property><property><name>hbase.master</name><value>localhost:60000</value></property&

22、gt; <property> <name>hbase.master.port</name> <value>60000</value> <description>The port master should bind to.</description> </property></configuration>打开regionservers文件放入localhost将$HBASE_HOME/ 复制到$HADOOP_INSTALL/lib下重新启动hadoop 执行start-all.sh转入h

23、base/bin/目录下执行./start-hbase.sh 脚本,启动hbase9.4.3. 跟踪日志进入hbase日志追踪,进入$HBASE_HOME/logs,执行命令:tail - f hbase-master.log如果启动一直出现下图所示日志,表示hadoop在安全模式下,需要关闭hadoop安全模式,9.4.4. 关闭hadoop安全模式命令:hadoop dfsadmin -safemode leave关闭后,hbase会将会正常启动9.4.5. 启动成功后执行hbase shell进去shell模式下 执行create test, data创建表。执行结果如下:执行list查

24、询表,执行结果如下:这样我们就安装成功了9.5. HBase基本命令a) 常用命令创建表:Ø create 'table','family1','family2','familyN',执行结果如下:table是表名称, family(1N)为列族名称, 每个列族下面可以有很多列。0 row(s) in 1.0660 seconds 标识此命令返回结果0行,执行时间为1.0660秒。插入数据:Ø put 'table', 'row', 'family1:column'

25、;, 'value'执行结果如下:row为行名称,family:column 代表名称为famliy的列族下名称为column的列,column为列名称,value为此行此列的值删除表之前必须先将表禁用,否则无法删除,命令如下Ø disable 'table'Ø disable_all 't.*'删除表Ø drop 'table'Ø drop_all 't.*'若不禁用表,直接执行删除, 会出现如下图的执行结果:此图中红线所括中的地方显示异常信息,表示此table表现在在可用

26、状态,请先禁用它。所以我们删除表之前必须执行禁用。表可用命令Ø enable 'table'Ø enable_all 't.* '9.6. 其他命令b) 查看表信息Ø describe 'table'此图中左侧可以看出表信息, 表名称,表列族名称。右边有enabled,true标识此表未禁用,若为false标识此表已禁用,冻结后可用上方的解除禁用命令解除。判断表是否被禁用:Ø is_disabled 'table'判断表是否可用:Ø is_enabled 'table

27、9;查看hbase中所有的表:Ø list 查看表中数据行数Ø count 'table'追加一个列族Ø alter 'table', 'famliy4', 'famliy5', 'famliyN'.10. hive结合hbase 使用10.1. 结合说明用hbase做数据库,但由于hbase没有类sql查询方式,所以操作和计算数据非常不方便,于是整合hive,让hive支撑在hbase数据库层面 的 hql查询.hive也即 做数据仓库官方结合使用wiki地址Hive与HBase的整

28、合功能的实现是利用两者本身对外的API接口互相进行通信,相互通信主要是依靠hive_hbase-handler.jar工具类 (Hive Storage Handlers),大致意思如图所示10.2. 修改配置复制 $HBASE_HOME/ , $HBASE_HOME/-tests.jar和$ZOOKEEPER_HOME/ 三个文件到$HIVE_HOME/lib目录下,删除$HIVE_HOME/lib目录下的hbase-0.92.0版本的jar包打开配置文件 $HIVE_HOME/conf/hive-site.xml 若此文件不存在,请自行创建新的,或者复制hive-default.xml 并

29、重命名为hive-site.xml,在底部添加如下内容:<property><name>hive.querylog.location</name><value>/usr/local/hive/logs</value></property>在配置文件中查找 修改为hadoop仓库hdfs:/localhost:9000/hive也可以使用本地目录,如 /usr/local/hivedata/warehouse复制 $HIVE_HOME/conf/hive-site.xml 到 $HADOOP_INSTALL/conf目录如果

30、不将此配置文件复制到该目录下,将$HBASE_HOME/hbase-0.94.1.jar复制到$HADOOP_INSTALL/lib目录下启动hadoop ,hbase执行命令:$ $HIVE_HOME/bin/hive auxpath $HIVE_HOME/lib/hive-hbase-handler-0.8.1.jar, $HIVE_HOME/lib/hbase-0.92.1.jar, $HIVE_HOME/lib/zookeeper-3.4.3.jar -hiveconf hbase.master=localhost:60000创建表:Ø CREATE TABLE hbase_

31、table_1(key int, value string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val") TBLPROPERTIES ("" = "xyz");若出现下图错误:则需要将$HBASE_HOME/lib/ 复制到 $HIVE_HOME/lib下面$ cp

32、$HBASE_HOME/lib/protobuf-java-2.4.0a.jar $HIVE_HOME/lib复制完后再次执行创建表命令,执行结果如下:创建成功后,退出hive 的shell 模式,进入hbase的shell模式执行 $ $HBASE_HOME/bin/hbase shell , 进入后,执行命令查询表Ø list箭头所指是刚才在 hive 模式下创建的后对应过来的表 xyz, 因为是刚创建的 所以这个表示空的,执行:Ø scan 'xyz'执行下个命令, 我们可以看到表的信息Ø describe 'xyz' 下来用

33、回到hive,执行之前 进入hive shell模式的命令,进入后创建一张,Ø create table temp(a int, b string);导入一个文件的数据Ø LOAD DATA LOCAL INPATH '/tmp/test.txt' OVERWRITE INTO TABLE temp;将数据放入hbase_table_1中Ø insert overwrite table hbase_table_1 select a, b from temp limit 1;查询数据Ø select * from hbase_table_1;结果如下:11. Eclipse结合MapReduce11.1. 准备Eclipse IDE version=3.7将复制到eclipse安装目录的Plugin目录下启动hadoop,start-all.sh启动eclipse11.2. 配置MapReduce点击菜单栏的Windowàpreferences àHadoop Map/Reduce配置hadoop目录11.3. 打开MapReduce视图打开IDE的WindowàShowViewàOther打开Map/Reduce Locations

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论