Hadoop 2.7.2集群安装配置

Hadoop 2.7.2集群安装配置

 

通常,集群里的一台机器被指定为NameNode,另一台不同的机器被指定为JobTracker,这些机器是masters。余下的机器即作为DataNode也作为TaskTracker,这些机器是slavesslave节点的配置跟master节点是一样的。所以我们只要部署好master节点,slave节点等master节点配置好以后scp拷贝或者rsync同步到slave节点就可以了。

 

1、准备工作(安装必要的依赖项)

JAVA JDK1.7

1.    从官网http://www.Oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html下载tar.gz格式的,32位和64位机器对应下载。比如64位的下载的是jdk-7u51-linux-x64.tar.gz.

2.    解压到/usr/local目录 tar –jxvf jdk-7u51-linux-x64.tar.gz –C /usr/local

3.    编辑/etc/profile文件写入到系统环境变量:

#修改java运行环境

export JAVA_HOME=/usr/local/jdk1.7

export PATH=$PATH:$JAVA_HOME/bin

4.    修改完成后,使用source/etc/profile 命令进行更新;

5.    使用java -version命令判断是否安装成功版本号是否正确,在其他机器上同样安装JDK环境。

注意:由于可能会有默认的JDK,如openjdk,所以,为了将我们安装的JDK设置为默认JDK版本,还要进行如下工作。执行:

sudo update-alternatives --install/usr/bin/java java /usr/local/java1.7 /bin/java 300 

sudo update-alternatives --install/usr/bin/javac javac /usr/local/java1.7 /bin/javac 300 

执行以下命令,选择所需的版本。

sudo update-alternatives --configjava 

sudo update-alternatives --config javac

Hosts

所有的节点都需要修改/etc/hosts文件,使彼此之间都能够把主机名解析为ip地址,格式:

ip地址  主机名/域名   (主机别名)

eg:    192.168.22.131   linux131     linux131

         192.168.22.137   linux137     linux137

SSH 无密码登陆

         首先要配置本机的SSH服务器,运行 ps -e | grep ssh,查看是否有sshd进程,如果没有,说明server没启动,通过 /etc/init.d/ssh -start 启动server进程,如果提示ssh不存在那么就是没安装serverUbuntu下通过 sudo apt-get install openssh-server命令来安装。

1)生成当前用户的SSH公钥:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

它在你当前登录的用户名下生成.ssh目录,.ssh下有id_ dsaid_ dsa.pubid_ dsa.pub即是本地SSH生成的公钥文件。客户端机器将id_ dsa.pub文件添加到自己的~/.ssh/authorized_keys文件中即可免密码登录到本机。

2)将~/.ssh/id_ dsa.pub添加到目标机器的~/.ssh/authorized_keys文件中

•如果是本机的操作,则使用:

cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

将要登录的机器的公钥添加到本地的认证密钥库中。注意这里必须要用>>操作符进行追加操作。

使用ssh localhost命令即可免密码登录到本地。

•如果是将自己的公钥发送到别的机器上。

可以使用类似下面的命令:

scp ~/.ssh/id_dsa.pub  root@172.24.253.2:~

这条scp命令进行文件上传操作。

然后cat ~/id_dsa.pub >>~/.ssh/authorized_keys

注意:上传过来的其他机器id_dsa.pub不能覆盖本机的此文件。

2、安装Hadoop

下载Hadoop

最新版本hadoop-2.7.2安装包为hadoop-2.7.2.tar.gz

下载官网地址 :http://www.apache.org/dyn/closer.cgi/hadoop/common/

下载到用户当前目录~中,并解压tar zxvf hadoop-2.7.2.tar.gz

1、配置Hadoop环境变量

方法一:vim /etc/profile

在末尾添加:

export JAVA_HOME=/usr/local/jdk1.7.0_25

export HADOOP_HOME=/data/xieguangjian/hadoop-2.7.2

export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"

export PATH="$JAVA_HOME/:$HADOOP_HOME/bin:$PATH"

方法二:

也可以在hadoop-2.7.2文件夹的etc/hadoop下面的hadoop-env.shyarn-env.sh中配置JAVA_HOME路径.

添加:export JAVA_HOME=/usr/local/jdk1.7.0_25

注意:鉴于Hadoop默认的是32位系统,还需要加上64位支持:

exportHADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native

exportHADOOP_OPTS="-Djava.library.path=$HADOOP_ HOME/lib"

2、配置Hadoop相关文件

core-site.xml

该文件是 hadoop core的配置项,例如hdfsmapreduce常用的i/o设置等,做如下配置:

1.   <configuration>  

