当前位置:首页 » 编程软件 » ubuntu编译hadoop

ubuntu编译hadoop

发布时间: 2022-08-12 12:03:58

‘壹’ hadoop编译时出现javac: file not found: 求助!!!!!

有 种可能
1、linux的classpath设置有问题,没有加上"."。
2、你的javac后的classpath设置也不对,wordCount的编译不只是需这一个包,我记得还有别的相关的jar包,只有都加到你的classpath中才能正常编译。

3、这种编译明显是不太合适,在windows上编译好后再导入linux运行比较简单直接一些。
试下看吧。

‘贰’ 如何使用ubuntu搭建hadoop集群

创建hadoop用户组

创建hadoop用户
sudo adser -ingroup hadoop hadoop
回车后会提示输入新的UNIX密码,这是新建用户hadoop的密码,输入回车即可。
如果不输入密码,回车后会重新提示输入密码,即密码不能为空。
最后确认信息是否正确,如果没问题,输入 Y,回车即可。
( 增加hadoop用户组,同时在该组里增加hadoop用户,后续在涉及到hadoop操作时,我们使用该用户。)

为hadoop用户添加权限
输入:sudo gedit /etc/sudoers
回车,打开sudoers文件
给hadoop用户赋予和root用户同样的权限

用新增加的hadoop用户登录Ubuntu系统
安装ssh
sudo apt-get install openssh-server
安装Java环境
sudo apt-get install openjdk-7-jdk
安装hadoop
官网下载http://mirror.bit.e.cn/apache/hadoop/common/
解压
sudo tar xzf hadoop-2.4.0.tar.gz
假如我们要把hadoop安装到/usr/local下
拷贝到/usr/local/下,文件夹为hadoop
sudo mv hadoop-2.4.0 /usr/local/hadoop
赋予用户对该文件夹的读写权限
sudo chmod 774 /usr/local/hadoop

配置~/.bashrc
查看JAVA_HOME,后面用到
update-alternatives - -config java
只取前面的部分 /usr/lib/jvm/java-7-openjdk-amd64
配置.bashrc文件
sudo gedit ~/.bashrc
在文件末尾追加下面内容,然后保存,关闭编辑窗口。
#HADOOP VARIABLES START
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
#HADOOP VARIABLES END
使添加的环境变量生效:
source ~/.bashrc

编辑/usr/local/hadoop/etc/hadoop/hadoop-env.sh
sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh
修改此变量如下
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

WordCount测试
单机模式安装完成,下面通过执行hadoop自带实例WordCount验证是否安装成功
执行WordCount
bin/hadoop
jar
share/hadoop/maprece/sources/hadoop-maprece-examples-2.4.0-sources.jar
org.apache.hadoop.examples.WordCount input output

‘叁’ 在Ubuntu下配置Eclipse的Hadoop插件,WordCount程序测试编译不通过!

有Hadoop用eclipse导入一个外来的工程时会出现以上错误,可能是因为你的电脑上安装了多个版本的jdk。或者jdk对应多个jre
解决的办法是:右击工程目录下的jdk 选择 build path---->config build path 或者在eclipse菜单栏点击project----->propertys 在里面再选择Java Build Path -----> Libraries---->Add Libraries----->JRE System Library

‘肆’ 虚拟机+ubuntu11.04环境下配置伪分布的hadoop,在执行到启动hadoop步骤时 bin/start-all.sh 时出错

是Jobtracker没有执行起来,我用0.20.203的版本也是这样。一样的提示,找不到server类。namenode和datanode都能正常运行,但是jobtracker启不来。怀疑那个版本的jar包里面有问题,可能需要重新编译才行。如果是别的原因,希望高手给予解答。

现在还一直使用0.20.2版本的,没有问题。新出的0.20.204和0.20.205版本都没有试过。

