个人计算机安装hadoop全分布
一、工具说明
设备:实体主机一台 校园网络
虚拟设备:VMware下安装的ubuntu12.04版本三台,分别是master,slave1,slave2
二、ubuntu安装篇
前提知识:在windows平台用SecureCRT连接虚拟机机器的时候,必须是同一网关下,虚拟机选择NAT网络模式的话生成的ip是192.168.138.XXX形式,与要求不符,最终要修改为桥接形式,不过桥接形式下不能上网,所以安装完系统后先用NAT模式把要下载的东西下载好再改为桥接
Ubuntu安装完成后,root是没有设置密码的,需要先为root设置密码,执行
juefan:~$ sudo passwd [sudo] password for juefan: 输入密码 输入新的 UNIX 密码: 在此设置root的密码 重新输入新的 UNIX 密码:
用root登录,创建用户组并创建该组下的新用户
root:~#groupadd ghadoop
root:~#useradd hadoop -g ghadoop
安装ssh然后就可以用SecureCRT登录进行操作
apt-get install openssh-server
安装jdk,并查看jdk安装的目录,方便jdk转移统一管理
apt-get install openjdk-7-jre-headless
ls -l $(which java)
一般上面会输出结果为
lrwxrwxrwx 1 root root 22 2008-04-04 09:38 /usr/bin/java -> /etc/alternatives/java
这个还不是真正的jdk的安装位置,只是一个指向,最终的jdk安装路径是在 /usr/lib/jvm下面,把其下的jdk移动到/opt/java,然后删除/usr/bin/java,再做一个软链接到java就可以了
mv /usr/lib/jvm/java-7-openjdk-i386 /opt/java rm /usr/bin/java ln -s /opt/java/bin/java /usr/bin/java
一般在安装完hadoop的时候会用jps确定组件是否启动,所以也要先把这个功能安装了
apt-get install openjdk-7-jdk
刚刚在上面转移了jdk后,出现错误了,所以还是不要转移的好
刚刚发现还有俩个功能需要在线安装的 vim 和 lzrz
apt-get install lrzsz
系统基本上就安装完成了,接下来进行hadoop部署环节
三、hadoop部署篇
首先下载hadoop,在这里用的是hadoop1.0.3版本 hadoop-1.0.3.tar.gz
解压hadoop-1.0.3.tar.gz 并将其移动到其它目录
tar -zxvf hadoop-1.0.3.tar.gz mv hadoop-1.0.3 /opt/hadoop
修改环境变量,打开/etc/profile,要用root才能编辑
root:~# vim /etc/profile
export JAVA_HOME=/opt/java export JRE_HOME=/opt/java/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH export HADOOP_HOME=/opt/hadoop export PATH=$HADOOP_HOME/bin:$PATH
进入/opt/hadoop/conf,修改相应的配置文件
$ vim hadoop-env.sh export JAVA_HOME=/opt/java
同时修改core-site.xml 和hdfs-site.xml 及mapred-site.xml
$vim core-site.xml <configuration> <property> <name>hadoop.tmp.dir</name> <value>/hadoop</value> </property> <property> <name>fs.default.name</name> <value>hdfs://master:9000</value> </property> <property> <name>dfs.hosts.exclude</name> <value>excludes</value> </property> <property> <name>dfs.name.dir</name> <value>/hadoop/name</value> </property> </configuration>
$vim hdfs-site.xml <configuration> <property> <name>dfs.data.dir</name> <value>/hadoop/data</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> </configuration>
$vim mapred-site.xml <configuration> <property> <name>mapred.job.tracker</name> <value>master:9001</value> </property> </configuration>
hadoop的基本配置之类的就差不多完成了,接下来要进行克隆操作,在克隆之前可以先把部分host修改了,打开/opt/hadoop/conf/master和slaves,将其修改为
$vim master
master
$vim slaves
master
slave1
slave2
至此,可以进行克隆操作了......
克隆操作完成以后 , 需要修改每个节点的hostname , 按照上面的对应关系去修改即可
四、hive安装篇
一般情况下 , 在实际环境中大家的操作都会集中在某一台或几台机器中 , 所以在安装hive的时候可以只安装那些大家有权限操作的节点 , 在此本人选择了安装在master节点中 , 因为还要安装mysql之类的 , 方便管理.
首先下载hive,在这里用的是hive-0.10.0版本 hive-0.10.0.tar.gz
解压hive-0.10.0.tar.gz 并将其移动到其它目录
tar -zxvf hive-0.10.0.tar.gzmv hive-0.10.0 /opt/hive
修改环境变量,打开/etc/profile,要用root才能编辑
root:~# vim /etc/profile
export HIVE_HOME=/opt/hive export PATH=$HIVE_HOME/bin:$PATH
进入/opt/hive/conf,将目录下hive-env.sh.template中的HADOOP_HOME为改实际的Hadoop安装目录 , 并将hive-env.sh.template复制并命名为hive-env.sh , 再增加执行权限
打开HDFS(执行 start-all.sh)
为hive创建HDFS上的默认文件夹
hadoop fs -mkdir /tmp hadoop fs -mkdir /user/hive/warehouse hadoop fs -chmod g+w /tmp hadoop fs -chmod g+w /user/hive/warehouse
将conf下面的hive-default.xml.template复制两份,分别命名为hive-default.xml(用于保留默认配置)和hive-site.xml(用于个性化配置,可覆盖默认配置)
至此 , hive的基本配置已经弄好.
执行hive , 看看有没有跳到 hive的shell 界面 , 有的话就基本完成了.
[hadoop@all-RTB-238-54 ~]$ hive WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files. Logging initialized using configuration in jar:file:/data1/program/hive-0.10.0/lib/hive-common-0.10.0.jar!/hive-log4j.properties Hive history file=/tmp/hadoop/hive_job_log_hadoop_201311051220_287110733.txt hive>