1、 下载所需要的软件:VMware
(这里分享下我的安装软件,当然大家也可以去官网下载其他版本的软件:http://pan.baidu.com/s/1dFEl46t
2、安装VMware
1、在安装之前要先进BIOS设置下虚拟化的操作,不同的电脑进入BIOS的操作可能有点区别,可以自行百度下,也比较简单:
http://jingyan.baidu.com/article/375c8e19bcd24525f3a22943.html
这里分享下破解的序列号:
(1)5A02H-AU243-TZJ49-GTC7K-3C61N
(2)5F29M-48312-8ZDF9-A8A5K-2AM0Z
(如果两个都不行的话,可以去百度上搜一下)
2、安装完虚拟机后需要设置下密码,可以随便设置个简单点的密码,方便记住,
3、配置IP地址、网关等一些信息:vi /etc/sysconfig/network-scripts/ifcfg-ens32
这里截图的时候最上面有两行没截到:
BOOTPROTO=static
NAME=ens32
把其他一些没用的信息可以删掉,这里的网关按照虚拟机上网关的来配置,然后设置下IP地址,我设置的是192.168.187.110,编辑完之后按Esc键:wq保存并退出
4、修改主机名hostnamectl set-hostname master (主机名千万不能有下划线!)
5、重启网络service network restart
6、虚拟机和本地地址相互ping一下网络
(如果没ping通可能是防火墙没关
关掉防火墙:systemctl stop firewalld
永久废掉防火墙:systemctl disable firewalld)
3、安装JDK
1、先通过xshell连接到虚拟机,将jdk的安装包上传到虚拟机
2、/usr/local目录下创建一个java目录
mkdir -p /usr/local/java (这里-p表示判断文件夹是否存在)
3、解压jdk到/usr/local/java目录下
tar zxvf jdk1.7.0_51 -C /usr/local/java (这里-C表示指定的目录)
rpm -ivh ./xxxxx.jdk,验证rpm -qa | grep jdk,在命令行中敲java命令,确认jdk已经安装完成
4、配置环境变量,进入java目录,vi /etc/profile
JAVA_HOME=/usr/java/jdk1.7.0_51
JRE_HOME=/usr/java/jdk1.7.0_51/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME
export JAVA_HOME JRE_HOME PATH CLASSPATH
5、使环境变量立马生效:source /etc/profile
6、java -version查看下jdk是否安装好
7、这里有个tomcat,就顺便也说说tomcat的安装以及在防火墙规则里添加8080规则,tomcat的安装和安装jdk的步骤差不多,
1>新建一个tomcat目录:mkdir -p /usr/local/tomcat 将tomcat安装包解压到这个目录,然后进入tomcat的bin目录下启动tomcat
2>查看防火墙规则 iptablees -L -n (这里-L表示查看规则,-n表示以数字的形式查看),
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT (编辑方式看的不太明显,这里是大写的i,-I表示在第一行插入,INPUT表示让当前的数据包进入系统-p表示作用于,让当前规则作用于某种协议,--dport指目的端口,-j表示采取的动作是什么),
查看防火墙规则,可以发现8080规则已经添加
再查看这个端口是否被监听 netstart -nlp |grep 8080
4、免秘钥操作
1、使用"ssh-keygen -t rsa"命令来创建公钥。
(会问你存放的目录,如果不需要修改,直接回车两次即可,默认保存路径为"~/.ssh/")
2、创建authorized_keys文件并修改权限为600
(这里解释下,这里是根据rsa算法生成的私钥id_rsa和公钥id_rsa.pub,登录集群的master,可以根据私钥对应的公钥免密登录,在后面集群把私钥复制一份到其他机器的配置里,这样方便后面再master上免密登录其他机器)
这里可以参考下网上的操作:
http://blog.csdn.net/daidaineteasy/article/details/50948034
5、安装hadoop
可以去官网下载:https://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/
1、先设置下系统时间
2、 使用useradd hadoop添加用户,使用passwd hadoop设置用户密码,
3.、给用户赋予使用sudo命令的权限 chmod u+w /etc/sudoers
4、编辑sudoers文件 vim /etc/sudoers 在root ALL=(ALL) ALL下面加上一行hadoop ALL=(ALL) ALL。
5、chmod u-w /etc/sudoers
.6.、使用sudo hostname hh修改主机名,当前生效,重启后失效。
7.、使用vim /etc/sysconfig/network修改主机名,重启生效。
(修改主机名这一块可以参照网上的方法:https://jingyan.baidu.com/album/851fbc37a6b70f3e1f15ab8e.html?picindex=1)
这里我参考网上修改主机名的方式修改的:
把这两行删了重新配置下:
8、cd /usr/local通过Xshell把hadoop安装包上传到虚拟机
9、解压hadoop安装包hadoop mv hadoop-2.7.3 hadoop
10、把安装包名字改一下mv hadoop-2.7.3 hadoop
11、修改hadoop-env.sh文件,我这里可以用Xshell打开方便看下该文件的位置,
进入该文件修改下配置vi /usr/local/hadoop/etc/hadoop/hadoop-env.sh
修改成 export JAVA_HOME=/usr/java/default
12、把hadoop执行命令的路径加入PATH环境变量里vim etc/profile
在文件底部添加:export PATH=$PATH:/usr/local/hadoop/bin:usr/local/hadoop/sbin
退出并保存。
13、执行source /etc/profile命令立即生效,然后敲hadoop出现帮助信息表示hadoop已经安装好
14、关掉虚拟机:shutdown -h now ,然后完全克隆出三台虚拟机
6、分布式集群配置
1、修改第一台虚拟机名字为slave1,并修改IP
2、重启下网络服务service network restart 然后ping一下网关
3、重复上述操作,配置slave2、slave3
4、配置名字解析,确保所有机器之间能ping通,之前已经废掉了防火墙,这里就不重复操作了,
并在其他几台机器上也配置上名字解析。
5、配置core-site.xml(需要修改tmp目录,temp目录是linux的临时目录,重启后会自动删除内容,所以这里需要修改下)
<property>
<name>fs.defaultFS</name>
<value>hdfs://hh:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/current/tmp</value>
</property>
这里是master上的配置信息,core-site.xml这个配置在其他几台slave 上必须保持跟master一致!
6、格式化namenode:hadoop namenode -format
7、启动namenode:hadoop-daemon.sh start namnode以及其他datanode:hadoop-daemon.sh start datanode
8、在namenode和datanode下输入命令jps,以及登录网页http://192.168.187.110:50070/查看集群的启动情况
也可以输入命令观察整个集群的情况:hdfs dfsadmin -report | more
9、集中管理集群,修改slaves文件,这个操作需要master远程登录其他slave机器
10、列出根目录内容并查看大小hadoop fs -ls / ,删除根目录下的内容用hadoop fs -rm /(文件夹名)
11、上传文件到hdfs,这里用上面hadoop安装包的文件上传:hadoop fs -put ./hadoop-2.7.3.tar.gz
12、丢进根目录后用命令查看:hadoop fs -/ls
中途遇到了点问题
1、把core-site.xml文件里面namenode的名字配错了,结果集群没跑起来
2、还有个问题就是hadoop执行命令里面的环境变量配置错了
vi /usr/local/hadoop/etc/hadoop/hadoop-env.sh
修改成 export JAVA_HOME=/usr/java/default不起作用,然后把后面的default改成了jdk1.7.0_51就能用了
3、上传文件的时候碰到连接不上去的情况
网友评论