如何在windows下安装hadoop

如何在windows下安装hadoop,第1张

1、安装Cygwin

下载cygwin的setup.exe,双击运行:

选择从Internet安装:

设置安装目录:

设置安装包目录:

设置“Internet Connection”的方式,选择“Direct Connection”:

选择一个下载站点:

“下一步”之后,可能会d出下图的“Setup Alert”对话做销框,直接“确定”即可

在“Select Packages”对话框中,必须保证“Net Category”下的“OpenSSL”被安装:

如果还打算在eclipse 上编译Hadoop,则还必须安装“Base Category”下的“sed”:

“Devel Category”下的subversion 建议安装:

下载并安装:

当下载完后,会自动进入到“setup”的对话框:

在上图所示的对话框中,选中“Create icon on Desktop”,以方便直接从桌面上启动

Cygwin,然后点击“完悄桐成”按钮。至此,Cgywin 已经安装完成。

2、配置环境变量

需要配置的环境变量包括PATH 和JAVA_HOME:将JDK 的bin 目录、Cygwin 的bin 目录

以及Cygwin 的usr\bin(sbin)目录都添加到PATH 环境变量中;JAVA_HOME 指向JRE 安装目录。

3、windows系统上运行hadoop集群,伪分布式模式安装步骤:

①启动纯运游cygwin,解压hadoop安装包。通过cygdrive(位于Cygwin根目录中)可以直接映射到windows下的各个逻辑磁盘分区。例如hadoop安装包放在分区D:\下,则解压的命令为$ tar -zxvf /cygdrive/d/hadoop-0.20.2.tar.gz,解压后可使用ls命令查看,如下图:

默认的解压目录为用户根目录,即D:\cygwin\home\lsq(用户帐户)。

②编辑conf/hadoop-env.sh文件,将JAVA_HOME变量设置为java的安装目录。例如java安装在目录C:\Program Files\java\jdk1.6.0_13,如果路径没空格,直接配置即可。存在空格,需将Program Files缩写成Progra_1,如下图:

③依次编辑conf目录下的core-site.xml、mapred-site.xml和hdfs-site.xml文件,如下图:

④安装配置SSH

点击桌面上的Cygwin图标,启动Cygwin,执行ssh-host-config命令,然后按下图上的选择输入:

当提示Do you want to use a different name?输入yes,这步是配置安装的sshd服务,以哪个用户登录,默认是cyg_server这个用户,这里就不事先新建cyg_server这个用户,用当前本机的超管本地用户:chenx,后续根据提示,2次输入这个账户的密码

出现Host configuration finished. Have fun! 一般安装顺利完成。如下图:

输入命令$ net start sshd,启动SSH,如下图:

注:sshd服务安装完之后,不会默认启动,如果启动报登录失败,不能启动,可在服务属性-Log On窗口手工修改,在前述的过程之中,cygwin不会校验密码是否正确,应该只是校验了2次的输入是否一致,然后再手工启动。不知道为什么,sshd服务如果选择local system的登录方式,后续会有问题,所以sshd服务最好设置成当前的登录用户。

⑤配置ssh登录

执行ssh-keygen命令生成密钥文件

输入如下命令:

cd ~/.ssh

ls -l

cat id_rsa.pub >>authorized_keys

完成上述 *** 作后,执行exit命令先退出Cygwin窗口,如果不执行这一步 *** 作,下面的 *** 作可能会遇到错误。接下来,重新运行Cygwin,执行ssh localhost命令,在第一次执行ssh localhost时,会有“are you sure you want to continue connection<yes/no>?”提示,输入yes,然后回车即可。当出现下图提示,即顺利完成该步:

⑥hadoop运行

格式化namenode

打开cygwin窗口,输入如下命令:

cd hadoop-0.20.2

mkdir logs

bin/hadoop namenode –format

启动Hadoop

在Cygwin 中,进入hadoop 的bin 目录,

运行./start-all.sh 启动hadoop;

可以执行./hadoop fs -ls /命令,查看hadoop 的根目录;

