我这里准备了三台机器,IP地址如下:
192.168.153.113 192.168.153.186 192.168.153.2231. 网络配置
首先在这三台机器上修改主机名以及配置其他机器的主机名
1.1 修改主机名(三台机器都要修改)[root@bigdata100 ~]# hostnamectl set-hostname bigdata1001.2 编辑/etc/hosts配置文件(三台机器都要修改)
[root@bigdata100 ~]# vim /etc/hosts
修改为如下
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.153.113 bigdata100 192.168.153.186 bigdata101 192.168.153.223 bigdata1021.3 配置ssh免密码登录(三台机器都要修改)
[root@bigdata100 ~]# ssh-keygen -t rsa # 三台机器都需要执行这个命令生成密钥对 [root@bigdata100 ~]# ls .ssh/ authorized_keys id_rsa id_rsa.pub known_hosts [root@bigdata100 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub bigdata100 [root@bigdata100 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub bigdata101 [root@bigdata100 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub bigdata1021.4 测试
[root@bigdata100 ~]# ping bigdata100 [root@bigdata100 ~]# ping bigdata101 [root@bigdata100 ~]# ping bigdata102 [root@bigdata100 ~]# ssh bigdata101 [root@bigdata100 ~]# ssh bigdata1022. JDK安装与配置
下载压缩包 jdk-8u151-linux-x64.tar.gz
2.1 解压[root@bigdata100 ~]# tar -zxvf jdk-8u151-linux-x64.tar.gz2.2 移动到自己目录(这里我的目录是bigDataSoftware)
[root@bigdata100 ~]# mv ./jdk1.8.0_151 /home/bigDataSoftware/JDK_1.82.3 配置环境变量
[root@bigdata100 ~]# vim /etc/profile
在最后添加
export JAVA_HOME=/home/bigDataSoftware/JDK_1.8 export JRE_HOME=/home/bigDataSoftware/JDK_1.8/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
加载配置文件,让其生效
[root@bigdata100 ~]# source /etc/profile2.4 测试
[root@bigdata100 ~]# java -version [root@bigdata100 ~]# javac -version2.5 JDK及环境变量分发
[root@bigdata100 ~]# rsync -av /home/bigDataSoftware/JDK_1.8 bigdata101:/home/bigDataSoftware [root@bigdata100 ~]# rsync -av /home/bigDataSoftware/JDK_1.8 bigdata101:/home/bigDataSoftware [root@bigdata100 ~]# rsync -av /etc/profile bigdata101:/etc/profile [root@bigdata100 ~]# rsync -av /etc/profile bigdata101:/etc/profile3. Hadoop安装与配置 3.1 将Hadoop压缩包拖入解压
[root@bigdata100 /home/bigDataSoftware]# tar -zxvf hadoop-2.7.7.tar.gz3.2 在hadoop-2.7.7文件夹里面先创建4个文件夹:
hadoop-2.7.7/hdfs hadoop-2.7.7/hdfs/tmp hadoop-2.7.7/hdfs/name hadoop-2.7.7/hdfs/data3.3 配置Hadoop文件
进入/home/bigDataSoftware/hadoop-2.7.7/etc/hadoop
3.3.1 配置core-site.xml文件vim core-site.xml
在中加入以下代码:
hadoop.tmp.dir file:/home/bigDataSoftware/hadoop-2.7.7/hdfs/tmp A base for other temporary directories. io.file.buffer.size 131072 fs.defaultFS hdfs://bigdata100:9000
注意:第一个属性中的value和我们之前创建的/hadoop-2.7.7/hdfs/tmp路径要一致。
3.3.2 配置 hadoop-env.sh文件将JAVA_HOME文件配置为本机JAVA_HOME路径
# The java implementation to use. export JAVA_HOME=/home/bigDataSoftware/JDK_1.83.3.3 配置 yarn-env.sh
将其中的JAVA_HOME修改为本机JAVA_HOME路径(先把这一行的#去掉)
# some Java parameters export JAVA_HOME=/home/bigDataSoftware/JDK_1.8 if [ "$JAVA_HOME" != "" ]; then3.3.4 配置hdfs-site.xml
在中加入以下代码
dfs.replication 2 dfs.namenode.name.dir file:/home/bigDataSoftware/hadoop-2.7.7/hdfs/name true dfs.datanode.data.dir file:/home/bigDataSoftware/hadoop-2.7.7/hdfs/data true dfs.namenode.secondary.http-address bigdata100:9001 dfs.webhdfs.enabled true dfs.permissions false
因为这里有两个从主机,所以dfs.replication设置为2
3.3.5 复制mapred-site.xml.template文件,并命名为mapred-site.xml配置 mapred-site.xml,在标签中添加以下代码
3.3.6 配置yarn-site.xmlmapreduce.framework.name yarn
在标签中添加以下代码
3.3.7 配置slaves 文件yarn.resourcemanager.address bigdata100:18040 yarn.resourcemanager.scheduler.address bigdata100:18030 yarn.resourcemanager.webapp.address bigdata100:18088 yarn.resourcemanager.resource-tracker.address bigdata100:18025 yarn.resourcemanager.admin.address bigdata100:18141 yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.auxservices.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler
修改为如下
bigdata101 bigdata1023.3.8 配置hadoop的环境,就像配置jdk一样
在/etc/profile文件最后添加如下
export HADOOP_HOME=/home/bigDataSoftware/hadoop-2.7.7 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop3.3.9 Hadoop分发
rsync -av /home/bigDataSoftware/hadoop-2.7.7/ bigdata101:/home/bigDataSoftware/hadoop-2.7.7/ rsync -av /home/bigDataSoftware/hadoop-2.7.7/ bigdata102:/home/bigDataSoftware/hadoop-2.7.7/
环境变量配置文件分发
rsync -av /etc/profile bigdata101:/etc/profile rsync -av /etc/profile bigdata102:/etc/profile
分别在其他两台主机上source
3.4 Hadoop格式化及启停hdfs namenode -format
hadoop启动
start-all.sh
查看是否有一下进程启动
[root@bigdata100 ~]# jps 6256 Jps 5843 ResourceManager 5413 NameNode 5702 SecondaryNameNode [root@bigdata101 ~]# jps 3425 DataNode 3538 NodeManager 3833 Jps [root@bigdata102 ~]# jps 3425 DataNode 3538 NodeManager 3833 Jps
hadoop关闭
stop-all.sh3.5 web管理
各机器的进程检查完成,并且确定没有问题后,在浏览器上访问主节点的50070端口,例如:192.168.153.115:50070。会访问到如下页面:
查看存活的节点:
如上,可以访问50070端口就代表集群中的HDFS是正常的。
接下来我们还需要访问主节点的8088端口,这是YARN的web服务端口,例如:192.168.153.115:18088。如下:
参考:
https://cloud.tencent.com/developer/article/1703113
https://blog.csdn.net/fanxin_i/article/details/80425461
问题:
hadoop启动start-all.sh,slave节点没有datanode的问题 https://blog.csdn.net/long085/article/details/78535873



