• 首先安装三个虚拟机:

这里我安装的是CentOS-7-x86_64-DVD-2009.iso
主机安装时最好安装一个桌面,后面两个从机选择最小安装即可。

  • 检查网络是否通畅:
ping www.baidu.com

检查网络是为了检查之后网络配置之后不是因为安装引起的。【这叫谨慎】

  • 配置静态网络:

其实就是为了让虚拟机IP不再改变,这样就可以远程SSH登录,这个配置完后,之后操作就比较简单,当然我是这样觉得的。
之后我一般都是用finalshell 【一个远程登录虚拟机的软件】
进行远程登录然后直接操作配置文件,不使用命令行的方式配置。

//注意最后的ifcfg-ens33可能会不一样
	cd /etc/sysconfig/network-scripts/
	ls
	//找到一个ifcfg-ensXX的文件,我的是ifcfg-ens33
	vim ifcfg-ens33
	//进入后就可以开始配置了
配置静态网络,主要有打开静态配置、设置IP、设置网关、设置子网掩码、设置DNS服务器。
具体的网关和网段需要查看你虚拟机的网络配置。

hadoop 連接數據庫 hadoop联网_hadoop

选择NET模式,点击NET设置:

hadoop 連接數據庫 hadoop联网_命令行_02

这里我根据我的进行配置,一般子网IP和网关前面都是相同的,我们设置IP时前三位也要与其相同,最后一位不同就行。
这里前面两个市打开静态网络配置,后面依次是IP、子网掩码、网关、两个DNS服务器。

BOOTPROTO=static
	ONBOOT=yes
	
	IPADDR=192.168.208.144
	NETMASK=255.255.255.0
	GATEWAY=192.168.208.2
	DNS1=180.76.76.76
	DNS2=8.8.8.8

使用ping检查网络是否通了,之后就可以使用 finalshell 进行SSH连接了,当然其他的shell工具也行。
如果没有那么就只能使用命令行了,或者直接使用桌面系统进行配置,可以安装一个 gedit 这样可能快一点,至少比vim好用。

但是之后必须用到传输文件上去,我的建议是安装finalShell,当然其也有上传文件的,具体安装方法直接可以找一下

sudo apt-get install gedit
  • 为各个主机起别名:

每个虚拟机执行一句,这样我们相当于给他们每个人取了一个名字。

hostnamectl set-hostname master
	hostnamectl set-hostname mach1
	hostnamectl set-hostname mach2
  • hosts文件配置:

hosts文件在etc文件夹下面,加上这个是为了告诉他这是其他主机的地址,这样之后才能进行互通。

192.168.208.200 master
	192.168.208.144 mach1
	192.168.208.188 mach2
  • 关闭防火墙:

命令行执行,最后一个是查看防火墙状态,如果是关闭就行了。关闭防火墙后面各主机之间才能相互互通。

systemctl stop firewalld
	systemctl disable firewalld
	systemctl status firewalld
  • 测试是否可以进行SSH登录:

命令行执行,相互测试是否可以进行SSH登录,之后就要进行免密登录,这次登录可能会要输入密码。

ssh mach1
	ssh mach2
  • 设置免密登录:

命令行执行,首先要获取秘钥,注意秘钥生成的目录,之后复制,然后测试是否还需要密码。

//获取秘钥
	ssh-keygen -b 1024 -t rsa
	//直接复制秘钥
	ssh-copy-id mach1
	ssh-copy-id mach2
	ssh-copy-id master
  • JDK安装:

JDK安装主要就是解压到一个目录下,记住这个目录,然后配置Path就行。
如何上传JDK这个的话,就需要安装Shell工具了
关于资源我上传不上去,大家可以直接找或者私聊,虽然我不一定回,但看到了看到会回。

tar -xzvf jdk-8u171-linux-x64.tar.gz
	//配置在ETC这个目录下,etc就是专门配置环境的,你可以一找到这个目录直接修改,比命令行快
	vi /etc/profile 
	//加上这个,注意要写你自己的java目录位置
	export JAVA_HOME=/Java/jdk1.8.0_171
	export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:$JAVA_HOME/bin:$PATN
	//重新加载配置
	source .bash_profile

使用 java -version 测试是否安装成功。

如果命令不使用了:

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
  • hadoop解压:

hadoop可以直接去国内镜像下载:清华镜像 我使用的是3.3.4版本。

tar -xzvf hadoop-3.3.4.tar.gz

同样我们需要配置一下hadoop的Path,基本与JDK一样。

//配置在ETC这个目录下,etc就是专门配置环境的,你可以一找到这个目录直接修改,比命令行快
	vi /etc/profile 
	//tip:在文件末尾追加
	export HADOOP_HOME=/root/hadoop/hadoop-3.3.4
	export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:$HADOOP_HOME/bin:$PATH
	//重新加载配置
	source .bash_profile

使用 hadoop version 测试是否安装成功。

  • 配置hadoop环境:

几乎所有的文件都在 /root/hadoop/hadoop-3.3.4/etc/hadoop/ 目录下:

core-site.xml

<configuration>
    <!-- 设置主机名 -->
	<property>
		<name>fs.default.name</name>
		<value>hdfs://192.168.208.200:9000</value>
	</property>
		<!-- 这个value是个目录需要创建,可以不和我一样,但必须要有这个目录 -->
    <property>
		<name>hadoop.tmp.dir</name>
		<value>/root/hadoop/temp</value>
	</property>
        <!-- 设置静态用户 -->
    <property>
      	<name>hadoop.http.staticuser.user</name>
      	<value>root</value>
    </property>
    		<!-- 关闭dfs权限检查 -->
    <property>
     	<name>dfs.permissions.enabled</name>
      	<value>false</value>
    </property>
</configuration>

hdfs-site.xml

<configuration>
	<property>
		<name>dfs.replication</name>
		<value>2</value>
	</property>
		<!-- 对应目录都要创建,可以不和我一样,但必须要有这个目录 -->
     <property>
        <name>dfs.datanode.data.dir</name>
        <value>/root/hadoop/data</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/root/hadoop/name</value>
    </property>
</configuration>

mapred-site.xml

<configuration>
		<property>
			<name>mapreduce.framework.name</name>
			<value>yarn</value>
		</property>
	</configuration>

yarn-site.xml

<configuration>
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>master</value>
	</property>
    <property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
</configuration>

workers

master
	mach1
	mach2

这个作用和之前取别名是一样的。

  • 直接复制到其他主机:

注意我这里的hadoop是在 /root/hadoop 目录下的:

scp -r /root/hadoop mach1:~/
	scp -r /root/hadoop mach2:~/
  • 格式化节点数据:
hdfs namenode -format
  • 启动hadoop:
//首先进入hadoop目录
	cd /root/hadoop/hadoop-3.3.4    
	//启动
	sbin/start-all.sh
	//停止
	sbin/stop-all.sh

之后使用 JPS命令查看 如果有以下节点代表成功。

4050 Jps
	3956 NodeManager
	3653 SecondaryNameNode
	3414 NameNode
	3852 ResourceManager
	3518 DataNode
  • Windows网站访问:
http://{master主机IP}:9870/