可以执行jps 查看相关进程;

如下图:(如果显示和下图类似,一般hadoop安装/启动成功)

环境

修改名称和存储位置即可。

1.3.1 查看你PC上为VMware分配的IP地址段、子网掩码和网关。打开终端,输入如下命令:答伏搏

more /Library/Preferences/VMware\ Fusion/vmnet8/dhcpd.conf

添加以下信息:

重启机器即可完成静态IP的清祥修改。记得 ping www.baidu.com 测试网络的连通性。

1.4.1 修改主机名

sudo vim /etc/hostname

将文件修改为你的主机名,例如hadoop101

1.4.2 修改主机名和host的映射

sudo vim /etc/hosts

1.4.3 重启机器,并使用 ping hadoop10x 测试连通性。

如果你在第一台虚拟机上完成了伪分布模式的搭建,那么此时克隆的两台机器也同样拥有JDK和Hadoop。

scp命令

此时,如果只有一台机器完成了jdk和Hadoop的安装配置,我们可以使用 scp 命令完成数据的安全拷贝。

命令格式: scp -r 要拷贝的文件路径/名称 user@ip:目的路径/名称

rsync命令

与 scp 相同的还有一个命令时 rsync ,其主要用于备份和镜像。 rsync 做文件的复制要比 scp 的速度快, rsync 只对差异文件做更新。 scp 将所有文件都复制过去。使用方法和 scp 一样。

基本格式: rsync -rvl 源文件 目的路径

集群分发脚本

脚本sxync.sh可以更好的同步数据到其他机器上

这个很重要,后面的所有配置都是按照这个来的

3.2.1 配置hadoop-env.sh

3.2.2 配置hdfs-site.xml文件

3.3.1 配置yarn-env.sh

3.3.2 配置yarn-site.xml文件

3.4.1 配置mapred-env.sh

3.4.2 配置mapred-site.xml文件

xsync /opt/module/hadoop-x.x.x/

rm -rf data/ logs/

根据集群配置图,我们可以发现NameNode在hadoop102上,所以我们连接hadoop102,并执行如下命令:

bin/hdfs namenode -format

此时,不允许有任何错,否则格式化失败

4.4.1 在hadoop101上启动DataNode。

sbin/hadoop-daemon.sh start datanode

4.4.2 在hadoop102上启动NameNode和DataNode。

sbin/hadoop-daemon.sh start namenode

sbin/hadoop-daemon.sh start datanode

4.4.3 在hadoop101上启动DataNode和SecondaryNode

sbin/hadoop-daemon.sh start datanode

sbin/hadoop-daemon.sh start secondarynamenode

在浏览器中输入 http://hadoop102:50070 查看集群是否启动成功。如果本机的hosts里边没有Hadoop102到ip地址的映射,此时会无法访问,两种办法:第一,使用过ip:端厅迅口号访问;第二,在本机hosts文件里加入三个节点的主机名到ip地址的映射。

5.1.1 在hadoop101上使用指令ssh-keygen -t rsa生成公钥和密钥

6.2.1 在hadoop102上启动HDFS

sbin/start-dfs.sh

7.1 一个大文件个一个小文件

bin/hdfs dfs -put wcinput/wc.input /

bin/hdfs dfs -put /opt/software/hadoop-x.x.x.tar.gz

7.2 在浏览器中输入 http://hadoop102:50070 查看上传结果:

大功告成,告别从入门到放弃!

将配置的伪分布模式的虚拟机克隆两份并更名为centos_node2和centos_note3

分别打开三个虚拟机,第一个基本不需要配置了,现在主要配置centos_note2和centos_note3的配置。

1. 首先修改IP地址和主机名

因为centos是hadoop1和192.168.100.11,在这里设置centos_note2和centos_note3的主机名和IP地址分别为:hadoop2/192.168.100.12和hadoop3/192.168.100.13。并把主机名和ip地址绑定

centos_note2的修改主机名:

