- 浏览: 543395 次
- 性别:
- 来自: 西安
博客专栏
-
Hive入门
浏览量:43384
文章分类
最新评论
-
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 3104关键字:MapReduce、Hive ... -
Hadoop生态系统官网、下载地址、文档
2015-05-05 17:22 1824Apache版本: Hadoop官网:http:// ... -
大数据平台任务调度监控系统
2014-10-24 16:35 10525记录一下正在开发 ... -
Hive over HBase和Hive over HDFS性能比较分析
2014-01-22 16:16 7736环境配置: hadoop-2.0.0-cdh4.3 ... -
MapReduce直接连接Mysql获取数据
2013-05-31 17:29 6261Mysql中数据: mysql> select ... -
MapReduce读取HDFS,将结果写入MongoDB
2013-05-29 11:07 5086参考:http://docs.mongodb.org/eco ... -
Kerboers认证由于和Master时间不同步导致的错误
2013-04-03 15:56 3938刚发现Hbase集群一台RegionServer挂掉了,重 ... -
hadoop mapreduce程序jar包版本冲突解决方法
2013-01-08 16:34 3435写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 2558hadoop-0.20.2-cdh3u3目录为:E:\hado ... -
hadoop-error:DiskChecker$DiskErrorException: Invalid volume failure config value
2012-12-17 13:33 38612012-12-17 10:58:59,925 ERROR o ... -
hbase错误 ZooKeeperConnectionException
2012-11-08 09:12 3653用hbase的rest服务给业务方提供web访问接口, 经常 ... -
【收藏】hadoop hdfs命令
2012-11-06 09:37 1461cat 使用方法:hadoop fs -cat URI [U ... -
hive本地mr
2012-10-23 11:03 5487如果在hive中运行的sql本身数据量很小,那么使用本地mr ... -
base64加密解密的hive udf函数
2012-07-12 12:28 7517依赖hadoop,hive相关包, 源码见附件。 a ... -
使用kerberos的hadoop选择java版本需注意
2012-07-12 09:51 6685使用kerberos的hadoop集群,如果在kerberos ... -
【转】Jobtracker重启Job recovery过程分析
2012-07-10 16:02 1760Jobtracker重启Job recovery ... -
windows下用eclipse连接linux中的hadoop,并执行mr
2012-07-09 18:05 40821. 准备: linux ... -
hadoop修改kerberos默认的配置文件
2012-07-05 15:23 2065kerberos默认的配置文件krb5.conf文件位于/et ... -
mapreduce报错:java.io.IOException: Split metadata size exceeded 10000000.
2012-06-21 15:46 7260Failure Info:Job initialization ...
相关推荐
hadoop集群安装笔记,我个人在自己的本机虚拟3台机器,搭建hadoop的学习环境,在安装过程中,出现这样那样的问题,并记录下来分享给大家,希望都新手有帮助。
VMware下完全分布式Hadoop集群安装笔记
非常详细的linux上的hadoop集群搭建文档,可供参考,希望大家能够从中获益
hadoop搭建集群笔记.虚拟机搭建hadoop集群
大数据平台,hadoop集群学习笔记
在hadoop集群配置中边搭边记录的小白,一起学习!
XEN虚拟机的安装配置,Hadoop集群环境的安装配置以及部署
从零开始一步步介绍如何搭建Hadoop集群
1.hadoop安装2.zookeeper安装3.hbase安装4.hive安装5.sqoop安装6.R安装kafka安装 spark安装 八项安装笔记
Hadoop单机与集群部署笔记.docx
hadoop完全分布式集群搭建笔记
Hadoop hbase hive sqoop集群环境安装配置及使用文档
续博客zookeeper搭建后,hadoop集群搭建的详细步骤,来源于自学大数据hadoop集群搭建后总结学习笔记,供初学者参考学习。
大数据Hadoop的一些配置与底层原理,里面详细介绍了从0到1搭建集群以及搭建过程中遇到的问题解决方案,并且由图去更好的理解Hadoop的用处。
从零开始hadoop+zookeeper+hbase+hive集群安装搭建,内附详细配置、测试、常见error等图文,按照文档一步一步搭建肯定能成功。(最好用有道云打开笔记)
Hadoop架构分析之集群结构分析,Hadoop架构分析之HDFS架构分析,Hadoop架构分析之NN和DN原生文档解读,Hadoop MapReduce原理之流程图.Hadoop MapReduce原理之核心类Job和ResourceManager解读.Hadoop MapReduce原理之...
storm的集群安装笔记,在我的虚拟机上安装的整个过程,所有注意点都写了。绝对好用
大数据系统学习笔记-0002 - Hadoop集群搭建 - 资源包 资源列表: hadoop-2.7.4.tar.gz jdk-8u301-linux-x64.tar.gz zookeeper-3.4.10.tar.gz
hadoop的单机伪分布安装笔记,使用虚拟机方式、端口转发、搭建hadoop的单机环境。学习hadoop的入门文档之一。
详细描述了在笔记本电脑上搭建hadoop的安装步骤,包括前期虚拟机的安装和配置,hdfs、kafka、spark、storm等组件的安装。