一、安装jdk:
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
然后移动到/opt/java目录下,解压缩
tar -zxvf jdk-9.0.1_linux-x64_bin.tar.gz
配置环境变量:
1、打开profile(个人不喜欢vi编辑,所以用gedit了,虽然很low)
root@ubuntu:/usr/java# gedit /etc/profile
2、复制下面的代码放到文件最后边,保存,注意jdk的文件名(看你自己安装jdk的是哪个版本)
1. export JAVA_HOME=/opt/java/jdk1.8.0_171 2. export JRE_HOME=$JAVA_HOME/jre 3. export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib 4. export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH
3、配置立即生效
source /etc/profile
4、检查:java -version
二、安装ssh:
由于Hadoop用ssh通信,先安装ssh
~$ sudo apt-get install openssh-server
ssh安装完成以后,先启动服务:
~$ sudo /etc/init.d/ssh start
启动后,可以通过如下命令查看服务是否正确启动:
~$ ps -e | grep ssh
作为一个安全通信协议,使用时需要密码,因此我们要设置成免密码登录,生成私钥和公钥:
hadoop@scgm-ProBook:~$ ssh-keygen -t rsa -P ""
因为我已有私钥,所以会提示是否覆盖当前私钥。第一次操作时会提示输入密码,按Enter直接过,这时会在~/home/{username}/.ssh下生成两个文件:id_rsa和id_rsa.pub,前者为私钥,后者为公钥,现在我们将公钥追加到authorized_keys中(authorized_keys用于保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容):
这里还是依据自己定义的存放秘钥的位置来弄,我是直接回车使用的默认值:/root/.ssh/id_rsa
~$ cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
现在可以登入ssh确认以后登录时不用输入密码:
~$ ssh localhost
登出:
~$ exit
第二次登录:
~$ ssh localhost
登出:
~$ exit
这样以后登录就不用输入密码了。
三、安装hadoop
下载地址:
http://hadoop.apache.org/releases.html
安装包移动到/opt/hadoop下,解压: tar -zxvf hadoop-x-x-x
配置环境变量:
gedit /etc/profile
1. export JAVA_HOME=/opt/java/jdk1.8.0_171 2. export JRE_HOME=$JAVA_HOME/jre 3. export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib 4. export HADOOP_HOME=/opt/hadoop/hadoop-2.8.4 5. export HADOOP_INSTALL=$HADOOP_HOME 6. export HADOOP_MAPRED_HOME=$HADOOP_HOME 7. export HADOOP_COMMON_HOME=$HADOOP_HOME 8. export HADOOP_HDFS_HOME=$HADOOP_HOME 9. export YARN_HOME=$HADOOP_HOME 10. export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native 11. export PATH=$JAVA_HOME/bin:$HADOOP_HOME/sbin:$PATH sbin:$PATH
source /etc/profile
注意这里是/sbin不是/bin,在hadoop2.0里面的启动文件放在sbin里,不然第一次就无法启动hadoop,不过之后在配置分布式的时候又遇到了一些问题,由于是新手就不太懂,不过当我把$HADOOP_HOME/bin也加进去的时候,就没有再在这个上面出错了
测试:hadoop jps
四、伪分布式配置:
1、修改地址解析文件:
gedit /etc/hosts
添加0.0.0.0 hadoop
1. 127.0.0.1 localhost 2. 127.0.1.1 angelo-VirtualBox 3. 4. # The following lines are desirable for IPv6 capable hosts 5. ::1 ip6-localhost ip6-loopback 6. fe00::0 ip6-localnet 7. ff00::0 ip6-mcastprefix 8. ff02::1 ip6-allnodes 9. ff02::2 ip6-allrouters 10. 11. 0.0.0.0 hadoop
2、修改/hadoop-x-x-x/etc/hadoop目录下的core-site.xml
添加:
1. <configuration> 2. <property> 3. <name>hadoop.tmp.dir</name> 4. <value>/hadoop</value> 5. <description>A base for other temporary directories.</description> 6. </property> 7. <property> 8. <name>dfs.name.dir</name> 9. <value>/hadoop/name</value> 10. </property> 11. <property> 12. <name>fs.default.name</name> 13. <value>hdfs://hadoop:9000</value> 14. </property> 15. </configuration>
3、修改hdfs-site.xml:
1. <configuration> 2. <property> 3. <name>dfs.data.dir</name> 4. <value>/hadoop/data</value> 5. </property> 6. <property> 7. <name>dfs.replication</name> 8. <value>1</value> 9. </property> 10. 11. </configuration>
4、修改mapred-site.xml(若为.tempxxx则需要更名为.xml)
1. <configuration> 2. <property> 3. <name>mapre.job.tracker</name> 4. <value>hadoop:9001</value> 5. </property> 6. 7. </configuration> 8.
5、修改hadoop-env.sh:
添加JAVA_HOME:
6、格式化namenode:
hdfs namenode -format
7、检查:
AIEarth是一个由众多领域内专家博主共同打造的学术平台,旨在建设一个拥抱智慧未来的学术殿堂!【平台地址:https://devpress.csdn.net/aiearth】 很高兴认识你!加入我们共同进步!