本人初次接触Hadoop,在环境和文件配置的过程中遇到了一些问题,下面把本人认为重要的配置过程进行简略总结。
首先在VMwareWorkStation中新建一个虚拟机,接着配置IP地址,在命令行中输入:vi /etc/sysconfig/network-scripts/ifcfg-eth0;配置完成后输入:service network restart,完成网络重启;测试能不能ping通网关,ping 192.168.XXX.XXX,如果ping不通,关闭Windows公用网络的防火墙,以及Linux的防火墙:service iptables stop。
配置目录:进入根目录,创建目录:mkdir nutchhadoop
进入nutchhadoop文件夹内,创建文件夹jdk, ant, nutch, hadoop
jdk, ant, nutch以及hadoop的安装:进入/tmp目录下:cd /tmp,分别解压缩:(版本号根据自己下载的压缩包进行相应的修改)
tar -zxvf jdk-8u121-linux-x64.tar.gz -C /nutchhadoop/jdk/
tar zxvf apache-ant-1.9.7-bin.tar.gz -C /nutchhadoop/ant/
tar zxvf apache-nutch-1.7-src.tar.gz -C /nutchhadoop/nutch/
tar –zxvf hadoop-2.6.1.tar.gz -C /nutchhadoop/hadoop/
解压缩完成后设置环境变量:vi ~/.bash_profile,编辑结果如下:
Esc退出编辑模式,输入:wq保存退出
命令行中输入source ~/.bash_profile使之生效
输入hadoop version
修改方法:cd /nutchhadoop/hadoop/hadoop-2.8.0/etc/hadoop/
编辑文件:vi hadoop-env.sh,在#The java implementation to use.下一行添加export JAVA_HOME=/nutchhadoop/jdk/jdk1.8.0_144
保存后退出
编辑文件yarn-env.sh,在#export JAVA_HOME下添加export JAVA_HOME=/nutchhadoop/jdk/jdk1.8.0_144
保存并退出
修改配置文件
cd /nutchhadoop/hadoop/hadoop-2.8.0/
1. vim etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
2. vim etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
3. 复制cd /nutchhadoop/hadoop/hadoop-2.8.0/etc/hadoop/cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
4. cd /nutchhadoop/hadoop/hadoop-2.8.0/etc/hadoop/vi yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
配置SSH,基于空口令生成一个新SSH**,以实现无密码登录
ssh-****** -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
测试是否能够连接(master为自己设置的主机名)
ssh master
格式化HDFS文件系统(注意只有第一次启动时使用,以后都不需要)
hdfs namenode -format
启动HDFS
start-dfs.sh
启动start-yarn.sh
(也可以一条指令实现上面两条指令:start-all.sh,但不建议使用)
输入jps查看是否启动成功