linux安装hadoop hdfs

安装环境

  ①、四台Linux CentOS6.7 系统

hostname             ipaddress                         
1、master      192.168.1.79        

2、slave1      192.168.1.81        

3、slave2      192.168.1.82         

4、slave3      192.168.1.87        

其中 master 机器是 NameNode;

slave1 机器是 SecondaryNameNode

slave1,slave2,slave3 是三台 DataNode

1、配置jdk环境变量

vim /etc/profile

在末尾增加以下配置:

JAVA_HOME=/home/jdk1.8.0_181
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

使环境变量生效:

source /etc/profile

2、Hadoop中ssh+IP、ssh+别名免秘钥登录配置

在 master生成 秘钥对, 机器上输入一下命令:

这条命令是生成无密码秘钥对,rsa 是加密算法,-P ‘’ 表示密码为空。询问其保存路径时直接回车采用默认路径。生成的密钥对:id_rsa和id_rsa.pub,默认存储路径:/root/.ssh/id_rsa

ssh-keygen -t rsa -P ''

然后出现对话框:

Enter file in which to save the key (/root/.ssh/id_rsa):

查看"/root/.ssh"下是否有两个刚生产的无密码密钥对

cd /root/.ssh
ls

出现下面情况说明秘钥对生成成功:

-rw-------. 1 root root  816 Oct  8 09:47 authorized_keys
-rw-------. 1 root root 1675 Oct  8 07:41 id_rsa
-rw-r--r--. 1 root root  408 Oct  8 07:41 id_rsa.pub

把公钥 id_rsa.pub追加到授权的key里面去

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

修改文件"authorized_keys"权限

chmod 600 ~/.ssh/authorized_keys

权限的设置非常重要,因为不安全的设置安全设置,会让你不能使用RSA功能,即在进行登录时仍然要求你输入密码

用root用户登录服务器修改SSH配置文件:

vim /etc/ssh/sshd_config

把文件中的下面几条信息的注释去掉:

RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #
公钥文件路径(和上面生成的文件同)

重启服务:

service sshd restart

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

scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/

如果是第一次使用该命令,则需要在"/root"下创建".ssh"文件夹,并且修改该文件夹权限为 “700”

mkdir ~/.ssh      //创建 .ssh 的文件夹
chmod 700 ~/.ssh    //给 .ssh 文件夹权限

同样的执行以下命令:

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

在 slave1 机器上重复以下操作:

vi /etc/ssh/sshd_config

把文件中的下面几条信息的注释去掉: 
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #
公钥文件路径(和上面生成的文件同)

重启服务

service sshd restart

3、在几台机器上配置

vi /etc/hosts
增加以下配置

192.168.1.79  node1
192.168.1.81  node2
192.168.1.82  node3
192.168.1.87  node4

4、 配置Hadoop中hdfs相关

解压 hadoop-2.7.3.tar.gz到/home/hadoop

tar -zxvf hadoop-2.7.0.tar.gz

4.1 、配置 hadoop 环境变量

vim /etc/profile

export HADOOP_HOME=/home/hadoop-2.7.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

需要配置的文件如下,hadoop-env.sh,core-site.xml,hdfs-site.xml,slaves,所有的文件配置均位于hadoop2.7.0/etc/hadoop下面

4.2配置core-site.xml

vim /home/hadoop2.7.0/etc/hadoop/core-site.xml


    
        fs.defaultFS
        hdfs://node1:9000
    
    
        hadoop.tmp.dir
        /home/hadoop/tmp
    
 

注意:hadoop.tmp.dir是hadoop 文件系统依赖的配置文件。 默认是在 /tmp 目录下的,而这个目录下的文件,在Linux系统中,重启之后,很多都会被清空。所以我们要手动指定这写文件的保存目录。

这个目录路径要么不存在,hadoop启动的时候会自动帮我们创建;要么是一个空目录,不然在启动的时候会报错。

4.3配置hdfs-site.xml文件

vim /home/hadoop2.7.0/etc/hadoop/hdfs-site.xml


    
        dfs.replication
        2
    
    
        dfs.namenode.secondary.http-address
        node2:50090
    

注意:dfs.replication是配置文件保存的副本数;dfs.namenode.secondary.http-address 是指定 secondary 的节点。

4.4配置hhadoop-env.sh文件JAVA_HOME

设置 JAVA_HOME 为自己在系统中安装的 JDK 目录

vim /home/hadoop2.7.0/etc/hadoop/hadoop-env.sh

export JAVA_HOME=/home/jdk1.8.0_181

4.5配置slaves文件,用来配置datanode节点

vim /home/hadoop2.7.0/etc/hadoop/slaves

node3
node4

删除默认的localhost,增加以上两个节点

4.6指定 SecondaryNameNode 节点

在 /home/hadoop2.7.0/etc/hadoop 目录下手动创建一个 masters 文件

vi masters

打开文件后,输入 SecondaryNameNode 节点的主机名或者 IP 地址

node2

4.7将配置好的hdfs文件上传到其他三个节点:

scp -r /home/hadoop2.7.0 node2:/home/
scp -r /home/hadoop2.7.0 node3:/home/
scp -r /home/hadoop2.7.0 node4:/home/

5、启动 hadoop

在master服务器启动hadoop,从节点会自动启动,进入/home/hadoop/目录,
初始化,输入命令:

 bin/hdfs namenode -format

启动hdfs 命令:

sbin/start-dfs.sh

停止命令:

sbin/stop-dfs.sh

6、查看启动结果 hadoop

输入命令:

jps

可以看到相关信息

7、查看web页面

关闭防火墙

service iptables stop

访问 NameNode 节点信息:http://192.168.1.79:50070

你可能感兴趣的:(分布式文件存储)