hadoop hive hbase hadoop hive hbase 01_伪分布下Hadoop-Hive-HBase搭建

导读:爱华网网友为您分享以下“01_伪分布下Hadoop-Hive-HBase搭建”的资讯,希望对您有所帮助,感谢您对aIhUaU.com的支持!

hadoop-core-1.0.2-SNAPSHOT.jar

如果不编译hadoop的core,将使用到hadoop-core-1.0.2-SNAPSHOT.jar的地方路径定位为%HDOOP_HOME%/hadoop-core-1.0.1.jar的绝对路径

5.4. 从已编译好的hadoop进行eclipse-plugin编译

2. 在hadoop-1.0.1/src/contrib/eclipse-plugin/build.xml中添加如下内容 <property name="eclipse.home" value="/opt/eclipse"/> <property name="version" value="1.0.2-SNAPSHOT"/>

<importfile="../build-contrib.xml"/>

3. 在hadoop-1.0.1/src/contrib/eclipse-plugin/build.xml中添加如下内容 <mkdir dir="${build.dir}/lib"/>

<copy file="${hadoop.root}/build/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/>

<copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/> <copy file="${hadoop.root}/lib/commons-lang-2.4.jar" todir="${build.dir}/lib" verbose="true"/>

<copy file="${hadoop.root}/lib/commons-configuration-1.6.jar" todir="${build.dir}/lib" verbose="true"/> <copy file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/>

<copy file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/>

<copy file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar" todir="${build.dir}/lib" verbose="true"/>

4. New-->"java project

Project name:commontest

Location:/opt/hadoop-1.0.1 (hadoop解压路径)

5. 创建项目后进入项目属性(Project?Properties)

6. 进入Builders,默认只有Java Builder

7. 将

Java Builder的√去掉,新建Ant Builder

8. Buildfile指向hadoop-1.0.1/src/contrib/eclipse-plugin/build.xml

9. Base Directory指向hadoop-1.0.1/src/contrib/eclipse-plugin/

10. 最终效果如下图

11. 在执行前可以修改ant为系统路径,参见可选步骤。

12. 确定后执行Project?build project。同时把该菜单下的自动编译(Build Automatically)

的√去掉。 13. 正确执行后在hadoop-1.0.1/build/contrib/eclipse-plugin下面会有一个jar文件生成

hadoop-eclipse-plugin-1.0.2-SNAPSHOT.jar

14. 将HADOOP_HOME/lib目录下的

commons-configuration-1.6.jar ,

commons-httpclient-3.0.1.jar ,

commons-lang-2.4.jar ,

jackson-core-asl-1.8.8.jar jackson-mapper-asl-1.8.8.jar

等5个包复制到hadoop-eclipse-plugin-1.0.2-SNAPSHOT.jar的lib目录下

15. 修改该包META-INF目录下的MANIFEST.MF,将classpath修改为以下内容: Bundle-ClassPath:

classes/,lib/hadoop-core.jar,lib/commons-lang-2.4.jar,lib/commons-configuration-1.6.jar,lib/jackson-mapper-asl-1.8.8.jar,lib/jackson-core-asl-1.8.8.jar,lib/commons-httpclient-3.0.1.jar

注:RedHat中修改包中内容需要将文件拖出来修改后再拖进去

5.5. Eclipse-Plugin配置

1. 将上一步生成的jar复制到Eclipse的plugins目录下,重启Eclipse

注:如果之前已经将未配置好的hadoop-eclipse-plugin-1.0.2-SNAPSHOT.jar复制到该目录下,那么需要将原先插件删除,开启一个Eclipse,然后关闭,再将新插件复制到该目录下。

2. Eclipse中打开Window-->Preferens,发现Hadoop Map/Reduce选项,在这个选项里配置Hadoop installation directory。

3. 配置Map/Resuce Locations:

在Window-->Show View->other...,在MapReduce Tools中选择Map/Reduce Locations。

在Map/Reduce Locations(Eclipse界面的正下方)中新建一个Hadoop Location。 在这个View中,点击鼠标右键-->New Hadoop Location。在弹出的对话框中你需要配置:

Location Name :此处为参数设置名称,可以任意填写。

Map/Reduce Master (此处为Hadoop集群的Map/Reduce地址, 应该和mapred-site.xml中的.mapred.job.tracker设置相同)

Host: localhost

port: 9001

DFS Master (此处为Hadoop的master服务器地址,应该和core-site.xml中的 fs.default.name设置相同).

Host: localhost

Port: 9000

设置完成后,点击Finish应用设置