另外:
“root@localhost's password:”说明ssh互信没有建立起来。
执行
ssh-keygen -t dsa出现提示都回车就行。
cd ~/.ssh
cat id_dsa.pub >> authorized_keys
然后ssh localhost如果不需要密码就是设置成功了。
如果不成功,检查authorized_keys和.ssh目录的权限
chmod 644 authorized_keys
cd ~
chmod 700 .ssh
应该就可以了。

以后一起学习、讨论hadoop哈。

‘伍’ ubuntu 16 hadoop 支持吗

  1. 注意安装之前最好删除hadoop-260dfsdata下的所有文件避免出现各种问题尤其安装包不是官方现下载的

  2. 需要重新编译的教程

  3. 在Ubuntu下创建hadoop用户组和用户

  4. 在Ubuntu下安装JDK

  5. 安装ssh服务

  6. 建立ssh无密码登录本机

  7. 安装hadoop

  8. 测试Hadoop伪分布式配置

‘陆’ 如何在ubuntu上安装hadoop

hadoop官方网站对其安装配置hadoop的步骤太粗略,在这篇博客中,我会详细介绍在ubuntu中如何安装hadoop,并处理可能出现的一些问题。这里介绍的方法是用一台机器虚拟多个节点,这个方法已在如下环境中测试通过:
OS: Ubuntu 13.10
Hadoop: 2.2.0 (2.x.x)
个人认为在其他版本上安装Hadoop 2.x.x的方法基本相同,因此如果严格按照我给的步骤,应该不会有问题。

前提
安装 jdk 和 openssh
$ sudo apt-get install openjdk-7-jdk
$ java -version
java version "1.7.0_55"
OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1~0.13.10.1)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)
$ sudo apt-get install openssh-server
openjdk的默认路径是 /usr/lib/jvm/java-7-openjdk-amd64. 如果你的默认路径和我的不同,请再后面的操作中替换此路径。
添加Hadoop用户组和用户
$ sudo addgroup hadoop
$ sudo adser --ingroup hadoop hser
$ sudo adser hser sudo
然后切换到hser账户
配置SSH
现在你在hser账户中。 请注意下面命令中 '' 是两个单引号 ‘
$ ssh-keygen -t rsa -P ''
将public key加入到authorized_keys中,这样hadoop在运行ssh时就不需要输入密码了
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
现在我们测试一下ssh
$ ssh localhost
如果你被询问是否确认连接,输入yes。如果你发现在即不需要输密码,cool -- 至少到目前位置你是正确的。否则,请debug。
$ exit

下载Hadoop 2.2.0 (2.x.x)
$ cd ~
$ wget http://www.trieuvan.com/apache/hadoop/common/hadoop-2.2.0/hadoop-2.2.0.tar.gz
$ sudo tar -xzvf hadoop-2.2.0.tar.gz -C /usr/local
$ cd /usr/local
$ sudo mv hadoop-2.2.0 hadoop
$ sudo chown -R hser:hadoop hadoop
配置Hadoop环境
$ cd ~
$ vim .bashrc
将下面的内容复制到.bashrc中
#Hadoop variables
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
###end of paste

$ cd /usr/local/hadoop/etc/hadoop
$ vim hadoop-env.sh
将下面的三行加入到hadoop-env.sh中,删除原来的 "export JAVA_HOME"那行
# begin of paste
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
export HADOOP_COMMON_LIB_NATIVE_DIR="/usr/local/hadoop/lib/native/"
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop/lib/"
### end of paste

配置Hadoop
$ cd /usr/local/hadoop/etc/hadoop
$ vim core-site.xml
将下面的内容复制到 <configuration> 标签内
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>

$ vim yarn-site.xml
将下面的内容复制到 <configuration> 标签内
<property>
<name>yarn.nodemanager.aux-services</name>
<value>maprece_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.maprece.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

$ mv mapred-site.xml.template mapred-site.xml
$ vim mapred-site.xml
将下面的内容复制到 <configuration> 标签内
<property>
<name>maprece.framework.name</name>
<value>yarn</value>
</property>