#vim /etc/sysconfig/network 下的HOSTNAME=hadoop2,centos_note3的相应的改为hadoop3

再通过#hostname hadoop2。设置临时的主机名那么机器就不用重新启动了。

Note2的修改ip地址:在右上角点编辑链接,然后编辑将ipv4改为手动,地址192.168.100.12 掩码:255.255.255.0 网关:192.168.100.1。

Note3的改为相应的ip

绑定ip和主机名:

#vim /etc/hosts

Ip hostname

192.168.100.12 hadoop2

保存并重启网络服务:

#service network restart

在宿主机上ping以下看是否三台机器都能ping通。一般情况都能通的。只要和宿主机上的VMnet1网关在同一网段一般没问题。

通过pietty远程连接三台虚拟机,进行下一步的 *** 作

2. 将note2和note3中配置数据重置

a) 删掉远程连接ssh免登陆:

#rm –rf /root/.ssh/*

b) 删掉原来的hadoop安装程序

#rm –rf /usr/local/*(如果该目录下还有其他的有用数据,则只删除hadoop的即可)

c) 删掉环境变量中的hadoop和jdk的配置

#vim /etc/profile

将JAVA_HOME和HADOOP_HOM的那三行都删掉

#source /etc/profile 使得环境变量配置文件重新生效

3. 重新配置三台虚拟机,搭建集群环境前的系统环境

a) 配置每台机器上的ssh免密码登录(以主机名为hadoop1的centos为例)

#ssh-keygen –t rsa 一路回车,在/root/.ssh/下生成id_rsa.pub

生成公钥信息

#cp id_rsa.pub authorized_keys (不能写错否则就不能免密码登录了)

#登录本机,免密码登录

#ssh hadoop1 就能免密码登录了

其他两台也是同样的 *** 作

b) 三台机器间的免密码登录

将自己兄凯的公钥复制到允许需要免密码弊尘嫌登录的其他主机上

#ssh-copy-id -i hadoop2

输入hadoop2的密码

下次就可以免密码登录了。

如果主机名和ip没有绑定会出现这样的错误

在hadoop2和hadoop3上分别执行

##ssh-copy-id -i ip(hadoop1的ip)

完事后hadoop2和hadoop3就可以免密码登录hadoop1了。

将hadoop1下的ssh免密码许可文件复制到hadoop2和hadoop3上

#scp /root/.ssh/authorized_keys root@hadoop2:/root/.ssh/

如果之前做过hadoop1到相应主机的免密码登录就不需要密码,没做过就需要输入密码。分别复制完成后,现在三台虚拟机之间就可以互相免密码登录了,但还不能使用主机名登录,现在讲ip和主机名绑定的hosts文件租手也在三台虚拟机之间同步

#scp /etc/hostsroot@hadoop2:/etc/hosts

这样三台虚拟机之间就可以通过主机名相互免密码登录了。

c) 为hadoop2和hadoop3复制安装文件和配置文件

前提:为了保持干净和便于查找错误,将hadoop下的logs和tmp目录删除

#cd /usr/local/hadoop/

#rm –rf ./{logs/,tmp/}

将jdk和hadoop安装文件复制都hadoop2和hadoop3

# scp -r /usr/local/{jdk,hadoop} hadoop2:/usr/local/

# scp -r /usr/local/{jdk,hadoop} hadoop3:/usr/local/

将profile配置文件复制到hadoop2和hadoop3

# scp -r /etc/profile hadoop2:/etc/

在每个节点使profile生效:

#source /etc/profile

4. 搭建集群环境

a) 修改hadoop1下的hadoop的配置文件slaves,将另两台主机名加进去作为从节点,hadoop1作为主节点。每个主机名占一行

b) 启动hadoop集群环境

i. 先格式化namenode

#hadoop namenote –format

ii. 启动hadoop集群

#start-all start

这样在主节点上就启动了是哪个进程NameNode、JobTracker、SecondarynameNode。在从节点启动了DataNode和TaskTracker

点击Live Bodes


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12479988.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存