6. Hive配置

6.1. 准备

hive不支持用insert语句一条一条的进行插入操作,也不支持update操作。 数据是以load的方式加载到建立好的表中。数据一旦导入就不可以修改。

即只支持文件形式更新或者将查询结果插入到数据库中 获得Hive

wget

或者

wget

解压并安装到/opt/hadoop-1.0.1/hive-0.8.1

下文以0.8.1为例进行安装

6.2. Hive环境参数

在/etc/profile文件尾部内容,添加 export HADOOP_HOME=/opt/hadoop-1.0.1

PATH=$HADOOP_HOME/bin:$PATH

export HIVE_HOME=$HADOOP_HOME/hive-0.8.1

export PATH=$HIVE_HOME/bin:$PATH

6.3. Hive配置

6.3.1. site.xml

1.将hive-0.8.1目录下/conf/hive-env.sh.template中的HADOOP_HOME为改实际的Hadoop安装目录 # Set HADOOP_HOME to point to a specific hadoop install directory

HADOOP_HOME=/opt/hadoop-1.0.1

2.将conf/hive-env.sh.template复制并命名为hive-env.sh,再增加执行权限

6.3.2. 在HDFS中创建Hive目录

在HDFS中创建/tmp和/user/hive/warehouse并设置权限:

提示:记得先打开HDFS(执行start-all.sh);

hadoop fs -mkdir /tmp

hadoop fs -mkdir /user/hive/warehouse hadoop fs -chmod g+w /tmp

hadoop fs -chmod g+w /user/hive/warehouse

将$HIVE_HOME/conf/hive-default.xml.template复制两份,分别命名为hive-default.xml(用于保留默认配置)和

hive-site.xml(用于个性化配置,可覆盖默认配置)

提示:

/tmp和/user/hive/warehouse这两个路径是在hive-site.xml中的

ive.metastore.warehouse.dir属性和hive.exec.scratchdir属性指定的。

6.4. 运行hive

配置完环境变量记得注销再登陆

执行hive后看到如下图所示的hive>即安装正确

如果出现如下错误

6.5. 测试

执行:

show tables;

正确界面

如果出现如下错误提示,请将$HADOOP_HOME/build这个文件夹移到别的地方后重新进入Hive FAILED: Error in metadata: javax.jdo.JDOFatalInternalException: Unexpected exception caught. NestedThrowables:

java.lang.reflect.InvocationTargetException FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

6.5.1. 测试MapReduce

1.在hive>命令提示符下执行如下语句,创建pokes表

CREATE TABLE pokes (foo INT, bar STRING);

2.执行如下语句,将内部测试数据载入pokes表中 LOAD DATA LOCAL INPATH '/opt/hadoop-1.0.1/hive-0.8.1/examples/files/kv1.txt' OVERWRITE INTO TABLE pokes;

3.执行如下语句

select foo from pokes;

如果最终能正确显示一堆的数字,表明Hive结合MapReduce使用没问题。 参考:https://cwiki.apache.org/confluence/display/Hive/GettingStarted

6.6. 退出

在hive的Shell中输入exit;

7. Hive-MySql配置

7.1. 问题引入

按照第7步安装的元数据保持在内嵌的数据库Derby中,只能允许一个会话连接,如果要支持多用户多会话,则需要一个独立的元数据库,目前比较流行的是使用MySQL

7.2. 安装mysql并启动对应服务

yum install mysql

yum install mysql-server

yum install mysql-devel

service mysqld start

提示:yum配置参见附录1

7.3. 为Hive建立相应的MySQL帐号,并赋予足够的权限

1.mysql的root命令行:mysql -uroot -p

2.创建hive数据库:create database hive;

3.创建用户hive,它只能从localhost连接到数据库并可以连接到wordpress数据库 grant all on hive.* to hive@localhost identified by '123456';

7.4. 修改配置文件hive-site.xml 将在Hive的conf目录下的配置文件hive-site.xml中对应内容修改为如下 <property>

<name>javax.jdo.option.ConnectionURL</name>

<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value> <description>JDBC connect string for a JDBC metastore</description>

文档控制

修改类型:A——加工

M——修改 D——删除 黑色颜色字体为系统输出或已存在内容

绿色颜色字体为输入或修改的内容

紫色字体为提示信息或注意信息

红色字体为需要注意的路径问题

目录

1.

2.

3. 使用的软件版本 ....................................................................................................................... 4 安装好虚拟机及创建linux系统 ............................................................................................. 4 基本配置 ................................................................................................................................... 4

3.1. ssh的安装设置 ............................................................................................................ 4

