博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hadoop在虚拟机rhl5上的安装总结
阅读量:5920 次
发布时间:2019-06-19

本文共 5660 字,大约阅读时间需要 18 分钟。

  hot3.png

#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:/hadoopscp hadoop-1.0.3.tar.gz root@node1:/hadoopscp hive-0.9.0.tar.gz root@node1:/hadoopscp 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.rpmscp 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_03export CLASSPATH=.:$JAVA_HOME/libexport HADOOP_HOME=/hadoop/hadoop-1.0.3#去除启动时的Warning: $HADOOP_HOME is deprecated. 警告export HADOOP_HOME_WARN_SUPPRESS=1export HIVE_HOME=/hadoop/hive-0.9.0export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH

保存后执行:

source /etc/profileecho $JAVA_HOME/usr/java/jdk1.6.0_03

#3.安装hadoop

在root权限下新建hadoop用户。

useradd hadooppasswd hadoop                              #设置密码为hadoopmkdir /hadoopcp /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/sudoerssu hadoop                                  #切换到hadoop用户
mark(此时最好建立ssh秘钥){cd ~ssh-keygen -t dsacat id_dsa.pub >> authorized_keys如果hadoop用户ssh登陆到本机依然需要输入密码,则可能是秘钥文件权限有问题:公钥文件authorized_keys的所有权必须是hadoop:hadoop,权限必须为644。}
cd /hadoopsudo tar -xvf hadoop-1.0.3.tar.gz                      #在/hadoop下解压文件##检查解压后目录所有者权限,如果不是属于hadoop用户,则将权限给hadoop用户。cd /hadoop/hadoop-1.0.3/confvi hadoop-env.sh在文件中加上export JAVA_HOME=/usr/java/jdk1.6.0_03

vi core-site.xml     #配置如下

  
    
fs.default.name
    
hdfs://node1:9000
  
  
    
hadoop.tmp.dir
    
/hadoop/data/hadoop-${user.name}
  

vi hdfs-site.xml

  
    
dfs.replication
    
1
  

vi mapred-site.xml

  
    
mapred.job.tracker
    
localhost:9001
  

vi master

node1

vi slaves

node1

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

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

打开浏览器访问:

http://node1:50030http://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.rpmrpm -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]$ 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/libcd 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

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

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]$mysqlmysql> 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 10001tcp 0 0 :::10001 :::* LISTEN 22552/java

## 启动内置的Hive UI

hive --service hwi &

###测试

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

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

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

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

转载于:https://my.oschina.net/agony/blog/323749

你可能感兴趣的文章
周末深夜,学妹说她想做Python数据分析师....
查看>>
springboot+redis项目实战
查看>>
消灭编译警告(Warning)
查看>>
对话 | 浅析NEO的dBFT共识算法
查看>>
JSP 指令
查看>>
条码插件TBarCode Office系列教程四(Excel Add-In篇)
查看>>
java版电子商务spring cloud分布式微服务b2b2c社交电商(一)服务的注册与发现(Eureka)...
查看>>
Python装饰器
查看>>
0316文件和目录管理(一)
查看>>
idea中Tomcat在控制台乱码问题
查看>>
spring boot hello world
查看>>
这两天遇到问题小结
查看>>
nginx反向代理配置及优化
查看>>
CSS3特性(动画、多列布局、伸缩布局)
查看>>
僵死进程
查看>>
android:configChanges="keyboardHidden|orientation"
查看>>
进一步优化Android ListView GridView中异步加载图片
查看>>
react native 组建卸载
查看>>
Fio随机读IOPS测试值可能偏大的原因分析
查看>>
唠唠SE的集合-05——LinkedList
查看>>