在共享文件夹中安装 hbase 和 thrift 的问题

在共享文件夹中安装 hbase 和 thrift 的问题

哎呀,我是 ubuntu 新手。我在 Windows 11 中通过 virtualbox 7.0.8 安装了 ubuntu 18.04 LTS,使用名为 vagrant 的共享文件夹与 ubuntu 通信。以下是我所做的:1.安装 JDK

sudo mkdir /usr/lib/jvm
sudo tar -zxvf jdk-8u291-linux-x64.tar.gz -C /usr/lib/jvm

然后编辑环境变量sudo vim ~/.bashrc

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_291
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
  1. 下载 hbase-2.4.4-bin.tar.gz到共享文件夹 vagrant/
tar xzvf hbase-2.4.4-bin.tar.gz
cd hbase-2.4.4

# edit JAVA_HOME environ variable
# open conf/hbase-env.sh
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_291

然后在 conf/hbase-site.xml 中添加了一些属性

  1. 安装 Thrift sudo apt-get install automake bison flex g++ git libboost-all-dev libevent-dev libssl-dev libtool make pkg-config
tar zxf thrift-0.14.2.tar.gz
cd thrift-0.14.2

在共享文件夹中,我无法运行 ./configure configure: error: cannot run C compiled programs,如果我运行./configure --host=x86_64,会出现很多编译问题。因此我将 thrift-0.14.2.tar.gz 复制到 home/ 文件夹,以执行以下 3 个命令

sudo ./configure
sudo make
sudo make install

问题 1:我这一步做对了吗?Windows 中的共享文件夹真的不能编译 Linux 文件吗?但我认为 vagrant/ 共享文件夹在 Ubuntu 中,为什么我不能运行它?

  1. 最奇怪的事情就在这里发生了。
vagrant@vagrant:/vagrant/hbase-2.4.4$ chmod +x bin/*.sh
vagrant@vagrant:/vagrant/hbase-2.4.4$ sudo bin/start-hbase.sh
vagrant@vagrant:/vagrant/hbase-2.4.4$ sudo bin/hbase-daemon.sh start thrift

我可以运行hbase,但是当输入第3条命令时,出现以下错误:

sudo: ./bin/hbase-daemon.sh: command not found

如果我不使用 sudo 运行 hbase-daemon.sh,它会显示-bash: bin/hbase-daemon.sh: Permission denied 奇怪的事情,如果我sudo bin/hbase-daemon.sh start thrift首先运行,然后sudo bin/start-hbase.sh失败并引发权限被拒绝。

然后我重启虚拟机,运行ls -l vagrant/hbase-2.4.4/bin/ start-hbase.sh和hbase-daemon.sh都显示绿色:

-rwxrwxrwx 1 vagrant vagrant  2372 Jan 22  2020 start-hbase.sh
-rwxrwxrwx 1 vagrant vagrant 12502 Jan 22  2020 hbase-daemon.sh

但如果我运行 hbase,然后运行 ​​thrift,ls -l 显示

-rwxrwxrwx 1 vagrant vagrant  2372 Jan 22  2020 start-hbase.sh
-rw-rw-rw- 1 vagrant vagrant 12502 Jan 22  2020 hbase-daemon.sh

hbase-daemon.sh 自己变成白色。 尽管我已经跑了

vagrant@vagrant:/vagrant/hbase-2.4.4$ sudo chmod +x ./bin/hbase-daemon.sh
vagrant@vagrant:/vagrant/hbase-2.4.4$ sudo chmod -R 777 ./bin/hbase-daemon.sh 

但它仍然显示:

-rw-rw-rw- 1 vagrant vagrant 12502 Jan 22  2020 hbase-daemon.sh

但是,如果我再次重新启动虚拟机,它就会恢复到

-rwxrwxrwx 1 vagrant vagrant 12502 Jan 22  2020 hbase-daemon.sh

问题 2:有人遇到过这种情况吗?我真的不知道我的行为有什么问题。

相关内容