hadoop和hive安装配置详解
最近部门上hadoop平台,我安装了一遍,挺简单,不过也蹚了好几个雷,我的安装记录分享给大家。
1.新建hadoop用户和组,下载安装jdk jdk-7u17-linux-i586.rpm ,hadoop-1.1.2-bin.tar.gz(不要下载不带bin的和rpm的,rpm的安装hive等的时候会有麻烦,我开始安装rpm的后来又换成了tar.gz的),hive hive-0.10.0-bin.tar.gz (一定要下载带bin的)
2.配置
2.1 配置ssh无密码互相登陆
以下需要在每台机器操作
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
scp authorized_keys 192.168.1.249:/home/hadoop/.ssh
如果ssh hadoop@192.168.1.249 连接速度慢,需要更改/etc/ssh/ssh_config 为GSSAPIAuthentication no
2.2 配置hadoop-env.sh中的java环境变量
2.3 配置core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.1.99:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop</value>
</property>
</configuration>
3.4 配置mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.1.99:9001</value>
</property>
</configuration>
2.5 配置hdfs-site.xml
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/hadoop/name1,/hadoop/name2</value>
<description> </description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/hadoop/data1,/hadoop/data2</value>
<description> </description>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
2.6 配置msters 实际是设置secondarynamenoe节点
配置slaves 设置datanode节点
设置/etc/profile中的HADOOP_HOME等环境变量 hadoop namenode -format
用hadoop用户来启动和stop集群 start-all.sh stop-all.sh
所有配置中需要的目录和文件都得有hadoop的权限。
还需要修改每台机器的host ,vi /etc/hosts中添加 类似192.168.1.99 192.168.1.99 bogon 即可
2.7 NameNode web查看界面 http://192.168.1.99:50070
JobTracker web查看界面 http://192.168.1.99:50030
要保证有关服务开机自启动: chkconfig --list sshd
测试hadoop wordcount mapreduce程序
hadoop fs -mkdir /input hadoop fs -put /etc/hadoop/core-site.xml /input hadoop jar /usr/local/hadoop-1.1.2/hadoop-examples-1.1.2.jar wordcount /input/ivy.xml /output/20130419_1
3.安装hive http://mirror.bit.edu.cn/apache/hive/hive-0.10.0/ tar zxf hive-0.10.0-bin.tar.gz
3.1 首先需要设置/etc/profile中的HIVE_HOME等环境变量
3.2 cp hive-default.xml.template hive-site.xml 并修改里边不规范的地方
3.3 cp hive-env.sh.template hive-env.sh 并设置里边的HADOOP_HOME跟HIVE_CONF_DIR
3.4 配置hive的log4j: cp /usr/loca/hive/conf/hive-log4j.properties.template /usr/loca/hive/conf/hive-log4j.properties
修改/usr/loca/hive/conf/hive-log4j.properties将org.apache.hadoop.metrics.jvm.EventCounter改为org.apache.hadoop.log.metrics.EventCounter
3.5 测试hive
create external table f_test_external( day_key string, uip string, appkey string ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
load data inpath "/input/selfLog/tmp/*" overwrite into table f_test_external; load data local inpath "/home/hadoop/tmp/result_2013-04-13_sort_k2" overwrite into table f_test_external;
4.维护hadoop
重启slave机器,datanode和tasktracker没有自动启动
手动启动 hadoop-daemon.sh start datanode hadoop-daemon.sh start tasktracker