文档章节

hadoop在虚拟机rhl5上的安装总结

石大千
 石大千
发布于 2014/10/01 17:22
字数 1274
阅读 239
收藏 5


#0.前期工作

虚拟机中安装redhat5,并配置主机名hostname=node1,ip=10.0.0.101,hosts列表等。

#1.使用ssh或ftp上传

由于本人使用的是mac,自带了scp命令,此处就使用了更为习惯的scp命令。

scp jdk-6u3-linux-i586-rpm.bin root@node1:/hadoop
scp hadoop-1.0.3.tar.gz root@node1:/hadoop
scp hive-0.9.0.tar.gz root@node1:/hadoop
scp MySQL-* hadoop@node1:/hadoop/mysql        #MySQL-*包括以下两个文件
    #MySQL-server-standard-5.0.27-0.rhel3.i386.rpm
    #MySQL-client-standard-5.0.27-0.rhel3.i386.rpm
scp mysql-connector-java-5.1.22-bin.jar root@node1:/hadoop

注:上传之前先建立好相关目录。并给予hadoop所有权。详见步骤"#3安装hadoop"。

#2.安装jdk#

首先卸载redhat5自带的jdk1.4。

rpm -qa | grep gcj
   ‍ java-1.4.2-gcj-compat-1.4.2.0-40jpp.115‍
rpm -e java-1.4.2-gcj-compat-1.4.2.0-40jpp.115    --nodeps


然后在文件上传到的目录中执行 ./jdk-6u3-linux-i586.rpm 安装jdk1.6。

安装jdk后配置环境变量。为了方便,把之后所配置的环境变量都列在下面。

vi /etc/profile
#在末尾加上如下环境变量
export JAVA_HOME=/usr/java/jdk1.6.0_03
export CLASSPATH=.:$JAVA_HOME/lib
export HADOOP_HOME=/hadoop/hadoop-1.0.3
#去除启动时的Warning: $HADOOP_HOME is deprecated. 警告
export HADOOP_HOME_WARN_SUPPRESS=1
export HIVE_HOME=/hadoop/hive-0.9.0
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH


保存后执行:

source /etc/profile
echo $JAVA_HOME
/usr/java/jdk1.6.0_03


#3.安装hadoop

在root权限下新建hadoop用户。

useradd hadoop
passwd hadoop                              #设置密码为hadoop
mkdir /hadoop
cp /root/day /hadoop                       #将上传的文件放到/hadoop目录下
chown hadoop:hadoop  /hadoop -R            #将/hadoop目录及其下所有文件权限给hadoop:hadoop用户及组
vi  /etc/sudoers
#找到 root ALL=(ALL) ALL 所在行并在其下方增加如下一行
hadoop ALL=(ALL) ALL                       #将hadoop增加到sudo列表中
source /etc/sudoers
su hadoop                                  #切换到hadoop用户
mark(此时最好建立ssh秘钥){
cd ~
ssh-keygen -t dsa
cat id_dsa.pub >> authorized_keys
如果hadoop用户ssh登陆到本机依然需要输入密码,则可能是秘钥文件权限有问题:
公钥文件authorized_keys的所有权必须是hadoop:hadoop,权限必须为644。
}
cd /hadoop
sudo tar -xvf hadoop-1.0.3.tar.gz                      #在/hadoop下解压文件
##检查解压后目录所有者权限,如果不是属于hadoop用户,则将权限给hadoop用户。
cd /hadoop/hadoop-1.0.3/conf
vi hadoop-env.sh
在文件中加上
export JAVA_HOME=/usr/java/jdk1.6.0_03

vi core-site.xml     #配置如下

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://node1:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/hadoop/data/hadoop-${user.name}</value>
  </property>
</configuration>

vi hdfs-site.xml

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

vi mapred-site.xml

<configuration>
  <property>
    <name>mapred.job.tracker</name>
    <value>localhost:9001</value>
  </property>
</configuration>

vi master

node1

vi slaves

node1

##此时可以将添加HADOOP_HOME环境变量到/etc/profile中。

hadoop namenode -format                        #格式化namenode
cd $HADOOP_HOME/bin
./start-all.sh
[hadoop@node1 bin]$ jps 
                    15109 NameNode 
                    15245 DataNode 
                    15488 JobTracker 
                    15660 Jps 
                    15617 TaskTracker 
                    15397 SecondaryNameNode

打开浏览器访问:

http://node1:50030
http://node1:50070

如果无法访问可以关掉防火墙:service iptables stop。【chkconfig iptables off】

此时hadoop搭建成功。如果要集群搭建,只需要建立好ssh、配置好ip,主机名,环境变量,配置好jdk,并将/hadoop复制到节点的机器中即可自动识别。当然如实是虚拟机,只需复制好虚拟机后更改mac地址,并配置好ip,主机名等基本信息即可。

#4.安装mysql

rpm -ivh MySQL-server-standard-5.0.27-0.rhel3.i386.rpm
rpm -ivh MySQL-client-standard-5.0.27-0.rhel3.i386.rpm
#检查服务是否启动:
sudo /sbin/service mysqld status
#如果没有启动则启动服务:
sudo /sbin/service mysqld start
#服务开机自启动:
sudo /sbin/chkconfig mysqld on

     [hadoop@node1 hadoop]$ mysql      #进入mysql

