操作系统:Centos7
Java:jdk-8u162-linux-x64
hadoop:hadoop-3.2.1
终端连接软件:SecureCRT
关于Centos7的网络配置可以看我的另一篇博客:Centos7的网络配置
一、利用SecureCRT上传文件到root目录
二、关闭防火墙
按顺序执行命令:iptables -F;iptables -X;iptables -Z;iptables -L、iptables-save、setenforce 0
vi /etc/selinux/config
改:SELINUX=Enfocing—>SELINUX=disable
三、ssh免密登录
1、依次执行以下命令
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
2、执行ssh localhost命令后如果可以直接登录,说明SSH免密登录配置成功
四、安装jdk
1、先创建放jdk的文件夹:mkdir jvm
解压jdk:tar -zxvf jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm
2、配置环境变量PATH:sudo vi /etc/profile
在最末尾处添加两行
3、source /etc/profile立即生效,然后输入 java -version看到能够使用。这样就已经配置好了。
五、安装hadoop
1、解压:tar -zxvf ./hadoop-2.6.0.tar.gz -C /usr/local
2、进入cd /usr/local:sudo mv ./hadoop-2.6.0/ ./hadoop # 将文件夹名改为hadoop
3、配置环境变量PATH:sudo vi /etc/profile
4、source /etc/profile立即生效,然后输入 hadoop -version看到能够使用。这样就已经配置好了。
六、配置并启动HDFS
1、配置/usr/local/hadoop/etc/hadoop/hadoop-env.sh
vi hadoop-env.sh
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162
2、配置 /usr/local/hadoop/etc/hadoop/core-site.xml
vi core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
3、修改配置文件/usr/local/hadoop/etc/hadoop/hdfs-site.xml
vi hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
4、因为如果你的Hadoop是另外启用其它用户来启动,需将root改为对应用户,在/usr/ocal/hadoop/sbin路径下,将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
5、第一次启动hdfs需要格式化,切换到 /usr/hadoop/hadoop-3.2.0/bin/目录下输入:hdfs namenode -format
成功的话,会看到 “successfully formatted”
6、到sbin文件夹下(cd usr/local/hadoop/sbin/),执行启动命令,启动hdfs
启动完成后,可以通过命令 jps 来判断是否成功启动,若成功启动则会列出如下进程
启动成功后访问9870端口(2.x版本端口为50070),在浏览器输入地址:http://192.168.100.100:9870,出现以下界面则成功!
七、配置并启动yarn
1、配置/usr/local/hadoop/etc/hadoop/mapred-site.xml
vi mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/usr/local/hadoop/var</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
2、配置/usr/local/hadoop/etc/hadoop/yarn-site.xml文件
vi yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
3、设置yarn可以用root账号启动,start-yarn.sh,stop-yarn.sh顶部需添加以下(start-yarn.sh,stop-yarn.sh在目录/usr/local/hadop/sbin)
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
4、在sbin目录下启动yarn:start-yarn.sh
5、启动后访问8088端口,http://192.168.100.100:8088
八、最后用命令jps查看是否全部启动成功
到这里Centos7 + Hadoop3 搭建伪分布式集群就搭建好了!