系统是ubuntu 12.04 , hadoop版本是1.2.1 , hive版本是0.12 , hbase版本我忘记了,不好意思
首先是配置好hostname
vi /etc/hosts
写入你要配置的ip 和它的hostname
这里我写入了
192.168.19.129 ubuntu
给要部署hadoop的机器都互相配置信任关系,具体怎么玩,自己谷歌
测试一下ssh user@hostname , 做到无需输入密码即可登录
给所有需要配置hadoop集群的机器,关闭防火墙
service iptables stop
(下面的hadoop版本是1.2.1 , hive版本是0.12 , hbase版本是0.94.12)
修改$HADOOP_HOME/conf/hadoop-env.sh文件
搜索JAVA_HOME
将前面的#去掉,取消注释
写入你的JAVA_HOME路径(方式是在shell上执行:echo $JAVA_HOME , 如果为空,那么你就自己再配置一下JDK吧,囧)
修改$HADOOP_HOME/conf/core-site.xml文件
在之间加入
fs.default.name
hdfs://yourHostName(localhost/ubuntu):9000
hadoop.tmp.dir
your tmp director in hdfs
注意:yourHostName建议写你自己设置的hostname,不建议写localhost,因为到多节点时候很容易会出错,甚至你可以写ip地址。
另外,hadoop.tmp.dir的标签的值不是本地文件系统的地址,而是对应HDFS上的临时目录,它是在跑MapReduce程序时产生的临时文件的存放地址。
修改$HADOOP_HOME/conf/mapred-site.xml文件
在之间加入
mapred.job.tracker
yourHostName(localhost/ubuntu):9001
dfs.permissions
false
mapred.child.java.opts
-Xmx512m
注意:同理,这里也不建议yourHostName写localhost
修改$HADOOP_HOME/conf/hdfs-site.xml文件
在之间加入
dfs.name.dir
/usr/local/hadoop/datalog
dfs.data.dir
/usr/local/hadoop/data
dfs.replication
1
在$HADOOP_HOME/conf/master 和 $HADOOP_HOME/conf/slaves文件写入的写master机器的hostname和slaves的hostname,保存退出
格式化master机器的namenode节点
执行:
$HADOOP_HOME/bin/hadoop namenode -format
启动整个hadoop集群环境
$HADOOP_HOME/bin/start-all.sh
*******************************************************************************
hive搭建
解压好hive的包,给$HIVE_HOME/conf/hive-default.xml.template 拷贝成$HIVE_HOME/conf/hive-site.xml
修改hive的配置,因为默认的配置文件有问题
将auth修改为auth,保存退出
这个hive和hadoop的简单对接已经完成,后面会加上mysql来作为数据类型存储源
*******************************************************************************
hive 与 mysql对接
允许其他机器访问mysql服务
修改mysql配置文件/etc/mysql/my.cnf
>skip-networking => # skip-networking //其实就是注释这一条配置选项
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
在网上下载一个mysql的java驱动,将其放到$HIVE_HOME/lib底下即可
修改$HIVE_HOME/conf/hive-site.xml文件
修改hive的配置,hive.metastore.schema.verification默认为true,修改为false
hive.metastore.schema.verification
false
localhost 写你的ip地址或者hostname
3306是mysql默认的通信端口
hive是你所使用mysql里面的database名字,这个database 一定是你自己手动创建的,否则hive会报错
javax.jdo.option.ConnectionURL
jdbc:mysql://localhost:3306/hive?createDatabaseIfNoExist=true
mysql驱动类名
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
所使用mysql的用户名
javax.jdo.option.ConnectorUserName
hive
mysql用户的密码
javax.jdo.option.ConnectionPassword
hive
如果你不希望使用hive这个用户,也可以自行在mysql上建立用户
mysql> CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';
mysql> CREATE user 'hive'@'localhost' IDENTIFIED BY 'hive';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost' with grant option;
mysql> flush privileges;
执行上面三行命令,就给mysql创建了hive这个用户了,用户名和密码都是hive
在shell里面登陆mysql的hive用户试验
mysql -uhive -phive
如果在执行上面的命令出现ERROR 1045(28000)错误,那么你就需要执行
/etc/init.d/mysql stop
mysqld_safe --user=root --skip-grant-tables --skip-networking & (这个就是降低mysql 的安全系数启动mysql 服务,是的用户无需密码就能登陆mysql 的root 用户)
/etc/init.d/mysql restart
此方法参考:http://blog.sina.com.cn/s/blog_4d0aa5f30100fobu.html中的方法一
如果忘记mysql 的root 密码,可以参考这篇博客:http://www.blogjava.net/wiflish/archive/2006/12/23/89655.html
登陆后,给hive用户创建一个名字叫hive的数据库
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
启动hive
show databases; 不出错,说明hive和mysql打通了
***************************************************************************
hbase搭建
修改$HBASE_HOME/conf/hbase_env.sh文件
export JAVA_HOME=your java_home
export HBASE_MANAGES_ZK=true
如果使用独立的zookeeper的话,$HBASE_MANAGES_ZK=false
修改$HBASE_HOME/conf/hbase-site.xml
hbase.master
yourHostName:60000
hbase.rootdir
hdfs://yourHostName:9000/hbase
hbase.cluster.distributed
true
hbase.zookeeper.property.clientPort
2181
hbase.zookeeper.quorum
yourHostName
yourHostName 都不要简单地填写localhost,要写成其他的hostname,或者是ip也行
启动hbase
$HBASE_HOME/bin/start-hbase.sh
停止hbase
$HBASE_HOME/bin/stop-hbase.sh
可以在web查看hbase的状态
http://hostname:60010
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com