一、虚拟机及系统安装
1. 下载vmware,并成功安装;
2. 在vmware中安装Linux系统;
二、在虚拟机中配置JAVA环境
1.安装java虚拟机(jdk-6u31-linux-i586.bin);
2.配置环境变量
(1) vi /etc/profile (编辑文件)
(2) 添加 JAVA_HOME CLASSPATH PATH
<!--[endif]-->
(3) source /etc/profile (注入环境变量)
注:使用ROOT用户
三、修改hosts
vim /etc/hosts
修改为:
192.168.1.115 hadoop-1 192.168.1.116 hadoop-2 192.168.1.117 hadoop-3
注:使用ROOT用户
四、修改hostname
vim /etc/sysconfig/network
修改为:
NETWORKING=yes HOSTNAME=hadoop-1
临时修改hostname,使用
hostname hadoop-1
查看当前hostname,使用
hostname
注:使用ROOT和户
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!到此请更换普通hadoop用户
五、配置ssh
1. 在当前用户主目录下执行
(1)ssh-keygen
(2)cat .ssh/id_rsa.pub >> .ssh/authorized_keys
(3)chmod 700 .ssh
(4)chmod 600 .ssh/authorized_keys
(5)ssh hadoop-1
SCP将免登陆copy至其他机器:
for i in $(cat iplist) do echo $i scp –r /home/hadoop/.ssh $i:/home/hadoop/ done
六、压缩包解压
1. 解压hadoop-0.20.2-cdh3u3.tar.gz;
2.
解压hive-0.7.1-cdh3u3.tar.gz;
注:tar –xvf xxxx.tar.gz
七、修改hadoop配置文件
(1)进入到 %HADOOP_HOME%/conf
(2)修改core-site.xml 用于配置Common组件的属性
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>fs.default.name</name> <value>hdfs://hadoop-1:9000</value> <description>HDFS的URI,文件系统://namenode标识:端口号</description> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/tmp</value> <description>namenode上本地的Hadoop临时文件夹</description> </property> </configuration>
注:fs.default.name配置中用到了自己配的hostname;
(3)修改hdfs-site.xml 文件用于配置HDFS属性
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>dfs.name.dir</name> <value>/home/hadoop/name</value> <description>namenode上存储hdfs名字空间元数据 </description> </property> <property> <name>dfs.data.dir</name> <value>/home/hadoop/data</value> <description>datanode上数据块的物理存储位置</description> </property> <property> <name>dfs.replication</name> <value>1</value> <description>副本个数,不配置默认是3,应小于datanode机器数量</description> </property> </configuration>
注:单机时,一般将dfs.replication设置为1
(4)修改mapred-site.xml 文件则用于配置MapReduce属性
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>mapred.job.tracker</name> <value>hadoop-1:9001</value> <description>jobtracker标识:端口号,不是URI</description> </property> <property> <name>mapred.local.dir</name> <value>/home/hadoop/mapred/local</value> <description>tasktracker上执行mapreduce程序时的本地目录</description> </property> <property> <name>mapred.system.dir</name> <value>/home/hadoop/mapred/system</value> <description>这个是hdfs中的目录,存储执行mr程序时的共享文件</description> </property> </configuration>
注:mapred.job.tracker中用到了自己配的hostname;
(5)修改masters
hadoop-1
(6)修改slaves
hadoop-2
hadoop-3
(7)修改hadoop-env.sh
export JAVA_HOME=/home/......
需要添加环境变量
HADOOP_HOME
PATH
conf/文件夹里有个hadoop-env.sh的文件,它的作用是配置与hadoop运行环境相关的变量,
export JAVA_HOME=/usr/java/jdk1.6.0_33
SCP拷贝至其他节点:建议打个zip包cp,文件太多影响速度
for i in $(cat iplist) do echo $i scp /home/hadoop/hadoop-1.0.4 $i:/home/hadoop/ done
八、修改hive配置
(1)使用mysql作为元数据库
hive默认使用的是derby数据库,由于需要并发的需要,因此需要使用mysql作为数据库,保证并发响应。原机器上安装的是mysql的client,需要安装server才能运行。可以通过$/etc/init.d/mysqld status查看是否安装server,或服务是否启动。
1、安装mysql server。使用命令$ yum install mysql-server*来安装,可以将依赖的其他包也一起安装。
2、使用sudo权限启动mysql服务 $/etc/init.d/mysqld start
3、使用root帐号在mysql中创建用户与密码,并赋予权限。cm5中默认的用户名和密码均为hadoop。
mysql
mysql> CREATE USER 'hadoop'@'localhost' IDENTIFIED BY 'qazwsx';
mysql> GRANT ALL PRIVILEGES ON * .* TO 'hadoop'@'localhost' WITH GRANT OPTION;
mysql> flush privileges;
mysql> exit
yum install mysql-server*安装mysql
(2)进入%HIVE_HOME%/conf 添加hive-site.xml,并配置
<property> <name>hive.querylog.location</name> <value>/home/hadoop/hive-0.9.0/logs</value> </property> <property> <name>mapred.job.tracker</name> <value>hadoop-1:9001</value> </property> <property> <name>hive.exec.scratchdir</name> <value>hdfs://hadoop-1:9000/tmp/hive-${user.name}</value> <description>Scratch space for Hive jobs</description> </property> <property> <name>hive.metastore.local</name> <value>true</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hadoop</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>qazwsx</value> </property>
(3)使用mysql作为数据库,需要mysql的jdbc驱动,需要下载该jar包到对应的hive/lib文件夹中。
需要添加环境变量
HIVE_HOME PATH<!--[endif]-->
九、hadoop首次format及启动,停止
1.hadoop的format
hadoop namenode -format
2.hadoop的启动
start-all.sh
3.hadoop的停止
stop-all.sh
注:使用jps或ps查看hadoop是否启动,启动时如果有问题,会在屏幕上显示出来的。
可以输入网址:
http://hadoop-1:50070
查看hadoop的运行情况