在 kali linux 下搭建 hadoop 伪分布式系统

记录在 kali linux 下搭建 hadoop 伪分布式的过程:

1. 安装和设置 JDK:

    1) kali 中默认已经安装 Java,可以使用 java -version 检查 Java的安装情况;发现 java 的安装文件名可能是 openjdk 

    2) 可以设置 java 的 JAVA_HOME, PATH, CLASSPATH:

          2.1 )  使用  find / -iname "*openjdk*", 查找 JDK 的安装位置; 发现   /usr/lib/jvm下有几个 符合 openjdk 的文件;

          2.2) 通过使用  ls -l 查看详情,发现 3个文件中,2个是链接文件,只有1个文件是真实的 Jdk 安装目录;

          2.3 )  进入openjdk目录,果然发现熟悉的 bin,dt.jar 等文件,正是 jdk 的安装目录;

          2.4 )  可以在以下位置设置 环境变量: /etc/profile, or , ~/.bashrc 文件中;设置语句如下:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

2. 安装 SSH:

    1) 先检查 SSH 的安装情况: ps -e | grep ssh, 默认情况下 kali 只安装了 ssh - client, 没有 ssh - server

    2 )  使用 apt-get install openssh-server 安装 ssh 服务器

           安装过程中,发现 163 的源部分组件没有,安装失败,于是切换 搜狐的源:搜狐源地址网上能找到,编辑下列文件:

           /etc/apt/sours.list 文件,删除 163 源,改成 搜狐源,然后 ssh 安装成功

    3) 安装完成后,使用 ps -e | grep ssh, 发现没有 sshd 服务,ssh服务器没有成功启动

    4) 转到目录: /etc/init.d, 其中 发现 ssh 已经安装

    5) 使用命令: service ssh start 启动服务

    6) 再次使用  ps -e | grep ssh, 发现 sshd 服务已经正常启动

    7) 根据 hadoop 要求, ssh的通信需要取消ssh密码,通过下列语句实现:

           ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

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

    8) 使用  ssh localhost 命令,发现 已经成功连接, 同时没有提示需要密码,ssh 成功安装

3.  安装 hadoop:

    1) 下载,然后选择目录安装: tar -xzvf hadoop-x.y.z.tar.gz

    2)  在 hadoop 的安装目录下, 设置 etc/hadoop/hadoop-env.sh 文件中的 JAVA_HOME 路径:

            export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

    3)  在  /etc/profile 中设置 hadoop 环境变量

            export HADOOP_HOME=/root/Codingtool/hadoop/hadoop-3.0.0
            export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    4)  测试 hadoop 安装情况: hadoop version, 正常输出,初步安装成功

    5)  设置 hadoop, 按照 伪分布式的方式设置:

            设置配置文件:core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site.xml, 在安装目录下的  etc/hadoop 中;

            

    6)  格式化 HDFS 文件系统:

            hdfs namenode -format

4. 启动 Hadoop:

    1)  在 Hadoop 的安装目录下,sbin/ 下,执行 ./start-all.sh 

    2)  执行结果提示 hadoop 系统中 root 用户未注册,每个启动的服务都是类似的问题,于是按照 百度的资料更改设置文件:

            》在 hadoop 安装目录,修改: sbin/start-dfs.sh, sbin/stop-dfs.sh: 

                在 start-dfs.sh 文件中, # Start hadoop dfs daemons. 注释前加上:

                HDFS_DATANODE_USER=root 
        HADOOP_SECURE_DN_USER=hdfs 
        HDFS_NAMENODE_USER=root 
        HDFS_SECONDARYNAMENODE_USER=root 

                在 stop-dfs.sh 文件中做类似修改;

            》在 hadoop 安装目录,修改: sbin/start-yarn.sh, sbin/stop-yarn.sh: 

            在 yarn-dfs.sh 文件中, # ## @description  usage info. 注释前加上:

             YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

        在 stop-yarn.sh 文件中做类似修改;

3)  再次执行  ./start-all.sh :

namenodes, datanodes, secondary namenodes, resourcemanager, nodemanagers 都成功启动


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值