• 操作系统: Cent OS 7
  • Hadoop : 2.8.1
  • jdk版本: 1.7

服务器列表:

  • 10.32.156.64 sp-64 `masterer`
  • 10.32.156.65 sp-65
  • 10.32.156.66 sp 66
  • 10.32.156.67 sp-67

创建新用户 配置hosts 文件 并改名

[root@localhost ~]# echo "
10.32.156.64 sp-64
10.32.156.65 sp-65
10.32.156.66 sp-66
10.32.156.67 sp-67
" >> /etc/hosts
[root@localhost ~]#
[root@localhost ~]# adduser myhadoop
[root@localhost ~]# passwd myhadoop
更改用户 myhadoop 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
# 密码是123456
[root@localhost ~]#
[root@localhost ~]# hostname sp-64
[root@localhost ~]# exit

下载 Apache Hadoop Release

下载发行版 http://101.96.8.165/www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.8.1/hadoop-2.8.1.tar.gz

安装jdk 配置环境变量, 虽然rpm默认安装不需要配置, 但为了可控还是手动配置一下

[root@sp-64 myhadoop]# ll
-rwxrwxrwx  1 root root 424555111 8月  29 09:43 hadoop-2.8.1.tar.gz
-rwxrwxrwx  1 root root 138090286 8月  29 11:22 jdk-7u80-linux-x64.rpm
[root@sp-64 myhadoop]#
[root@sp-64 myhadoop]# rpm -ivh jdk-7u80-linux-x64.rpm
[root@sp-64 myhadoop]#
[root@sp-64 myhadoop]# vim /etc/profile

JAVA_HOME=/usr/java/jdk1.7.0_80
JRE_HOME=JAVA_HOME/jre
PATH=PATH:JAVA_HOME/bin:JRE_HOME/bin
CLASSPATH=.:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

:wq!
[root@sp-64 myhadoop]#
[root@sp-64 myhadoop]# java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
[root@sp-64 myhadoop]#

安装 Hadoop

[root@sp-64 myhadoop]# tar -xzvf hadoop-2.8.1.tar.gz
[root@sp-64 myhadoop]# ll
drwxrwxr-x 9  500  500      4096 6月   2 14:24 hadoop-2.8.1
-rwxr-xr-x 1 root root 424555111 9月   4 10:35 hadoop-2.8.1.tar.gz
-rwxr-xr-x 1 root root 138090286 9月   4 10:35 jdk-7u80-linux-x64.rpm
[root@sp-64 myhadoop]#

配置 Hadoop 环境变量

[root@sp-64 myhadoop]# vim /etc/profile

export HADOOP_HOME=/home/myhadoop/hadoop-2.8.1
export PATH=HADOOP_HOME/bin:PATH
:wq!
[root@sp-64 myhadoop]#
[root@sp-64 myhadoop]# source /etc/profile
[root@sp-64 myhadoop]#

启动 Hadoop

[root@sp-64 myhadoop]# cd hadoop-2.8.1
[root@sp-64 hadoop-2.8.1]# ./sbin/start-all.sh
localhost: Error: JAVA_HOME is not set and could not be found.

Error: JAVA_HOME is not set

原因是在%HADOOP_HOME%/etc/hadoop/hadoop-env.sh 内缺少JAVA_HOME的定义,只需要把 hadoop-env.sh中
export JAVA_HOME=${JAVA_HOME}
改为
export JAVA_HOME=/usr/java/jdk1.7.0_80

注意etc是 hadoop-2.8.1/etc 而非系统的 /etc

[root@sp-64 hadoop-2.8.1]# vim etc/hadoop/hadoop-env.sh

namenode running as process 7607. Stop it first.

原因是hadoop已经启动了, 需要先停止hadoop; 后续也会有相应的问题, 只要关闭重启对应的程序即可解决

[root@sp-64 hadoop-2.8.1]# ./sbin/stop-all.sh

使用jps命令查看进程是否启动成功

[root@sp-64 ~]# jps
21984 Jps
21838 NodeManager
21540 ResourceManager
[root@sp-64 ~]#

查看安装是否成功

