CentOS 7 搭建Hadoop伪分布式环境

1. 前提:CentOS 7安装成功,网络配置成功。

2. 下载Xshell和filezilla。

后续CentOS操作都在Xshell中,使用root用户执行。打开Xshell,新建连接,设置名称(note)和主机(ip)。

3. 编辑Windows系统的hosts文件。

(所在目录为C:\Windows\System32\drivers\etc,建议使用Notepad++软件编辑该文件)

增加以下内容:

192.168.48.101 hadoop1

4. 配置主机名,编辑hosts文件。

    vi /etc/hosts

增加以下内容:

192.168.48.101 hadoop1

5. 关闭防火墙。

systemctl status firewalld.service查看防火墙状态。执行后如果看到绿色字样标注的“active(running)”,说明防火墙是开启状态。看到disavtive(dead)的字样,说明防火墙已经关闭。

systemctl stop firewalld.service临时关闭运行的防火墙

systemctl disable firewalld.service禁止防火墙服务器,可以将防火墙永久关闭。

reboot重启CentOS系统,使设置生效。

6. 配置SSH免密登陆。

(1) 在hadoop1上执行ssh-keygen -t rsa生成公私钥,按三次回车键,执行完毕后,将在用户主目录下生成.ssh文件夹,其中包括公私钥文件。

(2) 执行命令ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop1把公钥发送到服务器端。

(3) 执行过程中提示Are you sure you want to continue connecting (yes/no)?时,输入yes。

(4) 执行过程中根据提示输入root用户密码(密码输入时没有显示)。

7. 传输jdk和hadoop的安装文件。

(1) 在Windows环境中下载jdk-8u231-linux-x64.tar.gz和hadoop-2.7.3.tar.gz。

(2) 在hadoop1上创建目录用于保存安装文件:

    mkdir -p /home/root/apps

(3) 通过Xftp(filezilla)软件,将保存在Windows中的jdk-8u231-linux-x64.tar.gz和hadoop-2.7.3.tar.gz传递到hadoop1的/home/root目录中。

8. 安装jdk。

(1) 切换到目录/home/root下:

    cd /home/root

(2) 将jdk解压到/home/root/apps目录:

    tar -xzvf jdk-8u231-linux-x64.tar.gz -C apps/

(3) 编辑/etc/profile文件:

    vi /etc/profile 

在文件的末尾设置JAVA环境变量:

export JAVA_HOME=/home/root/apps/jdk1.8.0_231

export PATH=$PATH:$JAVA_HOME/bin

(4) 让/etc/profile文件修改后立即生效:

    source /etc/profile

(5) 查看jdk版本信息:

    java -version 

如果能够显示正确版本信息,说明配置成功。

9. 安装Hadoop2.7.3。

(1) 切换到目录/home/root下:

    cd /home/root

(2) 将hadoop解压到/home/root/apps目录:

    tar -xzvf hadoop-2.7.3.tar.gz -C apps/

(3) 删除目录中的文档:

    cd /home/root/apps/hadoop-2.7.3/share

    rm -rf doc

(4) 编辑/etc/profile文件:

    vi /etc/profile

设置Hadoop环境变量:

(注意:PATH中一般不建议配置sbin目录)

export JAVA_HOME=/home/root/apps/jdk1.8.0_231

export HADOOP_HOME=/home/root/apps/hadoop-2.7.3

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

(5) 让/etc/profile文件修改后立即生效:

    source /etc/profile

(6) 切换到目录/home/root/apps/hadoop-2.7.3/etc/hadoop下:

    cd /home/root/apps/hadoop-2.7.3/etc/hadoop

可以执行ls命令,查看当前目录中的内容

(7) 编辑core-site.xml文件:

    vi core-site.xml

添加:

<property>

<name>fs.defaultFS</name>

<value>hdfs://hadoop1:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/home/root/apps/hadoop-2.7.3/tmp</value>

</property>

(8) 编辑hdfs-site.xml文件

    vi hdfs-site.xml

添加:

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

<name>dfs.name.dir</name>

<value>/root/hdfs/name</value>

</property>

<property>

<name>dfs.data.dir</name>

<value>/root/hdfs/data</value>

</property>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>hadoop1:50090</value>

</property>

<property>

<name>dfs.namenode.secondary.https-address</name>

<value>hadoop1:50091</value>

</property>

(9) 根据模板创建mapred-site.xml文件

    cp mapred-site.xml.template mapred-site.xml

(10) 编辑mapred-site.xml文件:

    vi mapred-site.xml

添加:

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

(11) 编辑yarn-site.xml文件

    vi yarn-site.xml

添加:

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.resourcemanager.hostname</name>

<value>hadoop1</value>

</property>

(12) 编辑hadoop-env.sh文件:

    vi hadoop-env.sh

将默认的export JAVA_HOME=${JAVA_HOME}替换为:

export JAVA_HOME=/home/root/apps/jdk1.8.0_231

(13) 编辑yarn-env.sh文件

    vi yarn-env.sh

将默认的# export JAVA_HOME=/home/y/libexec/jdk1.6.0/替换为: export JAVA_HOME=/home/root/apps/jdk1.8.0_231

记得删除这一行最前面的#。

(14) 格式化namenode节点:

    hdfs namenode -format

10. 启动Hadoop集群。

    cd /home/root/apps/hadoop-2.7.3/sbin

    ./start-all.sh

提示Are you sure you want to continue connecting (yes/no)?时,输入yes

11. 显示当前所有java进程pid。

    jps

查看Hadoop是否启动成功:

(NameNode,SecondaryNameNode,DataNode,ResouceManager,NodeManager)

12. 在Windows中启动浏览器查看运行情况。

推荐使用Google Chrome浏览器)

HDFS的Web端口号是50070——hadoop1:50070

YARN的Web端口号是8088——hadoop1:8088

13. 停止Hadoop。

    cd /home/root/apps/hadoop-2.7.3/sbin

    ./stop-all.sh

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。