centos7 hadoop3安装

1、首先准备软件

vmware14下载地址:百度下载

centos7下载地址:http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-3.0.0-alpha4/

jdk8下载地址: http://www.Oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

hadoop-3.0.0-alpha4 下载地址http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-3.0.0-alpha4/hadoop-3.0.0-alpha4.tar.gz

2、安装centos时,遇到的几个问题:

a、vmware14无法上网,  解决办法为设置网络为nat,

一、安装好虚拟后在菜单栏选择编辑→ 虚拟网络编辑器,打开虚拟网络编辑器对话框,选择Vmnet8 Net网络连接方式,随意设置子网IP,点击NAT设置页面,查看子网掩码和网关,后面修改静态IP会用到。

 

       

二、检查宿主机VM8 网卡设置,打开网络和共享中心→ 更改适配器设置→,在VMware Network Adapter VMnet8上单击右键,选择属性按钮打开属性对话框。      

      

    

三、添加host映射

gedit /etc/hosts

192.168.153.66 cMaster
192.168.153.67 cSlave0
192.168.153.68 cSlave1

 方案一:自动获取ip,重启会动态改变ip;

首先用 ifconfig命令查看第一个网络设备如eth0,然后执行下面语句

[root@localhost ~]#  nmcli connection modify eth0 \
>  connection.autoconnect yes \
>  ipv4.method auto

方案二:设置静态ip

编辑网路ip等设置

gedit  /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=none
IPADDR=192.168.153.66
NETMASK=255.255.255.128
GATEWAY=192.168.153.2

设置DNS

/etc/resolv.conf

search cMaster

nameserver 114.114.114.114

然后重启网络
systemctl restart network.service

b、安装vmware tool 报找不到gcc,解决办法安装gcc:yum -y install gcc

c、提示

The path "" is not a valid path to the 3.10.0-693.el7.x86_64 kernel headers.

解决办法安装kernel:

yum -y install kernel-devel

d、更新依赖: yum -y update 然后重启系统;

e、安装vmware-tool方便文件拷贝:菜单栏-虚拟机-安装vmware-tool 将tar文件拷贝到一个目录,然后执行解压缩: tar zxvf VMwareTools-10.1.15-6627299.tar.gz

解压完执行进行安装:./vmware-install.pl 一直按enter确定完成;

3、修改机器名。

打开终端,切换到root用户下修改机器名称。

$ sudo su

$ vim /etc/sysconfig/network

在其中添加“HOSTNAME=cMaster”,然后重启当前虚拟机,再查看机器名就是cMaster了。

o插入一行

:wq 保存

4、关闭当前机器的防火墙。

在root权限下执行以下两条指令,关闭防火墙并阻止其开机启动。

systemctl stop firewalld.service          #停止firewall
systemctl disable firewalld.service     #禁止firewall开机启动

5、安装jdk:rpm -ivh jdk-8u151-linux-x64.rpm 安装完后执行javac命令看是否安装成功

6、解压hadoop,部署hadoop

a、tar–zxvf /home/joe/ hadoop-3.0.0-alpha4.tar.gz 命令解压 ;

解压完成后需要在解压后目录/etc/hadoop下修改hadoop的配置文件。

b.使用如下指令编辑hadoop-env.sh文件

 gedit   hadoop-env.sh

在文件中找到export JAVA_HOME=${JAVA_HOME}

修改为export JAVA_HOME=/usr/java/jdk1.8.0_151(填写自己安装的jdk的路径)

c.修改core-site.xml文件

使用命令gedit core-site.xml

在<configuration>标签之间插入以下内容。

<property><name>hadoop.tmp.dir</name><value>/home/joe/cloudData</value></property>

<property><name>fs.defaultFS</name><value>hdfs://cMaster:8020</value></property>

d.修改yarn-site.xml文件

使用以下命令修改gedit  yarn-site.xml

在<configuration>标签之间插入以下内容

<property><name>yarn.resourcemanager.hostname</name><value>cMaster</value></property>

<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property>

e.修改mapred-site.xml

并用命令gedit mapred-site.xml

在<configuration>标签之间加入如下内容:

<property><name>mapreduce.framework.name</name><value>yarn</value></property>

f.启动hadoop

首先格式化主节点命名空间,使用命令:

./hadoop-3.0.0-alpha4/bin/hdfs namenode –format

其次在主节点上启动存储服务和资源管理主服务。使用命令:

./sbin/hadoop-daemon.sh start namenode        #启动主存储服务

./sbin/yarn-daemon.sh start resourcemanager   # 启动资源管理服务。

最后在从节点上启动存储从服务和资源管理从服务(以下两条命令要在两台机器上分别执行)

./sbin/hadoop-daemon.sh start datanode     #启动从存储服务

./sbin/yarn-daemon.sh start nodemanager   #启动资源管理从服务

 

g、hadoop无法启动namenode问题,format失败,本次主要发现两个问题,一个是 core-site.xml文件的 hadoop.tmp.dir 存储路径需手工创建且用户要有权限;第二是删除master和slave的这个文件夹里面的数据重新format才可以;

h、Hadoop启动无法访问50070端口问题,

hdfs-site.xml 添加如下解决:

<property>
  <name>dfs.http.address</name>
  <value>0.0.0.0:50070</value>
</property>

 

i、start-all.sh启动报

Starting namenodes on [cMaster]
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.

编辑

gedit sbin/start-dfs.sh
gedit sbin/stop-dfs.sh

行首空白处加:

HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
报错

