Hadoop 环境搭建

来源:互联网 发布:苏飞万能框架登录淘宝 编辑:程序博客网 时间:2024/05/21 06:36

  • 配置Hosts 文件
  • 配置无密码登录
    • 配置Master无密码登录Salve
      • Master机器上生成密码对
      • 设置SSH配置
      • 把公钥复制所有的Slave机器上
      • 把master 的公钥追加到slave 的authorized_keys文件中
      • 修改slave 机器的etcsshsshd_config
    • 配置Salve无密码登录Master
  • 安装Hadoop
    • 在Master上安装 hadoop
  • 配置hadoop
    • 配置hadoop 环境变量
    • 配置hadoop-envsh
    • 配置core-sitexml文件
    • 配置hdfs-sitexml文件
    • 配置mapred-sitexml文件
    • 配置slaves文件
  • 启动验证
    • 格式化HDFS文件系统
    • 启动hadoop
    • 用jps验证进程

配置Hosts 文件

“/etc/hosts”这个文件是用来配置主机的DNS服务器信息,是记载LAN内接续的各主机的对应[HostName和IP]用的。当用户在进行网络连接时,首先查找该文件,寻找对应主机名(或域名)对应的IP地址。

192.186.244.130 localhost.master192.168.244.128 localhost.slave

为了是修改生效 关闭NetworkManager

//永久关闭chkconfig NetworkManager off//临时关闭chkconfig NetworkManager stop

配置无密码登录

Master(NameNode | JobTracker)作为客户端,要实现无密码公钥认证,连接到服务器Salve(DataNode | Tasktracker)上时,需要在Master上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的Slave上。当Master通过SSH连接Salve时,Salve就会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master。Master收到加密数之后再用私钥解密,并将解密数回传给Slave,Slave确认解密数无误之后就允许Master进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密码。重要过程是将客户端Master复制到Slave上。

//确保openssh 和 rsync 是否按装//rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件    rpm –qa | grep openssh    rpm –qa | grep rsync//如果没有用yum 安装    yum install ssh     yum install rsync     service sshd restart 

配置Master无密码登录Salve

Master机器上生成密码对

 mkdir ~/.ssh //直接回车 ssh-keygen -t rsa -P '' cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

设置SSH配置

修改etc/ssh/sshd_config文件

RSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile      .ssh/authorized_keys

重启服务

service sshd restart

测试

ssh localhost会有提示直接输入yes,回车 会有显示登陆成功Are you sure you want to continue connecting (yes/no)? yes

把公钥复制所有的Slave机器上

命令格式为:scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/

scp ~/.ssh/id_rsa.pub root@localhost.slave:~/

把master 的公钥追加到slave 的authorized_keys文件中

如果slave 中没有~/.ssh 文件夹要先创建

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

注意 此时从master 上传到slave 的id_rsa.pub 可以删除

这里写代码片

修改slave 机器的etc/ssh/sshd_config

配置Salve无密码登录Master

安装Hadoop

下载,以hadoop-2.7.2.tar.gz 为例子。

在Master上安装 hadoop

修改/etc/sysconfig/network文件可以修改主机名字,文件中各个属性的含义如下:

    NETWORKING 是否利用网络    GATEWAY 默认网关    IPGATEWAYDEV 默认网关的接口名    HOSTNAME 主机名    DOMAIN 域名

上传hadoop-2.7.2.tar.gz到 /usr/local 目录

tar -zxvf hadoop-2.7.2.tar.gzmv hadoop-2.7.2 hadoop

配置hadoop

所有节点配置相同
以hadoop在/usr/local/hadoop下创建一下文件夹

mkdir /usr/local/hadoop/tmpmkdir /usr/local/hadoop/dfsmkdir /usr/local/hadoop/dfs/namemkdir /usr/local/hadoop/dfs/data

配置hadoop 环境变量

在 /etc/profile 中添加如下设置

#set hadoop pathexport HADOOP_HOME=/usr/local/hadoopexport PATH=$PATH:$HADOOP_HOME/bin
//重启"/etc/profile" source /etc/profile

配置hadoop-env.sh

此文件路径/usr/local/hadoop/etc/hadoop, 在文件中添加java home
如果已经在/etc/profile 中设置好JAVA_HOME 可以不用配置此文件

export JAVA_HOME=/usr/java/jdk1.8.0_73

配置core-site.xml文件

修改Hadoop核心配置文件core-site.xml,这里配置的是HDFS的地址和端口号。

<configuration>   <property>      <name>hadoop.tmp.dir</name>      <value>/usr/local/hadoop/tmp</value>      <description>A temporary directories.</description>   </property>   <!-- file system properties -->   <property>      <name>fs.default.name</name>      <value>hdfs://192.168.244.130:9000</value>   </property></configuration>

 备注:如没有配置hadoop.tmp.dir参数,此时系统默认的临时目录为:/tmp/hadoo-hadoop。而这个目录在每次重启后都会被干掉,必须重新执行format才行,否则会出错。这就是要创建临时目录的目的。

配置hdfs-site.xml文件

修改Hadoop中HDFS的配置,配置的datanode默认为3。在这里设置为2。
1.x版本的masters文件配置是secondary namenode,2.x之后不需要这个文件了,直接在hdfs-site.xml中配置

<configuration>   <property>      <name>dfs.replication</name>      <value>2</value>   </property>       <property>    <name>dfs.namenode.secondary.http-address</name>    <value>secondary_namenode_host:9001</value>    </property></configuration>

配置mapred-site.xml文件

修改Hadoop中MapReduce的配置文件,配置的是JobTracker的地址和端口。

<configuration>   <property>      <name>mapred.job.tracker</name>      <value>http://192.168.244.130:9001</value>   </property></configuration>

配置slaves文件

添加slave 机器的主机名或IP

localhost.slave

master 机器配置完成,可以把安装文件拷贝到slave机器

scp -r /usr/local/hadoop root@localhost.slave:/usr/local/

启动验证

格式化HDFS文件系统

hadoop namenode -format

启动hadoop

在安装目录下运行如下命令

sbin/start-dfs.sh

注意:start-all 已经被废弃,其他启动脚本如下

sbin/hadoop-daemon.sh  --script hdfs start datanodesbin/hadoop-daemon.sh  --script hdfs start namenodesbin/yarn-daemon.sh  start resourcemanagersbin/yarn-daemon.sh  start proxyserversbin/mr-jobhistory-daemon.sh  start historyserver

用jps验证进程

master机器
这里写图片描述
slave机器

这里写图片描述

0 0