VirtualBox下 Centos6.10+Hadoop2.6集群搭建 Windows客户端搭建

1 Centos下载安装

Centos镜像下载地址https://www.centos.org/download/ 我选择的是DVD版本

在VitrualBox里面新建一个虚拟机

硬盘给了10G,其他属性默认,开机,选择启动盘,把下载好的镜像放入,开始安装

趁安装的时候,在虚拟机上面视图,调成自动缩放模式,如果发现鼠标不见了,按一下键盘右边(注意是右边)的Ctrl,安装的时候根据提示操作,最后的安装进度条

安装成功后,先关机,然后设置一下网络,右键虚拟机,设置,选择网络选项卡,添加两块网卡,一个是Host-Only,这个网络连接模式只能在虚拟机和宿主机之间联通,类似一个小型局域网,第二块网卡配置成NAT模式,用于虚拟机的上网

 按Ctrl+W,出来主机网络管理界面,开启DHCP服务器,进行如下配置

 

在windows下执行ipconfig命令,可以看见Host-Only的那块网卡

虚拟机重新开机,还会让你配置一下账号密码之类的东西,配置好之后开机

配置一下打开终端的快捷键,如图打开快捷键设置

找到Run a terminal,修改快捷键

 

为用户赋予root权限,需要修改/etc/sudoers文件,不建议直接用vi打开修改,使用visudo命令修改可以检查一下语法,避免损坏文件搞出大事情

su root  //切换到root用户,这一部会要求输入root密码
visudo  //打开/etc/sudoers文件

按一下“G”(注意是大写的),跳到文档末尾,找到##same thing without a password这一项,按照他给的例子复制一行,复制命令是yy,黏贴是p,然后按一下i开始进行文本编辑,移动光标进行文字修改。修改完后按“:”进入vim命令模式,输入wq回车,保存文件并退出。我配置的是无密码切换root模式,因为懒惰,如果你需要密码的可以用上一项

tuan ALL=(ALL) NOPASSWD: ALL

切换回自己的用户,修改一下网卡配置,为Host-Only网络指定Ip,需要修改/etc/sysconfig/network-scripts/ifcfg-eth0文件,这一部需要root权限,如果你的Host-Only网卡是eth1就打开eth1的

sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0  //打开配置文件
添加一行IPADDR=192.168.56.21,修改BOOTPROTO为static,修改ONBOOT为yes,保存关闭
sudo service network restart //重启网卡
ifconfig  //查看网卡配置

弄好之后,ping一下我们的宿主机,发现ping不通,原因是windows的防火墙默认关闭了icmp,打开防火墙高级设置,在入站规则里面找到下面这条,双击,启用就可以ping通宿主机了,宿主机的Host-Only地址可以通过ipconfig查询

因为开着个界面很占资源,而且我的小破笔记本操作还有点卡,因此开启ssh服务,通过xshell上。关机,启动虚拟机的时候,右键启动—无界面启动。注意当虚拟机无界面启动显示启动后,还需要等一会才能用ssh连上

sudo chkconfig sshd on  //开机启动ssh,可以不配置
service sshd start  //启动ssh服务

2 Hadoop集群安装

按照官网文档两篇,分别是单点模式安装和集群模式安装

http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-common/SingleCluster.html

http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-common/ClusterSetup.html

2.1 依赖安装

官网说需要两个依赖:Java7和ssh,Centos6.10都有

但是我不想用Java1.7,升个级

sudo yum remove -y java  //旧的不去
sudo yum install -y java-1.8.0*  //新的不来

2.2 Hadoop下载

从官网提供的地址下载,直接wget

wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz  //下载
tar -xf hadoop-2.6.5.tar.gz  //解压
mv hadoop-2.6.5 hadoop  //改名

2.3 Hadoop配置

所有配置文件都是hadoop目录下的etc/hadoop下,hadoop/share/doc目录下可以找到各种配置文件的dafault版本,用find命令就能找到,如果某个配置项没有配置Hadoop就会使用这些默认配置

2.3.1 hadoop-env.sh和yarn-env.sh

修改JAVA_HOME这一项,java的安装目录可以通过这篇文章的方法找到,我的在/usr/lib/jvm/jre-1.8.0-openjdk.x86_64下面

https://blog.csdn.net/zhpengfei0915/article/details/50963199/

这一项默认是引用环境变量JAVA_HOME的值,干脆在/etc/profile里配置一个环境变量,就不用修改这两个文件了

在/etc/profile中添加
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
保存退出
source /etc/profile  //让环境变量生效

2.3.2 core-site.xml

配置默认的文件系统端口

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
</property>

2.3.3 yarn-site.xml

配置ResourceManager的ip地址

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
</property>

2.3.4 slave机创建

为了通信方便修改一下/etc/hosts文件,加入如下三行,第一个master对应现在这台虚拟机的ip地址,底下两台是slave机,保存退出

顺便为了后续方便我把Windows的hosts文件也加了这些配置

修改slaves文件,这里面配置的是slave机的ip

退出master机,复制两份为slave1和slave2,修改一下Ip

2.4 启动Hadoop

一切操作都在Hadoop目录下

最开始要初始化一下Namenode,然后会问你是否要清除所有文件云云,按Y就行

./bin/hdfs namenode -format my_hadoop

在master节点上启动Namenode和ResourceManager

./sbin/hadoop-daemon.sh --script hdfs start namenode
./sbin/yarn-daemon.sh start resourcemanager

在两个slave节点上启动Datanode和NodeManager

./sbin/hadoop-daemon.sh --script hdfs start datanode
./sbin/yarn-daemon.sh start nodemanager

最后在浏览器看一下master:50070,结果打不开,这是因为防火墙的问题,简单粗暴地关掉防火墙

sudo chkconfig iptables off
sudo service iptables stop

现在网页可以打开了

3 Windows客户端搭建

对我这种菜鸟在Linux环境开发Java程序很痛苦,所以配一个Windows客户端

直接把服务器上的hadoop打个包,用xshell下载下来

tar -cf hadoop.tar hadoop
sudo yum install lrzsz
sz hadoop.tar

Windows下也需要配置一些环境变量,如图,目录按照自己的来就好 

 在这个网址下载Hadoop的Windows版命令包https://github.com/steveloughran/winutils,我下的2.6.4可以用,把bin里面的覆盖到hadoop/bin

在cmd里面执行几条命令试一下

C:\Users\Lenovo>hadoop fs -mkdir /test  //在hdfs新建一个test目录
C:\Users\Lenovo>hadoop fs -copyFromLocal test.txt /test/test.txt  //把本地一个test.txt传到hdfs
C:\Users\Lenovo>hadoop fs -ls /test  //查看test目录

猜你喜欢

转载自blog.csdn.net/jiangxuege/article/details/81698677
今日推荐