3.1.1. 由于Hadoop用ssh 通信,先进行免密码登录设定 .................................... 4

3.1.2. 完成后请登入确认不用输入密码(第一次登入需输入密码,第二次就可以

直接登入到系统) ........................................................................................................... 4

3.1.3. Agent admitted failure to sign using the key错误 ............................................ 4

3.1.4. 成功界面 ........................................................................................................... 4

3.2. 安装与配置JAVA .......................................................................................................... 4

Hadoop配置——伪分布模式 .................................................................................................. 5

4.1. Hadoop环境参数 ......................................................................................................... 5

4.2. hadoop配置 ................................................................................................................. 5

4.3. Hadoop运行 ................................................................................................................. 6

4.3.1. 格式化分布式文件系统 ................................................................................... 6

4.3.2. 启动hadoop守护进程:................................................................................. 6

4.3.3. 复制文件 ........................................................................................................... 6

4.4. 运行WordConut实例: .............................................................................................. 7

4.5. 停止Hadoop守护进程。 ............................................................................................ 8

Eclipse-plugin编译 ................................................................................................................... 8

4. 5.

6.

7.

8.

9. 5.1. 注意点 ........................................................................................................................... 8 5.2. 可选步骤:使用系统自带的ant................................................................................. 8 5.3. 可选步骤:编译hadoop的core ................................................................................ 8 5.4. 从已编译好的hadoop进行eclipse-plugin编译 ........................................................ 9 5.5. Eclipse-Plugin配置 ..................................................................................................... 10 Hive配置 ................................................................................................................................ 10 6.1. 注意事项 ..................................................................................... 错误!未定义书签。 6.2. 获得Hive .................................................................................................................... 10 6.3. Hive环境参数............................................................................................................. 11 6.4. Hive配置 .................................................................................................................... 11 6.5. 创建Hive文件路径 .................................................................................................... 11 6.6. 运行hive ..................................................................................................................... 11 6.7. 测试 ............................................................................................................................. 11 6.8. 测试MapReduce ........................................................................................................ 12 Hive-MySql配置 ..................................................................................................................... 12 7.1. 问题引入 ..................................................................................................................... 12 7.2. 安装mysql并启动对应服务 ..................................................................................... 12 7.3. 为Hive建立相应的MySQL帐号,并赋予足够的权限 .......................................... 12 7.4. 修改配置文件hive-site.xml ....................................................................................... 12 7.5. 把MySQL的JDBC驱动包复制到Hive的lib目录下。 .......................................... 13 7.6. 重新运行hive ............................................................................................................. 13 7.7. 查看一下元数据的效果。 ......................................................................................... 13 HBase配置.............................................................................................................................. 13 8.1. 修改打开文件数目的限制 ......................................................................................... 13 8.2. 设置系统允许运行的最大进程数目 ......................................................................... 14 8.3. 获得HBase .................................................................................................................. 14 8.4. HBase环境参数 .......................................................................................................... 14 8.5. HBase配置 .................................................................................................................. 14 8.5.1. 修改HBase路径下的conf/hbase-site.xml文档 ........................................... 14 8.5.2. 修改HBase路径下的conf/hbase-env.sh文档 ............................................. 15 8.6. 修改hadoop的配置文件 .......................................................................................... 15 8.6.1. 启动durable sync功能 .................................................................................. 15 8.6.2. 配置HDFS一次最多可以提供的文件数上限:........................................... 15 8.7. 启动HBase .................................................................................................................. 15 8.8. 测试 ............................................................................................................................. 16 8.9. 重启后无法停止HBase问题 ..................................................................................... 17 错误总结 ................................................................................................................................. 17

9.1. 命令行中执行错误 ..................................................................................................... 17

9.1.1. Agent admitted failure to sign using the key ................................................... 17

9.1.2. WARN hdfs.DFSClient: DataStreamer Exception:

org.apache.hadoop.ipc.RemoteException ...................................................................... 17

9.1.3. org.apache.hadoop.dfs.SafeModeException: Cannot delete

/user/hadoop/input. Name node is in safe mode........................................................... 17

9.1.4. ERROR security.UserGroupInformation: PriviledgedActionException ............. 18

9.1.5. Exception in thread "main" java.io.IOException: Error opening job jar:

hadoop-examples-1.0.1.jar ............................................................................................. 18

9.1.6. INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already

tried 9 time(s). ................................................................................................................. 18

9.2. Eclipse插件错误 ......................................................................................................... 18

9.2.1. Call to localhost/127.0.0.1:9000 failed on connection .................................... 18

