设为首页 收藏本站
查看: 982|回复: 0

hadoop的安装,主从设置及结合php的应用

[复制链接]

尚未签到

发表于 2015-11-11 11:55:07 | 显示全部楼层 |阅读模式
最近又机会接触hadoop,顺便分享一下同事的记录


一、主服务器设置
1.创建用户
#useradd hadoop
2.设置密码
#passwd hadoop
3.切换hadoop登录
#su - hadoop
4.解压hadoop压缩包
#tar zxvf hadoop-1.0.3.tar.gz
5.设置目录权限
#chown -R hadoop.hadoop hadoop-1.0.3
6.编辑环境变量
#vim hadoop-1.0.3/conf/hadoop-env.sh
编辑“JAVA_HOME”路径:
export JAVA_HOME=/usr/local/jdk1.7.0_05
增加一行(取消过时警告):
export HADOOP_HOME_WARN_SUPPRESS=1
7.编辑系统环境变量(使用root用户)
#vim /etc/profile
追加如下内容:
export JAVA_HOME=/usr/local/jdk1.7.0_05
export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/home/hadoop/hadoop-1.0.3
export PATH=$PATH:$HADOOP_HOME/bin
8.执行环境设置
#source /etc/profile
9.设置主IP
#vim hadoop-1.0.3/conf/masters
把localhost替换成192.168.1.247
10.设置从IP
#vim hadoop-1.0.3/conf/slaves
把localhost替换成192.168.1.248
11.设置hdfs
#vim hadoop-1.0.3/conf/hdfs-site.xml
增加如下内容:
<configuration>
    <property>
        <name>dfs.name.dir</name>
        <value>/home/hadoop/hadoop-1.0.3/name</value>
    </property>
     <property>
        <name>dfs.data.dir</name>
        <value>/home/hadoop/hadoop-1.0.3/data</value>
    </property>
     <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
</configuration>
12.配置任务
#vim hadoop-1.0.3/conf/mapred-site.xml
增加如下内容:
<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>192.168.1.247:9001</value>
    </property>
    <property>
        <name>mapred.local.dir</name>
        <value>/home/hadoop/hadoop-1.0.3/var</value>
    </property>
</configuration>
13.配置核心文件
#vim hadoop-1.0.3/conf/core-site.xml
<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://192.168.1.247:9000</value>
    </property>
    <property>
        <name>fs.checkpoint.period</name>
        <value>3600</value>
    </property>
    <property>
        <name>fs.checkpoint.size</name>
        <value>67108864</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/hadoop-1.0.3/tmp</value>
    </property>