$ mkdir -p ~/mydata/hdfs/namenode
$ mkdir -p ~/mydata/hdfs/datanode
$ vim hdfs-site.xml
将下面的内容复制到 <configuration> 标签内
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hser/mydata/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hser/mydata/hdfs/datanode</value>
</property>

格式化 namenode
第一次启动hadoop服务之前,必须执行格式化namenode
$ hdfs namenode -format
启动服务
$ start-dfs.sh && start-yarn.sh
使用jps查看服务
$ jps
如果一切顺利,你会看到:
17785 SecondaryNameNode
17436 NameNode
17591 DataNode
18096 NodeManager
17952 ResourceManager
23635 Jps
当执行start-dfs.sh的时候,你可能会看到 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable ,不用担心,其实可以正常使用,我们会在trouble shooting那一节谈到这个问题。

测试并运行示例
$ cd /usr/local/hadoop
$ hadoop jar ./share/hadoop/maprece/hadoop-maprece-client-jobclient-2.2.0-tests.jar TestDFSIO -write -nrFiles 20 -fileSize 10
$ hadoop jar ./share/hadoop/maprece/hadoop-maprece-client-jobclient-2.2.0-tests.jar TestDFSIO -clean
$ hadoop jar ./share/hadoop/maprece/hadoop-maprece-examples-2.2.0.jar pi 2 5

网页界面
Cluster status: http://localhost:8088
HDFS status: http://localhost:50070
Secondary NameNode status: http://localhost:50090

Trouble-shooting
1. Unable to load native-hadoop library for your platform.
这是一个警告,基本不会影响hadoop的使用,但是在之后我们还是给予解决这个warning的方法。通常来讲,出现这个warning的原因是你在64位的系统上,但是hadoop的package是为32位的机器编译的。在这种情况下,确认你不要忘记在hadoop-env.sh中加入这几行:
export HADOOP_COMMON_LIB_NATIVE_DIR="/usr/local/hadoop/lib/native/"
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop/lib/"
否则你的hadoop不能正常工作。如果你用的系统和hadoop的package相符(32位),这两行是不必要的。
我们不希望有warning,如何解决?方法是自己重新编译源代码。重新编译其实很简单:
安装 maven
$ sudo apt-get install maven
安装 protobuf-2.5.0 or later
$ curl -# -O https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz
$ tar -xzvf protobuf-2.5.0.tar.gz
$ cd protobuf-2.5.0
$ ./configure --prefix=/usr
$ make
$ sudo make install
$ cd ..
现在并编译hadoop源代码,注意编译之前需要先给源代码打个补丁
$ wget http://www.eu.apache.org/dist/hadoop/common/stable/hadoop-2.2.0-src.tar.gz
$ tar -xzvf hadoop-2.2.0-src.tar.gz
$ cd hadoop-2.2.0-src
$ wget https://issues.apache.org/jira/secure/attachment/12614482/HADOOP-10110.patch
$ patch -p0 < HADOOP-10110.patch
$ mvn package -Pdist,native -DskipTests -Dtar
现在到 hadoop-dist/target/ 目录下, 你会看到 hadoop-2.2.0.tar.gz or hadoop-2.2.0, 他们就是编译后的hadoop包。 你可以使用自己编译的包,同样按照之前的步骤安装64位的hadoop。如果你已经安装了32位的hadoop,只需要替换 /usr/local/hadoop/lib/native 目录,然后将如下两行从hadoop-env.sh中移除即可:
export HADOOP_COMMON_LIB_NATIVE_DIR="/usr/local/hadoop/lib/native/"
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop/lib/"

2. datanode 不能被启动
一个常用的方法是先删掉datanode对应的文件夹试试,注意这样做可能会丢失你的数据。另一种方法是到 /usr/local/hadoop/logs/hadoop-hser-datanode-*.log 中检查原因并对症下药。

‘柒’ ubuntu怎么配置单机hadoop

ubuntu配置单机hadoop的步骤:
1、创建hadoop用户组