mysql> CREATE USER 'hive' IDENTIFIED BY 'hive';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost' IDENTIFIED BY 'hive' WITH GRANT OPTION;
mysql> flush privileges;

 为了安装后续的hive,我们使用hive用户登入mysql,创建一个hive数据库:   

 create database hive;

  #如果要更改mysql配置:

    vi /etc/my.cnf

    #如果/etc目录下没有my.cnf则可执行以下命令

    cp /usr/share/mysql/my-mediu.cnf  /etc/my.cnf 

#5.安装hive

cd /hadoop 
tar -xvf hive-0.9.0.tar.gz 
cp mysql-connector-java-5.1.22-bin.jar hive-0.9.0/lib
cd hive-0.9.0/conf 
cp hive-env.sh.template hive-env.sh 
cp hive-default.xml.template hive-site.xml 
cp hive-log4j.properties.template hive-log4j.properties

vi  hive-log4j.properties 

找到参数项 log4j.appender.EventCounter=org.apache.hadoop.metrics.jvm.EventCounter

将这一项的值修改为: org.apache.hadoop.log.metrics.EventCounter。
如此则可以消除Hive警告:WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated。

vi hive-site.xml

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://192.168.1.100:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>:
</property>
<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>hive</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>hive</value>
</property>

cd  /hadoop/hive-0.9.0/bin

./hive

show tables;

###如果提示FAILED: Error in metadata: javax.jdo.JDOFatalDataStoreException: Access denied for user 'hive'@'node1' (using password: YES)。则应该是登陆mysql发生错误。检查hive用户的登陆权限,是否可以在本机登陆。

[hadoop@node1 bin]$mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'node1' IDENTIFIED BY 'hive' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;

###如果显示:

OK

Time taken: 4.029 second

则hive安装成功。

## 启动hive server

hive --service hiveserver 10001 &

###测试

[hadoop@node1 bin]$ netstat -nap | grep 10001
tcp 0 0 :::10001 :::* LISTEN 22552/java

## 启动内置的Hive UI

hive --service hwi &

###测试

[hadoop@node1 bin]$ netstat -nap | grep 9999
tcp 0 0 :::9999 :::* LISTEN 22908/java


启动浏览器打开地址:http://node1:9999/hwi


下面是一个已在vmware上部署好的虚拟机文件,相关配置及用户密码在虚拟机快照简介里:

http://pan.baidu.com/s/1mg5eJRa


© 著作权归作者所有

石大千
粉丝 5
博文 8
码字总数 4667
作品 0
朝阳
程序员
私信 提问
零基础学习hadoop到上手工作线路指导(初级篇)

零基础学习hadoop,没有想象的那么困难,也没有想象的那么容易。才刚接触大数据时,曾经想过培训,但是培训机构的选择就让我很纠结。因为师兄跟我说,很多培训机构的老师其实以前就是他们的学...

我思gu我在
2017/01/09
211
3
VMware 下Hadoop集群环境搭建之虚拟机克隆,Hadoop环境配置

在上一篇我们完成了ContOS网络配置以及JDK的安装,这一篇将在上一篇的基础上继续讲解虚拟机的克隆,hadoop环境搭建 传送门: VMware 下Hadoop集群环境搭建之新建虚拟机 VMware 下Hadoop集群环境...

lljjyy001
2018/05/05
0
0
Hadoop分布式运行环境搭建手记

1.准备虚拟机(关闭防火墙、静态ip、主机名称) 1.1首先使用VMware安装CentOS7.4虚拟机 安装好虚拟机后设置好静态IP(,设置DNS),,执行更新软件 这里由于进行了规划,所以提前设置了,防止的...

小致Daddy
09/17
38
0
hadoop虚拟机环境配置安装图文教程

前两天看到有人留言问在什么情况下需要部署hadoop,我给的回答也很简单,就是在需要处理海量数据的时候才需要考虑部署hadoop。关于这个问题在很早之前的一篇分享文档也有说到这个问题,数据量...

左手的倒影
2018/07/28
24
0
Hadoop伪分布安装详解+MapReduce运行原理+基于MapReduce的KNN算法实现

本篇博客将围绕Hadoop伪分布安装+MapReduce运行原理+基于MapReduce的KNN算法实现这三个方面进行叙述。 (一)Hadoop伪分布安装 1、简述Hadoop的安装模式中–伪分布模式与集群模式的区别与联系...

a2011480169
2016/06/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
26分钟前
3
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
37分钟前
3
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
45分钟前
6
0
从零基础到拿到网易Java实习offer,我做对了哪些事

作为一个非科班小白,我在读研期间基本是自学Java,从一开始几乎零基础,只有一点点数据结构和Java方面的基础,到最终获得网易游戏的Java实习offer,我大概用了半年左右的时间。本文将会讲到...

Java技术江湖
昨天
5
0
程序性能checklist

程序性能checklist

Moks角木
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部