[root@sp-64 ~]#
[root@sp-64 ~]# hadoop fs -ls /
Found 22 items
-rw-r--r--   1 root root          0 2017-07-28 07:17 /.autorelabel
dr-xr-xr-x   - root root      20480 2017-09-04 10:37 /bin
dr-xr-xr-x   - root root       4096 2017-07-28 15:25 /boot
drwxr-xr-x   - root root       4096 2017-07-28 15:15 /data
drwxr-xr-x   - root root       3120 2017-08-25 02:20 /dev
drwxr-xr-x   - root root       4096 2017-09-04 10:43 /etc
drwxr-xr-x   - root root       4096 2017-09-04 10:27 /home
dr-xr-xr-x   - root root       4096 2017-07-28 07:20 /lib
dr-xr-xr-x   - root root      24576 2017-07-28 07:20 /lib64
drwx------   - root root      16384 2017-07-28 15:15 /lost+found
drwxr-xr-x   - root root       4096 2015-08-12 22:22 /media
drwxr-xr-x   - root root       4096 2015-08-12 22:22 /mnt
drwxr-xr-x   - root root       4096 2015-08-12 22:22 /opt
dr-xr-xr-x   - root root          0 2017-08-25 10:20 /proc
dr-xr-x---   - root root       4096 2017-09-04 10:51 /root
drwxr-xr-x   - root root        620 2017-08-25 10:20 /run
dr-xr-xr-x   - root root      20480 2017-07-28 07:20 /sbin
drwxr-xr-x   - root root       4096 2015-08-12 22:22 /srv
dr-xr-xr-x   - root root          0 2017-08-25 10:20 /sys
drwxrwxrwt   - root root       4096 2017-09-04 10:53 /tmp
drwxr-xr-x   - root root       4096 2017-09-04 10:37 /usr
drwxr-xr-x   - root root       4096 2017-08-25 10:20 /var
[root@sp-64 ~]#
# 安装成功

发送到其它分支服务器上, 并重复上面的步骤

[root@sp-64 myhadoop]# scp hadoop-2.8.1.tar.gz jdk-7u80-linux-x64.rpm root@sp-65:/home/myhadoop/
root@sp-65's password:

配置SSH免密, 不然每次启动hadoop都要输入好多次密码

[root@sp-64 ~]# ssh-keygen -t rsa -P ""
[root@sp-64 ~]# cd /root/.ssh/
[root@sp-64 .ssh]# ll
总用量 8
-rw------- 1 root root 1675 9月   4 15:26 id_rsa
-rw-r--r-- 1 root root  392 9月   4 15:26 id_rsa.pub
[root@sp-64 .ssh]#
[root@sp-64 .ssh]# cat id_rsa.pub >> authorized_keys
[root@sp-64 .ssh]# ll
总用量 12
-rw-r--r-- 1 root root  392 9月   4 15:26 authorized_keys
-rw------- 1 root root 1675 9月   4 15:26 id_rsa
-rw-r--r-- 1 root root  392 9月   4 15:26 id_rsa.pub
[root@sp-64 .ssh]#

配置 core-site.xml

[root@sp-64 hadoop-2.8.1]#
[root@sp-64 hadoop-2.8.1]# vim etc/hadoop/core-site.xml








  hadoop.tmp.dir
  /home/myhadoop/hadoop-2.8.1/tmp



  fs.defaultFS
  hdfs://sp-64:9000



配置 hdfs-site.xml

[root@sp-64 hadoop-2.8.1]#
[root@sp-64 hadoop-2.8.1]# vim etc/hadoop/hdfs-site.xml







  
    dfs.replication
    1
  

  
    dfs.namenode.name.dir
    file://${hadoop.tmp.dir}/dfs/name
  

  
    dfs.datanode.data.dir
    file://${hadoop.tmp.dir}/dfs/data
  


firewalld 开放50070端口

[root@sp-64 hadoop-2.8.1]# firewall-cmd --zone=public --add-port=50070/tcp --permanent
success
[root@sp-64 hadoop-2.8.1]# firewall-cmd --reload
success
[root@sp-64 hadoop-2.8.1]#

格式化Hadoop

[root@sp-64 hadoop-2.8.1]# hadoop namenode -format
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.

17/09/04 11:44:23 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
# 中间内容太多, 在这里省略.
STARTUP_MSG:   java = 1.7.0_80
************************************************************/
# 中间内容太多, 在这里省略.
17/09/04 15:32:12 INFO util.ExitUtil: Exiting with status 0 # 这里等于0代表成功, 等于1 代表有错误.
17/09/04 15:32:12 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at sp-64/10.32.156.64
************************************************************/
[root@sp-64 hadoop-2.8.1]#
[root@sp-64 hadoop-2.8.1]# ./sbin/start-all.sh
[root@sp-64 hadoop-2.8.1]#
[root@sp-64 hadoop-2.8.1]# jps
8787 NameNode
8941 DataNode
9680 Jps
9127 SecondaryNameNode
[root@sp-64 hadoop-2.8.1]#

测试是hadoop 是否启动成功

浏览器打开: http://10.32.156.64:50070

分类: 大数据

毛巳煜

高级软件开发全栈架构师

工信部备案号:辽ICP备17016257号-2