大数据hadoop环境搭建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/YiWangJiuShiXingFu/article/details/81984220

一、net网络环境配置

1.修改ifcf-eth0文件:

进入一个network-scripts目录下面

命令行输入:cd /etc/sysconfig/network-scripts/

然后再命令输入:ls 进行查看当前的目录文件

然后打开修改ifcf-eth0这个文件,提醒一下这要修改的文件,需要管理员权限,那么我们首先先进入管理员权限才能进行修改文件的内容(如下两张图图所示)

命令行输入: su 进入管理员权限,此时需要你输入密码,你就输入你登录linux的密码即可!!

命令行再输入:vim ifcf -eth0

将 BOOTPROTO=”dhcp” 改为:BOOTPROTO=”static” 

然后再把HWADDR=”00:0C:29:00:AD:A0”和IPV6INIT=”yes”和

UUID=”4dcb4773-115c-45e9-b0e1-593518c2892f” 这三个删除掉,

添加内容:IPADDR=192.168.183.10   //ip地址

添加内容:NETMASK=255.255.255.0  

添加内容:GATEWAY=192.168.183.2  //网关

添加内容:DNS1=202.106.0.10

注意:添加网关一定要跟NAT设置里面的网关IP要一致

2.重启虚拟机的网络服务:

注意:先进入管理员权限再进行重启网络服务

命令行输入:/etc/init.d/network restart

3.虚拟机是否能上网:

命令行输入:curl www.baidu.com 或者是 ping www.baidu.com

二、搭建java JDK环境

1.三台虚拟机网络配置:

两个子节点上不了网的处理方案是把这两个ip进行修改。

Ip分别改为:192.168.183.11和192.168.183.12

修改操作方法:首先在命令行输入: su 进入管理员权限再进行修改,在子节点slave1命令行里面输入:cd /etc/sysconfig/network-scripts/ 然后再输入查看 : ls  

然后进行修改在命令行输入: vim ifcfg-eth0 进入修改界面

步骤跟【一、net网络环境配置】一样,将ip尾数分别改为11和12,最后将slave1和slave2网卡删除重新添加一下,然后测试能否上网:curl www.baidu.com 或者是 ping www.baidu.com

2.设置共享文件夹:

将本地存放jdk安装包的文件夹设置为虚拟机共享文件夹,

查看共享文件夹是否添加成功的命令行输入:cd /mnt/hgfs/ 再输入ls进行查看是否有share_folder(共享的本地文件夹)这个文件夹

并进入share_folder查看是否有javajdk,命令行输入: cd share_folder(共享的本地文件夹),然后再通过ls进行查看。

3.安装JDK环境:

把javajdk进行拷贝一下(先在命令行输入su进入管理员权限)

在命令行输入:cp jdk-6u45-linux-x64.bin /usr/local/src/ (单个文件)

在命令行输入:cp * /usr/local/src/ (全部文件)

拷贝成功后进入/usr/local/src/这个目录下

输入:cd /usr/local/src/

再输入:ls查看

再输入:ll进入这个文件的权限

直接运行javajdk

命令行输入:./jdk-6u45-linux-x64.bin进行安装

此时安装完成,此时要配置环境变量

在命令行输入:vim ~/.bashrc打开这个文件进行修改

那么这个环境变量的路径在

命令行输入:ls

命令行输入:cd jdk1.6.0_45/进入这个目录

命令行输入:pwd然后显示如下的java的安装路径

/usr/local/src/jdk1.6.0_45 

然后安装路径下面有一个bin,然后bin目录下面有一个java

命令行输入:ls

命令行输入:ls bin/

那我们直接执行java看看

命令行输入:.bin/java

那么为了让系统自动找到这个bin文件,就要把这个bin目录加到环境变量中去

命令行输入:pwd然后显示如下的java的安装路径

/usr/local/src/jdk1.6.0_45

将上面这个路径复制放入到bashrc去

命令行输入:vim ~/.bashrc

然后直接复制这句: export JAVA_HOME=/usr/local/src/jdk1.6.0_45

然后再写一个CLASSPATH

直接复制这句话:export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib

 然后再设置PATH

直接复制我这句话: export PATH=$PATH:$JAVA_HOME/bin

然后退出该修改界面(退出界面请先按Esc键,然后点Shift键加分号键然后输入wq然后再按Enter键退出)

然后在命令行输入: source ~/.bashrc重置一下

然后我们直接执行java,在命令行直接输入:java 然后这个java已经被系统自动识别了

然后我们看看java这个位置在哪里,命令行输入: which java

3.安装其他机器的JDK环境