</configuration>
14.实现主从自动登录(单方向)
创建公钥:
#ssh-keygen -t rsa
自己可以ssh:
#cat .ssh/id_rsa.pub >> .ssh/authorized_keys
设置文件权限:
#chmod 700 .ssh/authorized_keys
测试一下,不需要密码就表示成功
#ssh localhost
#exit
二、从服务器设置
1.创建用户
#useradd hadoop
2.设置密码
#passwd hadoop
3.编辑系统环境变量(使用root用户)
#vim /etc/profile
追加如下内容:
export JAVA_HOME=/usr/local/jdk1.7.0_05
export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/home/hadoop/hadoop-1.0.3
export PATH=$PATH:$HADOOP_HOME/bin
4.执行环境设置
#source /etc/profile
5.解压缩hadoop压缩包
#tar zxvf hadoop-1.0.3.tar.gz
6.设置目录权限
#chown -R hadoop.hadoop hadoop-1.0.3
三、回到主服务器
1.切换hadoop用户
#su - hadoop
2.复制公私到从服务器
#ssh-copy-id -i .ssh/id_rsa.pub hadoop@192.168.1.248
3.测试
#ssh 192.168.1.248
配置正确的话是不需要密码就能登录的
4.向从服务器发送配置文件
#scp -r hadoop-1.0.3/conf hadoop@192.168.1.248:/home/hadoop/hadoop-1.0.3
5.&#26684;式化分布式文件系统
#hadoop-1.0.3/bin/hadoop namenode -format
6.启动hadoop服务
#hadoop-1.0.3/bin/start-dfs.sh
#hadoop-1.0.3/bin/start-mapred.sh
7.查看运行情况
web查询界面:http://192.168.1.247:50030
四、安装hive(主服务器)
1.压缩包装包(hadoop用户)
#tar zxvf hive-0.9.0.tar.gz
#mv hive-0.9.0 hadoop-1.0.3
2.配置hive环境变量
#cp hadoop-1.0.3/hive-0.9.0/conf/hive-env.sh.template hadoop-1.0.3/hive-0.9.0/conf/hive-env.sh
#vim hadoop-1.0.3/hive-0.9.0/conf/hive-env.sh
增加一行:
HADOOP_HOME=$HADOOP_HOME
3.配置hive元数据保存到mysql
建立数据数用户,数据库使用latin1字符集:
mysql>CREATE DATABASE hive CHARACTER SET latin1;
mysql>GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hivepasswd';
修改配置文件:
#cp hadoop-1.0.3/hive-0.9.0/conf/hive-default.xml.template hadoop-1.0.3/hive-0.9.0/conf/hive-site.xml
#vim hadoop-1.0.3/hive-0.9.0/conf/hive-site.xml
修改四个地方:
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://192.168.1.247:3306/hive?createDatabaseIfNotExist=true</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
  <description>Driver class name for a JDBC metastore</description>
</property>
<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>hive</value>
  <description>username to use against metastore database</description>
</property>
<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>hivepasswd</value>
  <description>password to use against metastore database</description>
</property>
5.复制mysql连接库包
#cp mysql-connector-java-5.1.11-bin.jar hadoop-1.0.3/hive-0.9.0/lib
4.启动hive
#hadoop-1.0.3/hive-0.9.0/bin/hive
5.去掉log4j过期警告
#cp hadoop-1.0.3/hive-0.9.0/conf/hive-log4j.properties.template hadoop-1.0.3/hive-0.9.0/conf/hive-log4j.properties
#vim hadoop-1.0.3/hive-0.9.0/conf/hive-log4j.properties
找到“log4j.appender.EventCounter”将他的&#20540;变更为:“org.apache.hadoop.log.metrics.EventCounter”
五、安装php访问hive数据库插件
1.解压缩thrift包
#tar zxvf thrift-0.8.0.tar.gz
2.不要ruby支持否则会报错
#cd thrift-0.8.0
#./configure --without-ruby
#make && make install
3.后台启动hive
#hadoop-1.0.3/hive-0.9.0/bin/hive --service hiveserver>/dev/null 2>&1 &
4.准备Thrifht库包放在/home/hadoop目录下,这个包可以在网上下载
5.编写php程序
<?
//php连接hive thrift依赖包路径
$GLOBALS['THRIFT_ROOT'] = '/home/hadoop/Thrift/';
//load the required files for connecting to Hive
require_once $GLOBALS['THRIFT_ROOT'] . 'packages/hive_service/ThriftHive.php';
require_once $GLOBALS['THRIFT_ROOT'] . 'transport/TSocket.php';
require_once $GLOBALS['THRIFT_ROOT'] . 'protocol/TBinaryProtocol.php';
//Set up the transport/protocol/client
$transport = new TSocket('192.168.1.247', 10000);
$protocol = new TBinaryProtocol($transport);
$client = new ThriftHiveClient($protocol);
$transport->open();
//run queries, metadata calls etc
$client->execute('show tables');
var_dump($client->fetchAll());
$transport->close();
?>



版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-137867-1-1.html 上篇帖子: Hadoop distcp拷贝 下篇帖子: Ubuntu下eclipse开发hadoop应用程序环境配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表