9.3. Hive错误 .................................................................................................................... 19

9.3.1. FAILED: Error in metadata ............................................................................... 19

10. 附录1 yum配置 ............................................................................................................. 19

10.1. 更新配置文件 ......................................................................................................... 19

11. 核心参考资料 ................................................................................................................. 21

12. 其他 ................................................................................................................................. 21

1. 使用的软件版本

(1)VMware8.0.0.exe

(2)hadoop-1.0.1.tar.gz

(3)jdk-6u32-linux-i586.bin

(4)rhel-server-5.4-i386-dvd.iso 也可以使用 ubuntu-12.04-desktop-i386.iso

(5)Eclipse 3.7(必须)

(6)hive-0.8.1

2. 安装好虚拟机及创建linux系统

3. 基本配置

3.1. ssh的安装设置

3.1.1. 由于Hadoop用ssh 通信,先进行免密码登录设定

注意:此处免密码登陆设定为root用户使用,伪分布模式就用root用户就好

非root用户的免密码登陆见全分布配置

$ apt-get install ssh (Redhat系统默认已经安装,略过)

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

$ ssh localhost

3.1.2. 完成后请登入确认不用输入密码(第一次登入需输入密码,第二次就可以直接登入

到系统)

~$ ssh localhost

~$ exit

~$ ssh localhost

~$ exit

3.1.3. Agent admitted failure to sign using the key错误

前提:在输入ssh localhost

错误:命令行提示Agent admitted failure to sign using the key

解决:

1.

输入ps -Af|grep agent查看有无ssh-agent有无运行

2. 若没有在~/.ssh目录下执行

~/.ssh$ ssh-agent

~/.ssh$ ssh-add id_rsa

再次返回第二步

3.1.4. 成功界面

3.2. 安装与配置JAVA

安装完毕java后配置系统路径

在/etc/profile文件尾部内容,添加

JAVA_HOME=/opt/java/jdk1.6.0_32 PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME

export PATH

export CLASSPATH

4. Hadoop配置——伪分布模式

4.1. 准备

1、将安装包hadoop-1.0.1.tar.gz 拷贝至 /opt 下

2、解压包:tar -zvxf hadoop-1.0.1.tar.gz

4.2. Hadoop环境参数

1、配置Hadoop环境参数: 在/etc/profile文件尾部内容,添加

export HADOOP_HOME=/opt/hadoop-1.0.1

PATH=$HADOOP_HOME/bin:$PATH 2、注销用户并重登陆(重启也可以)(此为Ubuntu下命令)

sudo skill -kill clcnsy

重启后输入

hadoop version

出现版本信息 安装完毕

3、编辑/opt/hadoop-1.0.1/conf/hadoop-env.sh文件将JAVA_HOME指定为本机路径

# The java implementation to use. Required.

export JAVA_HOME=/opt/java/jdk1.6.0_32

4.3. hadoop配置

将hadoop-1.0.1conf下面的文件进行更新

1)core-site.xml文档内容

<configuration> <property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value> <description>The name of the default file system.A URI whose scheme and authority determine the FileSystem implementation.

</description>

</property>

<!--make sure this tmp directory will not be deleted when reboot PC-->

<property>

<name>hadoop.tmp.dir</name>

<value>/home/clcnsy/hadoopdata/tmp</value>

<description>A base for other temporary directories.</description>

</property> </configuration>

2)hdfs-site.xml文档内容:

<configuration> <!--make sure the value less than then the number of cluster machines--> <property>

<name>dfs.replication</name>

<value>1</value>

<description>The actual number of replication can be specified when the file is created.

</description>

</property>

<property>

<name>dfs.data.dir</name>

<value>/home/clcnsy/hadoopdata/hdfs/data</value>

<final>true</final>

</property>

<property>

<name>dfs.name.dir</name>

<value>/home/clcnsy/hadoopdata/hdfs/name</value>

<final>true</final>

</property>

</configuration>

3)mapred-site.xml文档内容: <configuration>

<property>

<name>mapred.job.tracker</name>

<value>localhost:9001</value>

<description>The host and port that the MapReduce job tracker runs at. </description> </property>

</configuration>

4.4. Hadoop运行

4.4.1. 格式化分布式文件系统

hadoop namenode -format

4.4.2. 启动hadoop守护进程:

start-all.sh

4.4.3. 复制文件

// 将conf中的内容复制到hadoop中的input文件夹中

hadoop fs -put conf input

正常执行后输出为

如果出现下面异常,执行关闭防火墙操作

