欢迎投稿

今日深度:

Hadoop 环境搭建,

Hadoop 环境搭建,


文章目录

  • 配置Hosts 文件
  • 配置无密码登录
    • 配置Master无密码登录Salve
      • 把公钥复制所有的Slave机器上
      • 把master 的公钥追加到slave 的authorized_keys文件中
      • 修改slave 机器的etc/ssh/sshd_config
    • 在Master上安装 hadoop
  • 配置hadoop
    • 配置hadoop 环境变量
    • 配置core-site.xml文件
    • 配置hdfs-site.xml文件
    • 配置mapred-site.xml文件
    • 配置slaves文件
  • 启动验证
    • 用jps验证进程

配置Hosts 文件

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

192.168.244.130 localhost.master
192.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 yes
PubkeyAuthentication yes
AuthorizedKeysFile      .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.gz
mv hadoop-2.7.2 hadoop

配置hadoop

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

mkdir /usr/local/hadoop/tmp

mkdir /usr/local/hadoop/dfs

mkdir /usr/local/hadoop/dfs/name

mkdir /usr/local/hadoop/dfs/data

配置hadoop 环境变量

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

#set hadoop path
export HADOOP_HOME=/usr/local/hadoop
export 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
sbin/hadoop-daemon.sh  --script hdfs start datanode
sbin/hadoop-daemon.sh  --script hdfs start namenode
sbin/yarn-daemon.sh  start resourcemanager
sbin/yarn-daemon.sh  start proxyserver
sbin/mr-jobhistory-daemon.sh  start historyserver

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

用jps验证进程

master机器

slave机器

www.htsjk.Com true http://www.htsjk.com/Hadoop/41029.html NewsArticle Hadoop 环境搭建, 文章目录 配置Hosts 文件 配置无密码登录 配置Master无密码登录Salve 把公钥复制所有的Slave机器上 把master 的公钥追加到slave 的authorized_keys文件中 修改slave 机器的etc/ssh/...
相关文章
    暂无相关文章
评论暂时关闭