- 浏览: 552377 次
- 性别:
- 来自: 西安
博客专栏
-
Hive入门
浏览量:44556
文章分类
最新评论
-
freeluotao:
public void readFields(D ...
MapReduce直接连接Mysql获取数据 -
passionke:
在spark-sql中通过insert插入数据到HBase表时 ...
SparkSQL读取HBase数据 -
annmi_cai:
好好学习,天天向上!
[一起学Hive]之十七-从Hive表中进行数据抽样-Sampling -
annmi_cai:
好好学习,天天向上!
[一起学Hive]之十六-Hive的WEB页面接口-HWI -
annmi_cai:
好好学习,天天向上!
[一起学Hive]之十五-分析Hive表和分区的统计信息(Statistics)
1. 虚拟机链接方式:桥接
2. 修改linux主机名
/etc/sysconfig/network
/etc/hosts
3. 修改linux ip
ifconfig eth0 192.168.1.110 netmask 255.255.255.0
4. 三台机器上建立相同用户lxw
5. Ssh免密码登陆:
用lxw用户登陆linux1上:
ssh-keygen –t rsa
一路回车下去即可在目录/home/lxw/.ssh/下建立两个文件 id_rsa.pub和id_rsa
接下来,需要进入/home/lxw/.ssh目录,执行如下命令:
scp -r id_rsa.pub lxw@linux2:/home/lxw/.ssh/authorized_keys_linux1
scp -r id_rsa.pub lxw@linux3:/home/lxw/.ssh/authorized_keys_linux1
用lxw用户登陆linux2:
ssh-keygen –t rsa
一路回车下去即可在目录/home/lxw/.ssh/下建立两个文件 id_rsa.pub和id_rsa
再把is_rsa.pub文件复制到linux1机器上去。
scp -r id_rsa.pub lxw@linux1:/home/lxw/.ssh/authorized_keys_linux2
用lxw用户登陆linux3:
ssh-keygen –t rsa
一路回车下去即可在目录/home/lxw/.ssh/下建立两个文件 id_rsa.pub和id_rsa
再把is_rsa.pub文件复制到linux1机器上去。
scp -r id_rsa.pub lxw@linux1:/home/lxw/.ssh/authorized_keys_linux3
上述方式分别为linux1\linux2\linux3机器生成了rsa密钥,并且把linux1的id_rsa.pub复制到linux2\linux3上去了,而把linux2和linux3上的id_rsa.pub复制到linux1上去了。
接下来还要完成如下步骤:
linux1:
以lxw用户登录linux1,并且进入目录/home/lxw/.ssh下,执行如下命令:
cat id_rsa.pub >> authorized_keys
cat authorized_keys_linux2 >> authorized_keys
cat authorized_keys_linux3 >> authorized_keys
chmod 600 authorized_keys
linux2/linux3:
以lxw用户登录linux2/linux3,并且进入目录/home/lxw/.ssh下,执行如下命令:
cat id_rsa.pub >> authorized_keys
cat authorized_keys_linux1 >> authorized_keys
chmod 600 authorized_keys
通过上述配置,现在以用户lxw登录linux1即可以无密钥认证方式访问linux2和linux3了,同样也可以在linux2和linux3上以ssh linux1方式连接到linux1上进行访问了.
注意:.ssh 目录权限为700 authorized_keys文件权限为600
6. 安装jdk1.6 (root用户,三台机器执行同样操作)
先检验是否已安装了jdk:
rpm -qa | grep jdk
rpm -qa | grep gcj
libgcj-4.1.2-46.el5
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
卸载:yum -y remove java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
mkdir –p /usr/java
chmod u+x jdk-6u31-linux-i586.bin
./ jdk-6u31-linux-i586.bin
配置环境变量:
vi /etc/profile
##set java environment
export JAVA_HOME=/usr/java/jdk1.6.0_31
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
source /etc/profile
java –version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing)
用lxw用户配置环境变量:
vi .bashrc
##set java environment
export JAVA_HOME=/usr/java/jdk1.6.0_31
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
source .bashrc
7. 上传hadoop-0.21.0.tar.gz到linux1:/home/lxw/
tar –xzvf hadoop-0.21.0.tar.gz
编辑/home/lxw/hadoop-0.21.0/conf/core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href=../../"configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/lxw/hadoop-0.21.0/hadooptmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://linux1:9000</value>
</property>
</configuration>
编辑hdfs-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href=../../"configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/home/lxw/hadoop-0.21.0/hadoopname</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/lxw/hadoop-0.21.0/hadoopdata</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
编辑mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href=../../"configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.jobtracker.address</name>
<value>linux1:9001</value>
</property>
</configuration>
编辑masters
linux1
编辑slaves
linux2
linux3
8. 分别在上述3个节点机器上配置hadoop的环境变量
vi ~/.bashrc
export HADOOP_HOME=/home/lxw/hadoop-0.21.0
export PATH=$HADOOP_HOME/bin:$PATH
9. 启动HDFS和Mapreduce,并且查看集群状态
1) 格式化文件系统
hdfs namenode –format
hadoop namenode -format
2) 启动hadoop
start-dfs.sh
start-mapred.sh
3) 用jps命令查看进程,NameNode上的结果如下
10. 遇到的问题:
1) jobtraker没有起来:
java.lang.RuntimeException: Not a host:port pair: local
原因:mapred-site.xml 中mapred.jobtracker.address 需要改为:mapred.job.tracker
2) 9000端口没有打开 50070 50030
如果你的 conf/core-site.xml的配置是:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://linux1:9000/</value>
</property>
</configuration>
那么你应该将machine1的9000端口打开:
#iptables -I INPUT -p tcp --dport 9000 -j ACCEPT
然后可以查看
http://linux1:50070/dfshealth.jsp (你应该将500070端口也打开)
再执行,又报别的错:hdfs.DFSClient: Exception in createBlockOutputStream java.net.ConnectException: Connection refused
应该是datanode上的端口不能访问,到datanode上修改iptables:
#iptables -I INPUT -s linux1 -p tcp -j ACCEPT
OK 了!
3) /etc/hosts文件
不需要120.0.0.1 localhost
4) Cannot delete /home/lxw/hadoop-0.20.2/hadooptmp/mapred/system. Name node is in safe mode.
请不要急,NameNode会在开始启动阶段自动关闭安全模式,然后启动成功。如果你不想等待,可以运行:
bin/hadoop dfsadmin -safemode leave 强制结束。
2. 修改linux主机名
/etc/sysconfig/network
/etc/hosts
3. 修改linux ip
ifconfig eth0 192.168.1.110 netmask 255.255.255.0
4. 三台机器上建立相同用户lxw
5. Ssh免密码登陆:
用lxw用户登陆linux1上:
ssh-keygen –t rsa
一路回车下去即可在目录/home/lxw/.ssh/下建立两个文件 id_rsa.pub和id_rsa
接下来,需要进入/home/lxw/.ssh目录,执行如下命令:
scp -r id_rsa.pub lxw@linux2:/home/lxw/.ssh/authorized_keys_linux1
scp -r id_rsa.pub lxw@linux3:/home/lxw/.ssh/authorized_keys_linux1
用lxw用户登陆linux2:
ssh-keygen –t rsa
一路回车下去即可在目录/home/lxw/.ssh/下建立两个文件 id_rsa.pub和id_rsa
再把is_rsa.pub文件复制到linux1机器上去。
scp -r id_rsa.pub lxw@linux1:/home/lxw/.ssh/authorized_keys_linux2
用lxw用户登陆linux3:
ssh-keygen –t rsa
一路回车下去即可在目录/home/lxw/.ssh/下建立两个文件 id_rsa.pub和id_rsa
再把is_rsa.pub文件复制到linux1机器上去。
scp -r id_rsa.pub lxw@linux1:/home/lxw/.ssh/authorized_keys_linux3
上述方式分别为linux1\linux2\linux3机器生成了rsa密钥,并且把linux1的id_rsa.pub复制到linux2\linux3上去了,而把linux2和linux3上的id_rsa.pub复制到linux1上去了。
接下来还要完成如下步骤:
linux1:
以lxw用户登录linux1,并且进入目录/home/lxw/.ssh下,执行如下命令:
cat id_rsa.pub >> authorized_keys
cat authorized_keys_linux2 >> authorized_keys
cat authorized_keys_linux3 >> authorized_keys
chmod 600 authorized_keys
linux2/linux3:
以lxw用户登录linux2/linux3,并且进入目录/home/lxw/.ssh下,执行如下命令:
cat id_rsa.pub >> authorized_keys
cat authorized_keys_linux1 >> authorized_keys
chmod 600 authorized_keys
通过上述配置,现在以用户lxw登录linux1即可以无密钥认证方式访问linux2和linux3了,同样也可以在linux2和linux3上以ssh linux1方式连接到linux1上进行访问了.
注意:.ssh 目录权限为700 authorized_keys文件权限为600
6. 安装jdk1.6 (root用户,三台机器执行同样操作)
先检验是否已安装了jdk:
rpm -qa | grep jdk
rpm -qa | grep gcj
libgcj-4.1.2-46.el5
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
卸载:yum -y remove java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
mkdir –p /usr/java
chmod u+x jdk-6u31-linux-i586.bin
./ jdk-6u31-linux-i586.bin
配置环境变量:
vi /etc/profile
##set java environment
export JAVA_HOME=/usr/java/jdk1.6.0_31
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
source /etc/profile
java –version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing)
用lxw用户配置环境变量:
vi .bashrc
##set java environment
export JAVA_HOME=/usr/java/jdk1.6.0_31
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
source .bashrc
7. 上传hadoop-0.21.0.tar.gz到linux1:/home/lxw/
tar –xzvf hadoop-0.21.0.tar.gz
编辑/home/lxw/hadoop-0.21.0/conf/core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href=../../"configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/lxw/hadoop-0.21.0/hadooptmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://linux1:9000</value>
</property>
</configuration>
编辑hdfs-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href=../../"configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/home/lxw/hadoop-0.21.0/hadoopname</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/lxw/hadoop-0.21.0/hadoopdata</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
编辑mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href=../../"configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.jobtracker.address</name>
<value>linux1:9001</value>
</property>
</configuration>
编辑masters
linux1
编辑slaves
linux2
linux3
8. 分别在上述3个节点机器上配置hadoop的环境变量
vi ~/.bashrc
export HADOOP_HOME=/home/lxw/hadoop-0.21.0
export PATH=$HADOOP_HOME/bin:$PATH
9. 启动HDFS和Mapreduce,并且查看集群状态
1) 格式化文件系统
hdfs namenode –format
hadoop namenode -format
2) 启动hadoop
start-dfs.sh
start-mapred.sh
3) 用jps命令查看进程,NameNode上的结果如下
10. 遇到的问题:
1) jobtraker没有起来:
java.lang.RuntimeException: Not a host:port pair: local
原因:mapred-site.xml 中mapred.jobtracker.address 需要改为:mapred.job.tracker
2) 9000端口没有打开 50070 50030
如果你的 conf/core-site.xml的配置是:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://linux1:9000/</value>
</property>
</configuration>
那么你应该将machine1的9000端口打开:
#iptables -I INPUT -p tcp --dport 9000 -j ACCEPT
然后可以查看
http://linux1:50070/dfshealth.jsp (你应该将500070端口也打开)
再执行,又报别的错:hdfs.DFSClient: Exception in createBlockOutputStream java.net.ConnectException: Connection refused
应该是datanode上的端口不能访问,到datanode上修改iptables:
#iptables -I INPUT -s linux1 -p tcp -j ACCEPT
OK 了!
3) /etc/hosts文件
不需要120.0.0.1 localhost
4) Cannot delete /home/lxw/hadoop-0.20.2/hadooptmp/mapred/system. Name node is in safe mode.
请不要急,NameNode会在开始启动阶段自动关闭安全模式,然后启动成功。如果你不想等待,可以运行:
bin/hadoop dfsadmin -safemode leave 强制结束。
发表评论
-
MapReduce和Hive支持递归子目录作为输入
2015-07-08 14:41 3213关键字:MapReduce、Hive ... -
Hadoop生态系统官网、下载地址、文档
2015-05-05 17:22 1881Apache版本: Hadoop官网:http:// ... -
大数据平台任务调度监控系统
2014-10-24 16:35 10597记录一下正在开发 ... -
Hive over HBase和Hive over HDFS性能比较分析
2014-01-22 16:16 7833环境配置: hadoop-2.0.0-cdh4.3 ... -
MapReduce直接连接Mysql获取数据
2013-05-31 17:29 6359Mysql中数据: mysql> select ... -
MapReduce读取HDFS,将结果写入MongoDB
2013-05-29 11:07 5154参考:http://docs.mongodb.org/eco ... -
Kerboers认证由于和Master时间不同步导致的错误
2013-04-03 15:56 4027刚发现Hbase集群一台RegionServer挂掉了,重 ... -
hadoop mapreduce程序jar包版本冲突解决方法
2013-01-08 16:34 3472写MR程序时往往会使用到第三方包, 如果这些包在集群中不存在, ... -
hadoop mapreduce程序jar包版本冲突解决方法
2013-01-08 16:08 0<!-- [if gte mso 9]><x ... -
windows上编译eclipse-plugin for hadoop-0.20.2-cdh3u3
2012-12-17 17:24 2621hadoop-0.20.2-cdh3u3目录为:E:\hado ... -
hadoop-error:DiskChecker$DiskErrorException: Invalid volume failure config value
2012-12-17 13:33 39092012-12-17 10:58:59,925 ERROR o ... -
hbase错误 ZooKeeperConnectionException
2012-11-08 09:12 3727用hbase的rest服务给业务方提供web访问接口, 经常 ... -
【收藏】hadoop hdfs命令
2012-11-06 09:37 1498cat 使用方法:hadoop fs -cat URI [U ... -
hive本地mr
2012-10-23 11:03 5573如果在hive中运行的sql本身数据量很小,那么使用本地mr ... -
base64加密解密的hive udf函数
2012-07-12 12:28 7593依赖hadoop,hive相关包, 源码见附件。 a ... -
使用kerberos的hadoop选择java版本需注意
2012-07-12 09:51 6763使用kerberos的hadoop集群,如果在kerberos ... -
【转】Jobtracker重启Job recovery过程分析
2012-07-10 16:02 1808Jobtracker重启Job recovery ... -
windows下用eclipse连接linux中的hadoop,并执行mr
2012-07-09 18:05 41621. 准备: linux ... -
hadoop修改kerberos默认的配置文件
2012-07-05 15:23 2104kerberos默认的配置文件krb5.conf文件位于/et ... -
mapreduce报错:java.io.IOException: Split metadata size exceeded 10000000.
2012-06-21 15:46 7329Failure Info:Job initialization ...
相关推荐
"Hadoop集群安装笔记" Hadoop集群安装笔记是一篇详细的安装指南,旨在帮助新手快速搭建Hadoop学习环境。以下是该笔记中的重要知识点: Hadoop集群安装目录 在安装Hadoop集群之前,需要准备好安装环境。安装环境...
### VMware下完全分布式Hadoop集群安装笔记 #### 一、准备工作与环境搭建 **1. 安装VMware** 在开始之前,首先需要一个虚拟化平台来模拟多台计算机之间的交互,这里选择的是VMware。根据您的操作系统选择合适的...
非常详细的linux上的hadoop集群搭建文档,可供参考,希望大家能够从中获益
hadoop搭建集群笔记.虚拟机搭建hadoop集群
在hadoop集群配置中边搭边记录的小白,一起学习!
### 配置XEN环境及Hadoop集群环境学习笔记 #### XEN虚拟机的安装配置 **XEN** 是一种开源虚拟化技术,允许在一台物理机器上运行多个操作系统实例,这些实例通常被称为“域”(Domains)。XEN 的安装配置涉及到安装...
本笔记将深入探讨Hadoop集群及其核心组件,帮助读者理解大数据平台的基础与精髓。 第一章介绍了大数据的基本概念。大数据是指无法用传统数据处理方法进行有效管理的数据集,其特点包括高容量、高速度和多样性。...
【Hadoop集群安装在VMware虚拟机中的详细步骤】 Hadoop是一种开源的分布式计算框架,源于谷歌的两份开创性白皮书。随着大数据时代的到来,Hadoop因其强大的分布式处理能力,被广泛视为下一个Linux级别的操作系统。...
本笔记将深入探讨Hadoop的分布式安装过程,帮助读者理解如何在多台机器上构建一个高效、可靠的Hadoop集群。 首先,Hadoop是Apache软件基金会的一个开源项目,其核心设计目标是处理和存储海量数据。它采用了分片...
### Hadoop单机与集群部署知识点 #### 一、Hadoop单机系统版本安装配置 ...以上步骤详细介绍了Hadoop单机与集群部署的具体流程,包括单机安装配置、集群部署所需的各种准备以及具体配置方法,为读者提供了全面的指导。
大数据集群 Hadoop HBase Hive Sqoop 集群环境安装配置及使用文档 在本文档中,我们将详细介绍如何搭建一个大数据集群环境,包括 Hadoop、HBase、Hive 和 Sqoop 的安装配置及使用。该文档将分为四部分:Hadoop 集群...
#### 六、启动Hadoop集群 **1. 格式化HDFS** - 切换到`hadoop`用户: - `su hadoop` - 执行格式化命令: - `hadoop namenode -format` **2. 启动Hadoop服务** - 启动HDFS: - `start-dfs.sh` - 启动MapReduce...
【Hadoop集群环境搭建】 Hadoop是一个开源的分布式计算框架,它允许在大规模集群中运行应用程序,处理海量数据。在本文中,我们将详细介绍如何搭建一个Hadoop集群环境,包括必要的步骤和配置。首先,我们需要准备...
YARN是Hadoop的资源管理器,主要负责管理Hadoop集群的资源分配和任务调度。YARN的主要组件包括: * NodeManager:负责管理单个节点的资源分配和任务执行。 * ResourceManager:负责管理整个集群的资源分配和任务...
Hadoop 3.x 笔记 Hadoop 是一个基于分布式存储的大数据处理框架,本文档将详细介绍 Hadoop 3.x 的配置和底层原理,从零搭建集群以及解决遇到的问题,通过图形化的方式更好地理解 Hadoop 的作用。 一、HDFS 组成 ...
2. **安装Hadoop**:在所有节点上安装相同的Hadoop版本,配置环境变量,确保所有节点能正确访问Hadoop安装目录。 3. **配置HDFS HA**:在`hdfs-site.xml`中配置HA相关参数,如`fs.defaultFS`为HDFS的高可用命名空间...
从零开始hadoop+zookeeper+hbase+hive集群安装搭建,内附详细配置、测试、常见error等图文,按照文档一步一步搭建肯定能成功。(最好用有道云打开笔记)