WARN hdfs.DFSClient: DataStreamer Exception: org.apache.hadoop.ipc.RemoteException sudo ufw disable

stop-all.sh

start-all.sh

hadoop fs -put conf input

如果出现下面异常,执行关闭安全模式操作

org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Name node is in safe mode hadoop dfsadmin -safemode leave

详细:

4.5. 测试WordConut实例:

(1)先在~/test中建立两个输入文件file01 和file02:

echo “Hello World Bye World” > file01 echo “Hello Hadoop Goodbye Hadoop” > file02

(2)在~/中运行

hadoop fs -put test input

(3)执行wordcount:

hadoop jar /opt/hadoop-1.0.1/hadoop-examples-1.0.1.jar wordcount input output

(4)完成之后,查看结果:

hadoop fs -cat output/part-r-00000

如出现下面错误,表示output目录已经存在,需要更变output目录

ERROR security.UserGroupInformation: PriviledgedActionException

如出现下面异常,表示jar包指定错误,一般是由路径问题引起,可以采用绝对路径解决

Exception in thread "main" java.io.IOException: Error opening job jar: hadoop-examples-1.0.1.jar

(5)复制到本地查看:

hadoop fs -get output output

第3步运行过程截图:

第4步执行输出截图:

另一种方式(未测试)

(1)先在本地磁盘建立两个输入文件file01 和file02:

$ echo “Hello World Bye World” > file01

$ echo “Hello Hadoop Goodbye Hadoop” > file02

(2)在hdfs 中建立一个input 目录:$ hadoop fs –mkdir input

(3)将file01 和file02 拷贝到hdfs 中:

$ hadoop fs –copyFromLocal /home/clcnsy/soft/file0* input

(4)执行wordcount:

$ hadoop jar hadoop-0.20.1-examples.jar wordcount input output

(5)完成之后,查看结果:

$ hadoop fs -cat output/part-r-00000

4.6. 停止Hadoop进程。

stop-all.sh

5. Eclipse-plugin编译

5.1. 注意点

1. 务必使用Eclipse3.7的版本

2. 务必使用JDK1.6环境

3. 以下内容在hadoop-1.0.1下测试通过

5.2. 可选步骤:使用系统自带的ant

1. 此步骤目的是为了在编译时候不下载ant而使用系统自带的

2. 安装ant

sudo adp-get insatall ant

3. 配置ant的PATH路径 ANT_HOME=/usr/share/ant

PATH=$ANT_HOME/bin:$PATH

4. 将有用到ant的代码按照如下步骤修改(根据实际不同build.xml都需要单独修改)

4.1注释掉下面代码内容

target name="ivy-download" description="To download ivy" unless="offline">

<get src="${ivy_repo_url}" dest="${ivy.jar}" usetimestamp="true"/>

</target>

4.2在build.xml中搜索ivy-download,将搜索到的内容去掉。

原则上只会在这里出现

<target name="ivy-init-antlib" depends="ivy-download,ivy-init-dirs,ivy-probe-antlib"/>

5. 注销并重新登录

5.3. 可选步骤:编译hadoop的core

1. 步骤参见8.4的第三步至第八步,下面步骤需要此步骤提供的

</property> <property>

<name>javax.jdo.option.ConnectionDriverName</name>

<value>com.mysql.jdbc.Driver</value>

<description>Driver class name for a JDBC metastore</description> </property> <property>

<name>javax.jdo.option.ConnectionUserName</name>

<value>hive</value>

<description>username to use against metastore database</description> </property> <property>

<name>javax.jdo.option.ConnectionPassword</name>

<value>123456</value>

<description>password to use against metastore database</description>

</property>

7.5. 把MySQL的JDBC驱动包复制到Hive的lib目录下。

在搭建环境时候我使用的是163的yum源。下载的mysql版本为

mysql Ver 14.12 Distrib 5.0.95, for redhat-linux-gnu (i686) using readline 5.1

在这个版本下可以使用如下的mysql驱动

mysql-connector-java-5.0.8-bin.jar

从http://downloads.mysql.com/archives/mysql-connector-java-5.0/mysql-connector-java-5.0.8.tar.gz下载

7.6. 重新运行hive

执行:

show tables;

如果不报错,表明基于独立元数据库的Hive已经安装成功了。

7.7. 查看一下元数据的效果。

在Hive上建立数据表:

