Linux下Hadoop的安装与Hadoop-eclipse-plugin的编译
一、安装JDK
- 将压缩包解压并配置环境变量
命令行:
sudo vim ~/.bashrc
在文件中添加:
export JAVA_HOME=/usr/lib/jvm/jdk-14.0.1 (建议用1.8的)
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
回到命令行,使之生效:
source ~/.bashrc
命令行
sudo vim /etc/profile
在文件中添加:
export JAVA_HOME=/usr/lib/jvm/jdk-14.0.1
export JAVA_BIN=$JAVA_HOME/bin
export JAVA_LIB=$JAVA_HOME/lib
export CLASSPATH=.:$JAVA_LIB/tools.jar:$JAVA_LIB/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
回到命令行
source /etc/profile
命令行
sudo vim /etc/environment
在文件中添加:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/jdk-14.0.1/lib:/usr/lib/jvm/jdk14.0.1"
回到命令行
source /etc/environment
- 如果已经有openjdk,可修改默认jdk
命令行
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-14.0.1/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-14.0.1/bin/javac 300
sudo update-alternatives --config java
然后选择即可
查看版本:
java -version
二、安装Eclipse
- 下载压缩包并解压
sudo tar zxvf eclipse-inst-linux64.tar.gz -C /usr/local
- 下载相应版本
三、安装Hadoop
- 下载hadoop-2.7.4解压并修改权限
sudo tar zxvf hadoop-2.7.4 -C /usr/local
sudo mv hadoop-2.7.4 hadoop //改名
sudo chmod 777 -R /usr/local/hadoop //chmod能改变权限,-R是目录下所有文件,777就是高权限(读、写、执行)
- 配置环境
sudo vim ~/.bashrc
source ~/.bashrc
sudo vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
sudo vim /usr/local/hadoop/etc/hadoop/yarn-env.sh
3. 建立伪分布模式
在原先的三个.xml文件的<configuration> </configuration>
中添加以下内容
sudo vim /usr/local/hadoop/etc/hadoop/core-site.xml
sudo vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
sudo vim /usr/local/hadoop/etc/hadoop/yarn-site.xml
4. 查看版本
hadoop version
5. 格式化HDFS
hdfs namenode -format
四、安装SSH
- 安装与启动
sudo apt-get install openssh-server
sudo /etc/init.d/ssh start //启动
ps -ef|grep ssh //显示进程
- 设置免密登录,使用主节点上的ssh-keygen生成一个RSA密钥对(一直回车直到生成)
ssh-keygen -t rsa
生成密钥对后,查看公钥的形式:
more /home/yu/.ssh/id_rsa.pub
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh localhost //对于单节点的操作,仅需检查机器是否允许对自己运行ssh
装载守护进程
start-all.sh //装载守护进程
jps //列出所有守护进程验证是否安装成功 (6个)
stop-all.sh //关闭Hadoop的守护进程
NameNode通过端口50070提供常规报告,描绘集群上的HDFS的状态视图
http://localhost:50070/
五、编译hadoop-eclipse-plugin 2.7.4
- 请先安装
ant
sudo apt-get install ant
- 在github上下载hadoop2x-eclipse-plugin-master并解压
对应/usr/local/hadoop/share/hadoop/common/lib
中的版本号在/hadoop2x-eclipse-plugin-master/ivy/libraries.properties
中修改版本
在/hadoop2x-eclipse-plugin-master/src/contrib/eclipse-plugin
中修改build.xml
文件
vim build.xml
在<target name="jar" depends="compile" unless="skip.contrib">
下修改一条,增加两条
修改htrace-core-${htrace-core.version}-incubating.jar
(添加incubating)
在
<attribute name="Bundle-ClassPath
后修改一行,增加两行
/hadoop2x-eclipse-plugin-master/src/contrib/eclipse-plugin
下
ant jar -Dhadoop=2.7.4 -Declipse.home=/usr/local/eclipse -Dhadoop.home=/usr/local/hadoop -debug
Declipse.home与Dhadoop.home分别为安装目录
成功 BUILD SUCCESSFUL
压缩包hadoop-eclipse-plugin2.7.4在目录/hadoop2x-eclipse-plugin-master/build/contrib/eclipse-plugin
下
- 编译过程可能会出现很多问题
- 无法解析依赖
解决方法: 如果下载了 Apache Ivy,可尝试在apache-ivy-2.5.0/src/example/hello-ivy
下的ivy.xml
中增加如下,即使之下载到本地,然后在目录apache-ivy-2.5.0/src/example/hello-ivy
下运行ant