2、创建hadoop用户
sudo adser -ingroup hadoop hadoop
回车后会提示输入新的UNIX密码,这是新建用户hadoop的密码,输入回车即可。
如果不输入密码,回车后会重新提示输入密码,即密码不能为空。
最后确认信息是否正确,如果没问题,输入 Y,回车即可。

3、为hadoop用户添加权限
输入:sudo gedit /etc/sudoers
回车,打开sudoers文件
给hadoop用户赋予和root用户同样的权限

二、用新增加的hadoop用户登录Ubuntu系统

三、安装ssh
sudo apt-get install openssh-server
安装完成后,启动服务
sudo /etc/init.d/ssh start
查看服务是否正确启动:ps -e | grep ssh
设置免密码登录,生成私钥和公钥
ssh-keygen -t rsa -P ""
此时会在/home/hadoop/.ssh下生成两个文件:id_rsa和id_rsa.pub,前者为私钥,后者为公钥。
下面我们将公钥追加到authorized_keys中,它用户保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容。
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
登录ssh
退出
exit

四、安装Java环境
sudo apt-get install openjdk-7-jdk
查看安装结果,输入命令:java -version,结果如下表示安装成功。

五、安装hadoop2.4.0
1、官网下载
2、安装
解压
sudo tar xzf hadoop-2.4.0.tar.gz
假如我们要把hadoop安装到/usr/local下
拷贝到/usr/local/下,文件夹为hadoop
sudo mv hadoop-2.4.0 /usr/local/hadoop
赋予用户对该文件夹的读写权限
sudo chmod 774 /usr/local/hadoop

3、配置
1)配置~/.bashrc
配置该文件前需要知道Java的安装路径,用来设置JAVA_HOME环境变量,可以使用下面命令行查看安装路径
update-alternatives - -config java
完整的路径为
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
我们只取前面的部分 /usr/lib/jvm/java-7-openjdk-amd64
配置.bashrc文件
sudo gedit ~/.bashrc

该命令会打开该文件的编辑窗口,在文件末尾追加下面内容,然后保存,关闭编辑窗口。
#HADOOP VARIABLES START
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
#HADOOP VARIABLES END

执行下面命,使添加的环境变量生效:
source ~/.bashrc
2)编辑/usr/local/hadoop/etc/hadoop/hadoop-env.sh
执行下面命令,打开该文件的编辑窗口
sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh
找到JAVA_HOME变量,修改此变量如下
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
修改后的hadoop-env.sh文件如下所示:

六、WordCount测试

单机模式安装完成,下面通过执行hadoop自带实例WordCount验证是否安装成功
/usr/local/hadoop路径下创建input文件夹
mkdir input
拷贝README.txt到input
cp README.txt input
执行WordCount
bin/hadoop jar share/hadoop/maprece/sources/hadoop-maprece-examples-2.4.0-sources.jar org.apache.hadoop.examples.WordCount input output
执行结果:
执行 cat output/*,查看字符统计结果

‘捌’ 如何在ubuntu16.10上搭建hadoop

hadoop是使用Java开发的一个大数据平台,自然少不了Java运行环境的安装了,当然使用hadoop不一定需要java语言,hadoop的开发支持很多种语言。

热点内容
功能点估算法是 发布:2024-05-02 16:24:38 浏览:165
b站非法访问 发布:2024-05-02 16:09:59 浏览:456
宝马523压缩机 发布:2024-05-02 16:00:40 浏览:611
冒险岛m韩服安卓汉化包哪里搞 发布:2024-05-02 16:00:24 浏览:955
云服务器托管平台 发布:2024-05-02 15:55:16 浏览:860
linux查看服务状态 发布:2024-05-02 15:55:15 浏览:933
phpfirebird 发布:2024-05-02 15:45:55 浏览:125
思科服务器怎么修改imc地址 发布:2024-05-02 15:35:27 浏览:770
强制删除文件夹的工具 发布:2024-05-02 15:34:34 浏览:770
sql存储过程调用存储过程 发布:2024-05-02 15:34:33 浏览:897