2.     <property>  

3.        <name>fs.default.name</name>  

4.        <value>hdfs://localhost:9000</value>  

5.     </property>  

6.     <property>  

7.        <name>hadoop.tmp.dir</name>  

8.        <value>/data/xieguangjian/hadoop/hadoop-tmp</value>  

9.     </property>  

10.  </configuration>  

注解:

1fs.defaultFS 这是一个描述集群中NameNode结点的URI(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道NameNode的地址。DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URIDataNode交互,以取得文件的块列表。

2hadoop.tmp.dir hadoop文件系统依赖的基础配置,很多路径都依赖它。如果hdfs-site.xml中不配置namenodedatanode的存放位置,默认就放在这个路径中Hadoop的默认临时路径,这个最好配置,然后在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令了。

hdfs-site.xml

该文件是 hadoop守护进程的配置项,包括namenode、辅助namenodedatanode等,做如下配置:

1.   <configuration>  

2.   <property>  

3.     <name>dfs.namenode.name.dir</name>  

4.     <value>file: /data/xieguangjian/hadoop/dfs/name</value>  

5.   </property>  

6.   <property>  

7.     <name>dfs.namenode.data.dir</name>  

8.     <value>file: /data/xieguangjian/hadoop/dfs/data</value>  

9.   </property>  

10.  <property>  

11.    <name>dfs.replication</name>  

12.    <value>3</value>  #系统默认文件保存3份,若为伪分布模式,改为1.这一属性也可以不配,使用默认。

13.  </property>  

14.  </configuration>  

注解:

1dfs.namenode.name.dir这是NameNode结点存储hadoop文件系统信息的本地系统路径。这个值只对NameNode有效,DataNode并不需要使用到它。在实际应用中,它最好被覆盖掉。

2dfs.datanode.data.dir这是DataNode结点被指定要存储数据的本地文件系统路径。DataNode结点上的这个路径没有必要完全相同,因为每台机器的环境很可能是不一样的。但如果每台机器上的这个路径都是统一配置的话,会使工作变得简单一些。默认的情况下,它的值hadoop.tmp.dir, 这个路径只能用于测试的目的,因为,它很可能会丢失掉一些数据。所以,这个值最好还是被覆盖。

 

下面配置可以参见:http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/

mapred-site.xml,做如下配置:

这里没有这个文件,可以新建一个,或者直接修改mapred-site.xml.template

         <property>

       <name>mapreduce.framework.name</name>

        <value>yarn</value>

          <description>Execution framework set toHadoop YARN.</description>

</property>

   <property> 

        <name>mapreduce.jobtracker.http.address</name> 

       <value>linux137:50030</value> 

    </property> 

    <property> 

       <name>mapreduce.jobhistory.address</name> 

       <value>linux137:10020</value> 

    </property> 

    <property> 

        <name>mapreduce.jobhistory.webapp.address</name> 

       <value>linux137:19888</value> 

    </property>

 

yarn-site.xml,如下配置:

         <property>

       <name>yarn.nodemanager.aux-services</name>

       <value>mapreduce_shuffle</value>

</property>

   <property> 

       <name>yarn.resourcemanager.address</name> 

       <value>linux137:8032</value> 

    </property> 

    <property> 

       <name>yarn.resourcemanager.scheduler.address</name> 

       <value>linux137:8030</value> 

    </property> 

    <property> 

       <name>yarn.resourcemanager.resource-tracker.address</name> 

       <value>linux137:8031</value> 

    </property> 

    <property> 

       <name>yarn.resourcemanager.admin.address</name> 

       <value>linux137:8033</value> 

    </property> 

    <property> 

       <name>yarn.resourcemanager.webapp.address</name> 

       <value>linux137:8088</value> 

    </property>

 

slaves配置文件(DataNode的主机名)

linux131

linux137

3、启动集群

Hadoop2.7.2目录下第一次需要格式化节点信息:

./bin/hdfs namenode –format

查看终端信息,若没有error应该就对了。

启动:

sbin/start-all.sh其实这条命令就是执行了:

sbin/start-dfs.shsbin/start-yarn.sh两步操作。

停止:

sbin/stop-all.sh或者 $ sbin/stop-dfs.sh$ sbin/stop-yarn.sh

4、运行测试

测试一下状态吧,检查一下进程是否启动jps命令:出现大概是:

然后再测试一下hadoop状态,

./bin/hadoop dfsadmin -report,出现大概是:

。。。

也可以浏览器进行查看:

http://192.168.22.137:50070 这是hdfs的页面。

http://192.168.22.137:8088 这是hadoop进程管理页面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值