Hadoop 2.5.2集群安装

来源:互联网 发布:else if在java中意思 编辑:程序博客网 时间:2024/05/29 16:25
首先创建三台虚拟机,一台namenode,两个datanode,并安装好jdk1.7,如下:
192.168.1.18 maser 
192.168.1.19 slave   
192.168.1.20 slave   
一、安装Hadoop并修改相关配置文件
1.在所有的机器上 创建相同的用户:hadoop
useradd hadoop
passwd hadoop

2.主机之间配置SSH无密码验证:
1)在master机器上生成秘钥并配置(只需设置Master节点到各个Slave节点的免密码登陆)
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys 
如果不存在.ssh 则创建文件夹.ssh,并将权限修改为700,这一步非常重要因为默认创建的.ssh文件夹的权限为700,手工创建不修改权限的话不能成功,修改权限后将该
 id_rsa.pub添加到授权的key中:
 mkdir .ssh
chmod 700 .ssh 
将文件拷贝到另外两台slave主机
scp ~/.ssh/authorized_keys slave1:~/.ssh/authorized_keys 
scp ~/.ssh/authorized_keys slave2:~/.ssh/authorized_keys 
三台主机上执行:
chmod 600 authorized_keys 
验证
ssh slave1
ssh slave2

3.下载Hadoop并解压并建立软链接:
        wget http://apache.dataguru.cn/hadoop/common/hadoop-2.5.2/hadoop-2.5.2.tar.gz 
       tar xzvf  hadoop-2.5.2.tar.gz 
       ln -s hadoop-2.5.2 hadoop2

4.配置hadoop环境变量 vi /etc/profile,添加下面的内容:
###set hadoop_env
export HADOOP_HOME=/home/hadoop/hadoop2
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS=\"-Djava.library.path=$HADOOP_HOME/lib\"

5.修改hadoop部署配置文件
两类重要的配置文件:
a)只读默认的配置文件:
   core-default.xml
   hdfs-default.xml
   yarn-defaul.xml
   mapred-default.xml
b)手工配置文件(./etc/hadoop目录下)
   core-site.xml
   hdfs-site.xml
   yarn-site.xml
   mapred-site.xml
另外,还有几个重要的环境配置文件:
   hadoop-env.sh
   yarn-env.sh
   mapred-env.sh
   slaves

1)修改hadoop-env.sh文件指定JAVA_HOME目录
     2)修改mapred-env.sh文件指定JAVA_HOME目录
       3)配置YARN的运行环境yarn-env.sh指定JAVA_HOME目录
       4)配置salves,修改vi slaves,添加下面内容
     5)在所有的机器上创建hadoop工作目录:
mkdir /hadoop2
chown hadoop:hadoop /hadoop2
6)修改core-site.xml:
<configuration>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/home/hadoop/hadoop2/tmp</value>
                <description>A base for other temporary directories.</description>
        </property>
        <property>
                <name>fs.default.name</name>
                <value>hdfs://192.168.1.18:9000</value>
        </property>
        <property>
                <name>io.file.buffer.size</name>
                <value>131072</value>
        </property>
        <property>
                <name>hadoop.proxyuser.root.hosts</name>
                <value>*</value>
        </property>
        <property>
                <name>hadoop.proxyuser.root.groups</name>
                <value>*</value>
        </property>
</configuration>

7)hdfs-site.xml配置
创建hadoop工作目录
mkdir -p /hadoop2/dfs/data /hadoop2/dfs/name

<configuration>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>/hadoop2/dfs/name</value>
                <final>true</final>
        </property>

        <property>
                <name>dfs.datanode.data.dir</name>
                <value>/hadoop2/dfs/data</value>
                <final>true</final>
        </property>

        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>

        <property>
                <name>dfs.permissions</name>
                <value>false</value>
        </property>
</configuration>

8)资源分配参数,修改yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
                <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>master</value>
        </property>
</configuration>

9)目录复制同步
scp -r hadoop-2.5.2 slave2:~
scp -r hadoop-2.5.2 slave2:~

10)格式化:namenode
hadoop2/bin/hadoop namenode -format

二、启动集群
1、启动HDFS集群
$/home/hadoop/hadoop2/sbin/start-dfs.sh
日志文件:

确定是否启动成功:
http://192.168.1.18:50070

2.启动yarn集群
$/home/hadoop/hadoop2/sbin/start-yarn.sh
http://192.168.1.18:8088/cluster

3。启动JobHistory Server
./mr-jobhistory-daemon.sh start historyserver
http://192.168.1.18:19888/jobhistory

三、集群验证
1、使用hadoop自带的WordCount例子进行验证
$hadoop fs -mkdir -p /data/wordcount
$hadoop fs -mkdir -p /output
$hadoop fs -put ~/hadoop2/etc/hadoop/core-site.xml /data/wordcount
$hadoop fs -ls /data/wordcount
$hadoop jar ~/hadoop2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar wordcount /data/wordcount /output/wordcount

2、查看结果
$hadoop fs -cat /output/wordcount/part-r-00000|head



0 0
原创粉丝点击