CREATE TABLE my(id INT,name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY

't';

show tables;

select name from my;

然后以刚刚建立的hive帐号登录MySQL查看元数据信息。

mysql> use hive

mysql> show tables;

mysql> select * from TBLS;

在TBLS中可以看到Hive表的元数据。

参考http://www.lamfire.com/?p=55

8. HBase配置

8.1. 准备

8.1.1. 修改打开文件数目的限制

默认时候的值为1024,我们需要修改它。

在/etc/security/limits.conf增加一行:

root - nofile 32768

注释:root为运行hadoop的用户名,-表示同时增加hard和soft的值

在注销后重新登录用以下命令检查是否修改了改值

ulimit -n

8.1.2. 设置系统允许运行的最大进程数目

在相同的文件中加入:

root - nproc 32000

在注销后重新登录用以下命令检查是否修改了改值

ulimit -u

8.2. 获得HBase

wget http://apache.etoak.com/hbase/hbase-0.92.0/hbase-0.92.0.tar.gz 解压并安装到/opt/hadoop-1.0.1/hbase-0.92.0

提示:可以考虑用下载器下载,这个包约34M

下文以0.92.0为例进行安装

8.3. HBase环境参数 在/etc/profile文件尾部下添加如下两行

export HBASE_HOME=$HADOOP_HOME/hbase-0.92.0

PATH=$HBASE_HOME/bin:$PATH

8.4. HBase配置

8.4.1. 修改HBase路径下的conf/hbase-site.xml文档

<configuration>

<property> <name>hbase.rootdir</name>

<value>hdfs://localhost:9000/hbase</value>

<description>此参数执行了region服务器的位置,即数据存放位置。

</description>

</property> <property>

<name>dfs.replication</name>

<value>1</value>

<description>此参数指定了Hlog和Hfile的副本个数,此参数值不能大于

HDFS节点个数。伪分布模式下DataNode只有一台,因此此参数应设置为

1</description>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

<description>The mode the cluster will be in. Possible values are

hadoop hive hbase hadoop hive hbase 01_伪分布下Hadoop-Hive-HBase搭建

false: standalone and pseudo-distributed setups with managed

Zookeeper

true: fully-distributed with unmanaged Zookeeper Quorum (see

hbase-env.sh)

</description>

</property>

<property>

<name>dfs.support.append</name>

<value>true</value>

<description>此参数启动durable sync功能,使得HBase不再丢失数据,

</description> </property>

<property>

<name>hbase.zookeeper.property.dataDir</name>

<value>/home/clcnsy/zookeeper</value> <description>Property from ZooKeeper's config zoo.cfg.

The directory where the snapshot is stored.

</description>

</property>

</configuration>

8.4.2. 修改HBase路径下的conf/hbase-env.sh文档

1.配置JAVA路径和hdfs-site路径

# The java implementation to use. Java 1.6 required.

export JAVA_HOME=/opt/java/jdk1.6.0_32

# Extra Java CLASSPATH elements. Optional.

export HBASE_CLASSPATH=/opt/hadoop-1.0.1/conf/hdfs-site.xml

8.5. Hadoop配置

8.5.1. 启动durable sync功能

打开$HADOOP_HOME/conf/hdfs-site.xml,添加如下内容

<configuration>

……

<property>

<name>dfs.support.append</name>

<value>true</value>

<description>此参数启动durable sync功能,使得HBase不再丢失数据,

</description>

</property> ……

</configuration>

8.5.2. 配置HDFS一次最多可以提供的文件数上限:

打开$HADOOP_HOME/conf/hdfs-site.xml,添加如下内容

<property>

<name>dfs.datanode.max.xcievers</name>

<value>4096</value>

</property>

8.6. 启动HBase

上一步骤配置的hbase.rootdir需要手工创建

运行hadoop后执行

hadoop fs -mkdir /hbase

start-hbase.sh

8.7. 测试 绿色部分为输入命令

hbase(main):004:0> create 'test','c1','c2' 0 row(s) in 1.2110 seconds

hbase(main):005:0> list

TABLE test 1 row(s) in 0.1140 seconds

hbase(main):009:0> put 'test','r1','c1:1','value1-1/1' 0 row(s) in 0.0990 seconds

hbase(main):010:0> put 'test','r1','c1:2','value1-1/2' 0 row(s) in 0.0070 seconds

hbase(main):011:0> put 'test','r1','c1:3','value1-1/3' 0 row(s) in 0.0080 seconds

hbase(main):012:0> put 'test','r2','c2:1','value1-2/1' 0 row(s) in 0.0150 seconds

hbase(main):013:0> put 'test','r2','c2:2','value1-2/2' 0 row(s) in 0.0380 seconds

hbase(main):015:0> scan 'test'

ROW COLUMN+CELL r1 column=c1:1, timestamp=1336582660190, value=value1-1/1 r1 column=c1:2, timestamp=1336582667819, value=value1-1/2 r1 column=c1:3, timestamp=1336582676155, value=value1-1/3 r2 column=c2:1, timestamp=1336582689071, value=value1-2/1 r2 column=c2:2, timestamp=1336582692972, value=value1-2/2 2 row(s) in 0.2340 seconds

hbase(main):017:0> disable 'test'

0 row(s) in 2.9360 seconds

hbase(main):018:0> drop 'test'

0 row(s) in 2.6060 seconds

hbase(main):019:0> list

TABLE 0 row(s) in 0.1240 seconds

8.8. 重启后无法停止HBase问题

原先配置时候在12.5.1的配置内容中hbase.cluster.distributed的属性值为false,即表明HBase运行于伪分布模式下,很容易出现重启HBase后就无法stop;

可能由于版本关系,尽管网络上尽管有很多关于这个的问题的报告,但是没有找到合适的。

分析了按照如下流程所记录的任务日志:启动?关闭(成功)?启动?关闭(失败);发现其中有一个ERROR。但是该ERROR没有找到合适的解决方式

目前的解决方式是将HBase运行模式改成全分布模式,该问题不会出现。即将hbase.cluster.distributed的值改为true。

注:目前12.5.1的配置已经是true了,如果按照前面步骤执行应该不会出现这个问题。

9. 错误总结

9.1. 命令行中执行错误

9.1.1. Agent admitted failure to sign using the key

前提:在输入ssh localhost

错误:提示如标题

解决:

1. 输入ps -Af|grep agent查看有无ssh-agent有无运行

2. 若没有在~/.ssh目录下执行 ~/.ssh$ ssh-agent

~/.ssh$ ssh-add id_rsa

3. 重新执行ssh localhost

9.1.2. WARN hdfs.DFSClient: DataStreamer Exception: org.apache.hadoop.ipc.RemoteException

前提:输入hadoop fs -put conf input

注意:该错误一般只在Ubuntu下产生

错误:提示如标题

解决:

1. 2.

3. 4. sudo ufw disable stop-all.sh start-all.sh hadoop fs -put conf input

9.1.3. org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Name

node is in safe mode

前提:输入hadoop fs -put conf input

错误:提示如标题

解决:退出hadoop的安全模式

1. hadoop dfsadmin -safemode leave

2. 详细:

9.1.4. ERROR security.UserGroupInformation: PriviledgedActionException

前提:输入hadoop jar /opt/hadoop-1.0.1/hadoop-examples-1.0.1.jar wordcount input output 错误:提示如标题

原因:output目录以及存在

解决:更改输出目录

9.1.5. Exception in thread "main" java.io.IOException: Error opening job jar:

hadoop-examples-1.0.1.jar

前提:输入hadoop jar /opt/hadoop-1.0.1/hadoop-examples-1.0.1.jar wordcount input output 错误:提示如标题

原因:

字面含义是找不到main方法,一般来说出现该问题是jar包指定错误

如果直接在某个非hadoop目录下运行下面命令就会出现该问题

hadoop-examples-1.0.1.jar wordcount input output

解决:采用绝对路径制定jar包解决

9.1.6. INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 9

time(s).

前提:执行完shart-all.sh

错误:提示如标题

解决:执行下面命令,关闭安全模式

hadoop dfsadmin -safemode leave

9.2. Eclipse插件错误

9.2.1. Call to localhost/127.0.0.1:9000 failed on connection

前提:安装并配置好Eclipse插件在左侧显示DFS Locations内容

操作:打开点开下图“1”的左侧三角

出现Call to localhost/127.0.0.1:9000 failed on connection

错误可能1:hadoop的HDFS没有开启

执行start-all.sh

错误可能2:hadoop出于安全模式

执行下面命令,关闭安全模式

hadoop dfsadmin -safemode leave

错误可能3:如果弹出对话框提示如下内容

An internal error occurred during:

"Connecting to DFS localhost".org/apache/commons/configuration/Configuration

紫色的第二行内容可能会有所不同,导致该问题的原因是Eclipse的jar包中缺少必要的jar包,解决方法参考8.4.14以后内容,同时按照9.1中提示的内容进行操作。

9.3. Hive错误

9.3.1. FAILED: Error in metadata 完整错误:

FAILED: Error in metadata: javax.jdo.JDOFatalInternalException: Unexpected exception caught. NestedThrowables:

java.lang.reflect.InvocationTargetException FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

前提:安装好Hive后进入Hive命令行,执行show tables;操作

操作:将$HADOOP_HOME/build这个文件夹移到别的地方或删除

10. 附录1 yum配置

使用以下配置的前提是你在安装RedHat时候没有输入序列号

以下配置在RedHat 5.4下测试通过

10.1. 更新配置文件

1.进入目录/etc/yum.repos.d/ 默认情况下会有rhel-debuginfo.repo这个配置文件

将它改名为rhel-debuginfo.repo.bak

2.下载网易默认配置文件

wget http://mirrors.163.com/.help/CentOS-Base-163.repo

3.修改配置文件

使用vi或gedit将 $releasever 替换成5

4.清理并重新生成yum缓存

yum clean metadata

yum makecache

提示:如果修改后还无法执行yum,请将配置文件中内容更改为如下内容。

# CentOS-Base.repo

#

# The mirror system uses the connecting IP address of the client and the

# update status of each mirror to pick mirrors that are updated to and

# geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors.

#

# If the mirrorlist= does not work for you, as a fall back you can try the

# remarked out baseurl= line instead.

#

#

[base]

name=CentOS-$releasever - Base - 163.com

mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=os baseurl=http://mirrors.163.com/centos/5/os/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#released updates

[updates]

name=CentOS-$releasever - Updates - 163.com

mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=updates baseurl=http://mirrors.163.com/centos/5/updates/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#packages used/produced in the build but not released

[addons]

name=CentOS-$releasever - Addons - 163.com

mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=addons baseurl=http://mirrors.163.com/centos/5/addons/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful

[extras]

name=CentOS-$releasever - Extras - 163.com

mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=extras baseurl=http://mirrors.163.com/centos/5/extras/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages

[centosplus]

name=CentOS-$releasever - Plus - 163.com

mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=centosplus

baseurl=http://mirrors.163.com/centos/5/centosplus/$basearch/

gpgcheck=1

enabled=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#contrib - packages by Centos Users

[contrib]

name=CentOS-$releasever - Contrib - 163.com

mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=contrib baseurl=http://mirrors.163.com/centos/5/contrib/$basearch/

gpgcheck=1

enabled=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

11. 核心参考资料

[1] Hadoop-Eclipse

Hadoop伪分布模式环境搭建及Eclipse插件配置

[2] Hive

hive的安装及常用命令

[3] yum配置

在RedHat Server 5.4上安装YUM

[4] HBase配置

Ubuntu10.04LTS配置Hadoop1.0.1+HBase 0.92.0

12. 其他

解决sendmail启动慢问题:关闭sendmail服务

chkconfig --level 123456 sendmail off


百度搜索“爱华网”,专业资料,生活学习,尽在爱华网  

爱华网本文地址 » http://www.aihuau.com/a/409251/783303225764.html

更多阅读

Android安卓开发环境搭建详细教程 android开发环境搭建

Android安卓开发环境搭建详细教程——简介注:本教程是讲解在Windows XP下搭建安卓开发环境的。安装目录:步骤1 安装JDK步骤2 安装 Android SDK步骤3 安装Tomcat步骤4 安装Ant步骤5 安装Eclipse步骤6 安装Eclipse的ADT插件步骤7 在图形

Linux搭建WEB服务器 linux搭建tomcat服务器

Linux搭建WEB服务器——简介如何在linux下搭建web服务器Linux搭建WEB服务器——工具/原料环境:Ubuntu12.04软件:LAMP(Linux,Apache,Mysql,PHP)Linux搭建WEB服务器——方法/步骤Linux搭建WEB服务器 1、1.安装Apache(1)在安装HTTPServer之

怎样在Win7系统中搭建Web服务器 精 xp系统搭建vpn服务器

怎样在Win7系统中搭建Web服务器 精——简介局域网Web服务器的主要功能是实现资源共享,同时借助于局域网服务器访问页面可有效的实现信息的同步。利用Web服务器,我们随时随地都可以将自己的信息上传到服务器端,让其它关注你的用户能在第

在Windows下搭建Android开发环境 winserver2012服务器

在Windows下搭建Android开发环境——简介  随着移动互联网的迅速发展,前端的概念已发生很大的变化,已不仅仅局限在网页端。而Android系统作为智能机市场的老大,作为前端开发工程师,非常有必要了解和学习。但面对众多学习资料,站在前端

声明:《hadoop hive hbase hadoop hive hbase 01_伪分布下Hadoop-Hive-HBase搭建》为网友花开半夏魅人心分享!如侵犯到您的合法权益请联系我们删除