1.hadoop下载地址:http://www.apache.org/dyn/closer.cgi/hadoop/core/
2.下载java6软件包,分别在三台安装
3、三台虚拟机,一台作为master,另外两台作为slave,分别配置/etc/hosts
172.16.130.84 server14
172.16.130.85 server15
172.16.130.86 server16
4、在三台主机/etc/profile设置环境变量 可查看当前的环境变量如果已经配置忽略(env)
export JAVA_HOME=/usr/java/jdk1.6.0_13
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export HADOOP_HOME=/home/hduser/hadoop
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH
5、在三台机器上建立hadoop用户和组
groupadd hadoop
useradd -g hadoop hduser
6、在masternode节点创建SSH安全认证也可参考(
http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/
)
$ ssh-keygen -t rsa -P ""
$cd .ssh
$ cat id_rsa.pub>>authorized_keys
$ssh masternode
$ssh slavenode1
$ssh slavenode2
将授权的文件分别拷贝到slavenode1和slavenode2,检查ssh登陆主机是否需要密码。
7、上传hadoop软件包到hadoop用户目录下解压
tar xvf hadoop*.gz
8、添加$HADOOP_HOME/conf/hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.6.0_13
9、编辑$HADOOP_HOME/conf/core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hduser/hadoop/tmp</value> //hadoop临时文件存放位置
<description>.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://server14:9000</value>//hadoopmaster
<description> </description>
</property>
</configuration>
10、编辑$HADOOP_HOME/conf/mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hdfs://server14:9001</value>
<description>. </description>
</property>
<property>
<name>mapred.tasktracker.map.tasks.maximum</name> //每台机器map任务的个数
<value>11</value>
</property>
<property>
<name>mapred.tasktracker.reduce.tasks.maximum</name> //每台机器reduce任务的个数
<value>4</value>
</property>
</configuration>
11.修改hadoop-env.sh 文件
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/
export HADOOP_HEAPSIZE=5000 //守护进程的堆大小,一般设为总内存的四分之一
export HADOOP_LOG_DIR=/home/hadoop0/hadoop_logs
export HADOOP_PID_DIR=/home/hadoop0/hadoop_pids
12.修改 hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value> //数据的冗余
</property>
<property>
<name>dfs.permissions</name>
<value>false</value> //文件的用户权限检查
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop0/hadoop_root/name/,/home/hadoop1/hadoop_root/name/</value> //namenode的本地目录
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop0/hadoop_root/data/,/home/hadoop1/hadoop_root/data/,/home/hadoop2/hadoop_root/data/,/home/hadoop3/hadoop_root/data/</value> //datanode的本地目录
</property>
<property>
<name>dfs.datanode.max.xcievers</name>
<value>4096</value>
</property>
//该参数限制了datanode所允许同时执行的发送和接受任务的数量,缺省为256, 高负载下, 在put数据的时候会报 could not read from stream 的 Exception。为了提高hbase性能,所以设置此参数
<property>
<name>dfs.support.append</name>
<value>true</value>
</property> //支持hbase的log能够append
</configuration>
13.编辑$HADOOP_HOME/conf/masters
masternode
14、编辑$HADOOP_HOME/conf/slaves
slavenode1
slavenode2
15、在所有机器上创建/home/hduser/hadoop/tmp
16、拷贝masternode上$HADOOP_HOME文件拷贝到各个节点上
17、在masternode进行格式化
hadoop -namenode -format
18、启动
start-all.sh
jps命令查看
19、访问masternode http://server14:50030
访问slavenode http://server14:50060
文件访问http://server14:50070/dfshealth.jsp