那么接下来也要把剩下两个节点也要安装java环境

在主节点输入:cd /usr/local/src/

再输入:ls

然后将java包复制一份到slave1和slave2这两个节点上去

在主节点输入:scp -rp jdk-6u45-linux-x64.bin 192.168.183.11:/usr/local/src/

然后让你输入yes/no你输入yes,然后让你输入密码,你输入你创建这台机器的密码,然后即可完成远程复制!!

然后再给slave2复制jdk(操作跟以上一样,只是把ip地址改为:scp -rp jdk-6u45-linux-x64.bin 192.168.183.12:/usr/local/src/)

然后再分别切到slave1和slave2这两个节点查看是否将jdk文件发送了过来

在slave1机器上输入:cd /usr/local/src/

然后再输入:ls 进行查看是否有jdk文件

然后同样执行一下java这个文件(首先要在命令行输入:su获得管理员权限)

命令行输入:./jdk-6u45-linux-x64.bin进行安装

然后再给slave2进行安装(操作跟给slave1的一样)

然后再分别给slave1和slave2配置环境变量。操作跟上面给主节点master配置环境变量一样,

输入:vim ~/.bashrc 把export JAVA_HOME=/usr/local/src/jdk1.6.0_45和export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib和export PATH=$PATH:$JAVA_HOME/bin

写在bashrc下

然后退出该修改界面(退出界面请先按Esc键,然后点Shift键加分号键然后输入wq然后再按Enter键退出)

然后在命令行输入: source ~/.bashrc重置一下

然后直接执行java,在命令行直接输入:java 然后这个java已经被系统自动识别了

然后看看java这个位置在哪里,命令行输入: which java

三、搭建hadoop集群环境

1.配置hadoop

在主节点的 /usr/local/src/ 下进行对hadoop压缩包进行解压

命令行输入:tar xvzf hadoop-1.2.1-bin.tar.gz

解压完成以后,用ls命令进行查看,然后我们进入这个hadoop-1.2.1这个目录

然后在hadoop-1.2.1这个目录下创建一个tmp目录,用来存放之后的一些临时文件

命令行输入:mkdir tmp

然后我们进入一个配置文件

命令行输入:cd conf/

然后修改hadoop里面的masters文件

命令行输入:vim masters

然后在masters里面写入master并且保存退出!

然后我们再修改slaves文件把子节点的名称:slave1和slave2写入slaves文件中

命令行输入:vim slaves

然后我们修改一下core-site.xml这个文件

命令行输入:vim core-site.xml

把我以下写的代码复制到core-site.xml这个文件中去然后保存退出 

<!--用来指定使用hadoop时产生文件的存放目录-->

<property>

    <name>hadoop.tmp.dir</name>

    <value>/usr/local/src/hadoop-1.2.1/tmp</value>

</property>

<!--指定namenode的地址-->

<property>

    <name>fs.default.name</name>

    <value>hdfs://192.168.159.10:9000</value>

</property>

然后我们接下来修改mapred-site.xml这个文件

命令行输入:vim mapred-site.xml

把我以下写的代码复制到vim mapred-site.xml这个文件中去然后保存退出

<!--连接jobtrack服务器的配置项-->

<property>

    <name>mapred.job.tracker</name>

    <value>http://192.168.159.10:9001</value>

</property>

然后我们紧接着配置修改hdfs-site.xml这个文件

把我以下写的代码复制到hdfs-site.xml这个文件中去然后保存退出 

<!--指定hdfs保存数据的副本数量-->

<property>

    <name>dfs.replication</name>

    <value>3</value>

</property>

然后我们再修改 hadoop-env.sh这个文件(在这个文件里的最后面写入以下配置代码)

命令行输入:vim hadoop-env.sh(hadoop启动的时候配置的环境变量)

输入:export JAVA_HOME=/usr/local/src/jdk1.6.0_45

2.配置本地网络配置(修改hosts文件)

还是在conf下进行本地网络配置

命令行输入:vim /etc/hosts

然后在hosts这个文件里面把主节点的ip地址写入进去

192.168.159.10 master

192.168.159.11 slave1

192.168.159.12 slave2

然后保存退出

但是host还没有生效,需要生效

在命令行输入:hostname master

然后再输入:hostname 查看

但是这个生效只是临时生效,我们需要改为永久生效:

在命令行输入:vim /etc/sysconfig/network

然后原先network里面的是:HOSTNAME=localhost

我们改为:HOSTNAME=master

然后再重新加载生效:命令行输入:hostname master

然后保存退出

3.配置其他节点的hadoop环境