Starting resourcemanager
ERROR: Attempting to launch yarn resourcemanager as root
ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting launch.
Starting nodemanagers
ERROR: Attempting to launch yarn nodemanager as root
ERROR: but there is no YARN_NODEMANAGER_USER defined. Aborting launch.

编辑 

gedit sbin/start-yarn.sh
 gedit sbin/stop-yarn.sh

行首空白处加
YARN_RESOURCEMANAGER_USER=root

HADOOP_SECURE_DN_USER=yarn

YARN_NODEMANAGER_USER=root

j、报错

 localhost: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

查看是否安装了相关软件:

rpm -qa|grep -E "openssh"

显示结果含有以下三个软件,则表示已经安装,否则需要安装缺失的软件

openssh-ldap-6.6.1p1-35.el7_3.x86_64
openssh-clients-6.6.1p1-35.el7_3.x86_64
openssh-6.6.1p1-35.el7_3.x86_64
openssh-askpass-6.6.1p1-35.el7_3.x86_64
openssh-server-6.6.1p1-35.el7_3.x86_64
openssh-keycat-6.6.1p1-35.el7_3.x86_64
openssh-server-sysvinit-6.6.1p1-35.el7_3.x86_64

安装缺失的软件:

sudo yum install openssh*

SSH配置

集群中的每台主机上打开配置

sudo vim /etc/ssh/sshd_config

开启下面的选项

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

 

生成SSH密钥

集群中的每台主机上执行下面命令,一路回车,可生成本机的rsa类型的密钥。

ssh-keygen -t rsa

执行完之后在~/.ssh/目录下会生成一个保存有公钥的文件:id_rsa.pub

 

把公钥写入authorized_keys文件

把自己的公钥拷贝到集群中的Master机(包括master自己也要执行一次)

ssh-copy-id hadoop@HadoopMaster

最终在Master机上生成如下的内容的~/.ssh/authorized_keys文件:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArYU2kMXsu75Gzwvuby7OoGzC7GVwxVo+ol/7nJVD    BpKpJLRHRe/d2HSNe9ZZRWLK2tU0e41baMxrYRoAKJA2ujcWfy7t57c3ArO9hA7KJy7MqMiT8WHQ    M3I2Afsx6sVKeQU/czDLXHn+KjwKbR8z0tuycgtxgkaWx1PCpCKeFDAXDVvxYcurSUNaIGL5Egzu    Iy97N52ld/WxUZnRRsTPdpW88JkhWdOV1Bdo4O67rNv5tSYKHXfPwqi8NekqoHIExgVRsHLvM8fe    xvV4mo8lXYdQPRCyrtM9/V+4kSW8eaBO7w6hM9YVZIspSqx0+OqibWTvqSmiAVh0JmUT0MCeVQ==     hadoop@HadoopMaster
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA7n27x4qSzRQNGQAL+rT1+91IQnM9cwZYFeSUzrJD    GDfwCTJMKnRBYxrDMxTAM6MKjfwwkPzXnbKHLQnDiJKUSdF8H2xcgDMBJLssVQjOc2jSEg/VppQN    hJwObbIL3k1FbU2KxkOp7yW5PIodZrgUwlH5wdXtfsPKimvv72uA1KUiqPbYA3ZJqXw9Bt87K6Sv    IAkvUjshnfaS+wNEBVwW1dhXyz6DHuY+Tn9330+1oYfdmgSjS4ZqvZVothhhV58DNwzAYwINCpBA    tkjFbk/SOf0q/4rSJRpe2yH9xOuZdwqXMfk3dkp0UFZkV2EVSLyaCNKwTbSuKN75FWhgl8QB7w==     hadoop@HadoopSlave1
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAw91O/1NWnbr6/vop+xwnqR/XYNpwkWselzyHNqgD    PYgXXsDHsvOZbpTX7pgOTgVSmlZetCdX4C1lsc/PO8IitvvBS/qWU216lXaqlW61RcliCrYH/RwN    f8XTLx/Ga04w2qEIFlLOiuH6x/KA22muOLYaSIefXv38xj0Hj41iE5ZIseaLuJogn7iqJ6Fq0wQH    i6ueF9BasSWnOHhn6CJamYz3FC9r2m3vwPMkgagPp1FdYyDxodK+MZlwu6TxqP6QQ7BY/Wh5DZK8    C8zpDOZGQgWOrghF58TlZSmJYmukv1NqsY8PCFuoj7vfoUzVKQkyKcEiohwBcTb50vGPl06bMQ==     hadoop@HadoopSlave2

把HadoopMaster的authorized_keys拷贝到HadoopSlave1和HadoopSlave2

scp ~/.ssh/authorized_keys hadoop@HadoopSlave1:~/.ssh/
scp ~/.ssh/authorized_keys hadoop@HadoopSlave2:~/.ssh/

 

重启SSH服务

sudo service sshd restart

 

测试连接

ssh HadoopSlave1

 

常见免密码登录失败分析

配置问题

  1. 检查配置文件/etc/ssh/sshd_config是否开启了AuthorizedKeysFile选项
  2. 检查AuthorizedKeysFile选项指定的文件是否存在并内容正常

目录权限问题

  1. ~权限设置为700
  2. ~/.ssh权限设置为700
  3. ~/.ssh/authorized_keys的权限设置为600
sudo chmod 700 ~
sudo chmod 700 ~/.ssh
sudo chmod 600 ~/.ssh/authorized_keys

 

设置完了记得重启ssh服务

参考链接:http://www.linuxidc.com/Linux/2016-11/137244.htm(hadoop)

                https://www.cnblogs.com/keitsi/p/5653520.html (ssh)

 

转载于:https://my.oschina.net/xiaoyaoyoufang/blog/1592276

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值