阿里云ECS服务器上hadoop安装(单机)

阿里云ECS服务器上hadoop安装(单机)

环境说明:

jdk 1.8.0_181
系统:GentOs 7

准备工作
修改系统hostname
  1. 修改hostname
[root@aliyunhost sysconfig]# cd /etc/sysconfig/
[root@aliyunhost sysconfig]# cat network
# Created by anaconda
NETWORKING_IPV6=no
PEERNTP=no
NETWORKING=yes
HOSTNAME=aliyunhost

以上,修改HOSTNAME为我们自定义的hostname,之后,修改host映射

[root@aliyunhost hadoop]# cd /etc/
[root@aliyunhost etc]# vim host
host.conf    hostname     hosts        hosts.allow  hosts.deny 

原本只需要修改hosts,修改后如下:

[root@aliyunhost etc]# cat hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1   localhost localhost.aliyunhost

之后重启系统或者网络,发现hostname并未修改成功。
原因是我们发现在/etc目录下,有hostname这个文件,打开看,修改为:

[root@aliyunhost etc]# cat hostname
aliyunhost
  1. 重启网络配置
[root@aliyunhost etc]# /etc/init.d/network restart
Restarting network (via systemctl):                        [  OK  ]

3.用户推出后重新连接,查看hostname

[root@aliyunhost etc]# hostname
aliyunhost

至此,本地host修改和配置完成

创建hadoop安装目录,数据目录
mkdir /usr/local/webserver/hadoop  
mkdir /data/hadoop/temp            
mkdir /data/hadoop/name
mkdir /data/hadoop/data
创建hadoop用户并授权以上目录
groupadd hadoop
useradd hadoop -g hadoop -p hadoop
chown -R hadoop:hadoop /usr/local/webserver/hadoop
chown -R hadoop:hadoop /data/hadoop
hadoop安装
## 下载
cd usr/local/webserver/hadoop
wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-3.1.1/hadoop-3.1.1.tar.gz
## 解压
tar -zxvf hadoop-3.1.1.tar.gz
hadoop配置(5个配置文件)

进入目录:hadoop-3.1.1/etc/hadoop
1. 文件1:

vim hadoop-env.sh

在文件顶部,加入配置(jdk安装目录根据自己实情):

export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
  1. 文件2:
vim core-site.xml

文件内容如下:

<configuration>
    <!-- 指定fs缺省名称 -->
    <property>
      <name>fs.default.name</name>
      <value>hdfs://aliyunhost:9000</value>
    </property>
    <!-- 指定HDFS老大(namenode)的通信地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://aliyunhost:9000</value>
    </property>
    <!-- 指定hadoop运行时产生文件的存储路径 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/data/hadoop/temp</value>
    </property>
</configuration>
  1. 文件3:
vim hdfs-site.xml

文件内容如下:

<configuration>
<!-- 指定hdfs副本数量 -->
<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>

<property>
  <name>dfs.name.dir</name>
  <value>/data/hadoop/name</value>
</property>

<property>
  <name>dfs.data.dir</name>
  <value>/data/hadoop/data</value>
</property>
<property>
  <name>dfs.datanode.http.address</name>
  <value>aliyunhost:9864</value>
</property>
</configuration>
  1. 文件4:
vim mapred-site.xml

文件内容如下:

<configuration>
  <!-- 指定使用yarn框架 -->
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn></value>
  </property>
  <property>
     <name>mapred.job.tracker</name>
     <value>aliyunhosst:9902</value>
  </property>
</configuration>
  1. 文件5:
vim yarn-site.xml

文件内容如下:

<configuration>
<property>
<!-- 指定resourceManager地址 -->
  <name>yarn.resourcemanager.hostname</name>
  <value>aliyunhost</value>
</property>

<!-- reduce获取数据方式 -->
<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>
</configuration>
  1. 此处增加hadoop环境变量配置
vim /etc/profile

文件配置内容如下:

export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
export HADOOP_HOME=/usr/local/webserver/hadoop/hadoop-3.1.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

以上,hadoop配置告一段落

hadoop启动
  1. namenode格式化
    因为已配置hadoop环境变量,直接执行以下命令
hadoop namenode -format
  1. 启动
start-dfs.sh

出现以下错误:

Last login: Thu Aug 23 14:17:40 CST 2018 from 124.89.85.202 on pts/0
aliyunhost: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
Starting datanodes

HDFS是分布式系统,所以启动HDFS时,会启动配置的各个服务器节点,包括本机,在启动过程中是通过ssh远程操作的,需要配置免密登录,执行以下命令:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys 

再次执行start-dfs.sh,执行jps命令

1669 NameNode
11061 Jps
1782 DataNode
1959 SecondaryNameNode

说明启动成功,此时执行命令netstat -nltp

[root@aliyunhost hadoop]# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:9867            0.0.0.0:*               LISTEN      1782/java           
tcp        0      0 0.0.0.0:9900            0.0.0.0:*               LISTEN      10729/nginx: master 
tcp        0      0 0.0.0.0:9100            0.0.0.0:*               LISTEN      10729/nginx: master 
tcp        0      0 0.0.0.0:9868            0.0.0.0:*               LISTEN      1959/java           
tcp        0      0 0.0.0.0:9870            0.0.0.0:*               LISTEN      1669/java           
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      29075/sshd          
tcp        0      0 127.0.0.1:40547         0.0.0.0:*               LISTEN      1782/java           
tcp        0      0 0.0.0.0:9864            0.0.0.0:*               LISTEN      1782/java           
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      1669/java           
tcp        0      0 0.0.0.0:9866            0.0.0.0:*               LISTEN      1782/java 

以上我们配置了端口9864,这是hadoop提供的web页面端口,浏览器打开http://host:9864

总结:第一次安装,过程中坑比较多,主要是明白配置的文件中内容的含义,这样更容易解决问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值