在主节点命令行里面进入到src下面

命令行输入:cd /usr/local/src/

再输入:ls 将hadoop-1.2.1分别远程复制到其他两个节点当中去

在主节点命令行输入:scp -rp hadoop-1.2.1 192.168.183.11:/usr/local/src/

在主节点命令行输入:scp -rp hadoop-1.2.1 192.168.183.12:/usr/local/src/

然后切换到slave1,然后进入/usr/local/src/目录下面查看是否有hadoop-1.2.1

命令行输入:cd /usr/local/src/

然后给slave1进行配置hosts

命令行输入:vim /etc/hosts

然后把下列代码写入到slave1中的hosts里面去

192.168.183.10 master

192.168.183.11 slave1

192.168.183.12 slave2

然后slave2也是一样把上面的hosts里面写入一下代码:

192.168.183.10 master

192.168.183.11 slave1

192.168.183.12 slave2

然后再给slave1配置修改network

在命令行输入:vim /etc/sysconfig/network

然后原先network里面的是:HOSTNAME=localhost

改为:HOSTNAME=slave1

然后再重新加载生效:命令行输入:hostname slave1 

然后再给slave2配置修改network

在命令行输入:vim /etc/sysconfig/network

然后原先network里面的是:HOSTNAME=localhost

我们改为:HOSTNAME=slave2

然后再重新加载生效:命令行输入:hostname slave2

4.关闭防火墙

在命令行输入:/etc/init.d/iptables stop

然后检查一下是否关闭成功:在每台机命令行输入:chkconfig --level 35 iptables off

然后再从命令行输入: getenforce 查看是否关闭了 (在每台机器都输入此命令)

5.建立每台机器的互信关系(这样方便我们日后一台机器对另外一台机器的操作)

在命令行输入:ssh-keygen 然后回车然后回车(回两次车)

然后进入隐藏目录

在命令行输入:cd ~/.ssh/ 然后ls

Id_rsa.pub是共钥文件,id_rsa是密钥文件

我们要对id_rsa.pub这个公钥文件的内容拷贝给authorized_keys这个文件(在此说明:如果没有authorized_keys这个文件,请自己创建!!)

新建authorized_keys文件:touch authorized_keys

看一下id_rsa.pub这个公钥文件的内容

输入命令行:cat id_rsa.pub

然后再输入命令行:cat authorized_keys 看看这两个文件的公钥是否一样

然后分别给其他两个子节点设置公钥

在slave1命令行输入:ssh-keygen 然后回车然后回车(回两次车)

然后进入隐藏目录

在命令行输入:cd ~/.ssh/ 然后ls

我们看一下id_rsa.pub这个公钥文件的内容

输入命令行:cat id_rsa.pub

然后把slave1的公钥复制到主机节点master的authorized_keys上

在master命令行输入:vim authorized_keys

然后接下来把然后把slave1的公钥复制到这里

在slave2命令行输入:ssh-keygen 然后回车然后回车(回两次车)

我们看一下id_rsa.pub这个公钥文件的内容

输入命令行:cat id_rsa.pub

然后把slave2的公钥复制到主机节点master的authorized_keys上

在master命令行输入:vim authorized_keys

然后接下来把然后把slave2的公钥复制到这里

然后在主节点上输入:cat authorized_keys 进行查看

然后下一步操作就是把主节点上的authorized_keys分别复制给slave1和slave2这两个节点上

命令行输入:scp -rp authorized_keys slave1:~/.ssh/

命令行输入:scp -rp authorized_keys slave2:~/.ssh/

然后分别给slave1和slave2检查一下是否有主节点传过来的公钥文件

在slave1和slave2的命令行上分别输入:cat authorized_keys 

然后我们就可以给三台机器互相登录而且不需要密码了

那么我们试一下:在主节点上命令行上输入:ssh slave1 如果要退出的话就是输入:exit

然后我们在主机节点上登录:ssh slave2

6.启动运行hadoop

开始安装hadoop1.0

命令行输入:cd hadoop-1.2.1

命令行再输入:cd bin

然后开始启动我们的hadoop集群

我们第一次启动的时候需要格式化

命令行输入: ./hadoop namenode -format

格式化以后我们再把hadoop集群启动:

命令行输入:./start-all.sh

然后我们查看这个集群是否有问题

命令行输入:jps

看到以下信息就证明集群已启动:

28238 NameNode

28474 JobTracker

30505 Jps

28397 SecondaryNameNode

猜你喜欢

转载自blog.csdn.net/YiWangJiuShiXingFu/article/details/81984220