Ubuntu 14.04 上的 DataStax Enterprise 4.8.4 使用 apt 存储库安装时出现 LTS 安装错误
DataStax Enterprise 4.8.4 on Ubuntu 14.04 LTS install error when using apt repository installation
我完全按照 docs.datastax.com/en/datastax_enterprise/install/installDEBdse.html
中概述的方式使用了 apt 存储库安装方法
密钥没有问题。我有 Oracle Server JDK 8(截至今天最新)。 Python 来自 Miniconda 的 2.7(今天也是全新安装),使用默认值并允许预先设置 PATH 变量。
安装后,出现有关未满足的依赖项的错误:
dse-full : Depends: dse (=4.8.4-1) but it is not going to be installed
Depends: dse-hive (=4.8.4-1) but it is not going to be installed
Depends: dse-pig (=4.8.4-1) but it is not going to be installed
Depends: dse-demos (=4.8.4-1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
此服务器已完全损坏,因此 Ubuntu 环境干净且已更新。
我删除了 sources.list.d 文件夹,获得了一个新的密钥(删除这个文件夹也删除了与任何密钥对的关联),并发现了完全相同的错误。
这里不知道如何更正和继续。
可能相关的附加信息是核攻击是因为在我之前的安装尝试中,apt 存储库在 http 和 https 上都抛出了错误,所以下载文件并在使其可执行后安装。没有错误被抛出。但是,在尝试安装最新的 OpsCenter 时,出现与丢失文件和文件夹有关的错误。我什至无法根据 DSE 文档卸载,因为从未创建 /usr/share/dse 文件夹。
有关错误和环境的更多信息
环境--
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
$ java -version
java version "1.8.0_72"
Java(TM) SE Runtime Environment (build 1.8.0_72-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.72-b15, mixed mode)
$ python --version
Python 2.7.5
缓存内容--
$ apt-cache madison dse-full | grep 4.8
dse-full | 4.8.4-1 | https://debian.datastax.com/enterprise/ stable/main amd64 Packages
dse-full | 4.8.3-1 | https://debian.datastax.com/enterprise/ stable/main amd64 Packages
dse-full | 4.8.2-1 | https://debian.datastax.com/enterprise/ stable/main amd64 Packages
dse-full | 4.8.1-1 | https://debian.datastax.com/enterprise/ stable/main amd64 Packages
dse-full | 4.8.0-1 | https://debian.datastax.com/enterprise/ stable/main amd64 Packages
删除--
$ sudo apt-get purge "dse*" datastax-agent
Package 'datastax-agent' is not installed, so not removed
Package 'dse-demos' is not installed, so not removed
Package 'dse-full' is not installed, so not removed
Package 'dse-hive' is not installed, so not removed
Package 'dse-libcassandra' is not installed, so not removed
Package 'dse-libhadoop-native' is not installed, so not removed
Package 'dse-libhadoop' is not installed, so not removed
Package 'dse-libhive' is not installed, so not removed
Package 'dse-liblog4j' is not installed, so not removed
Package 'dse-libmahout' is not installed, so not removed
Package 'dse-libpig' is not installed, so not removed
Package 'dse-libsolr' is not installed, so not removed
Package 'dse-libspark' is not installed, so not removed
Package 'dse-libsqoop' is not installed, so not removed
Package 'dse-libtomcat' is not installed, so not removed
Package 'dse-pig' is not installed, so not removed
Package 'dse' is not installed, so not removed
新安装--
$ sudo apt-get install dse-full
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
dse-full : Depends: dse (= 4.8.4-1) but it is not going to be installed
Depends: dse-hive (= 4.8.4-1) but it is not going to be installed
Depends: dse-pig (= 4.8.4-1) but it is not going to be installed
Depends: dse-demos (= 4.8.4-1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
不是答案,而是一些有助于解决此问题的想法。需要注意的一件事是当前版本是 4.8.4(不是 4.8.6)。
我刚刚安装了一个新的 Ubuntu 14.04 VM,只安装了 Java (OpenJDK) 和 Python,一切都按照文档运行。
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
$ java -version
openjdk version "1.8.0_72-internal"
OpenJDK Runtime Environment (build 1.8.0_72-internal-b05)
OpenJDK 64-Bit Server VM (build 25.72-b05, mixed mode)
$ python --version
Python 2.7.6
一些 troubleshooting/cleanup 个步骤:
$ sudo apt-get update
$ # confirm 4.8.4 is the latest package known
$ apt-cache madison dse-full | grep 4.8
dse-full | 4.8.4-1 | http://debian.datastax.com/enterprise/ stable/main amd64 Packages
dse-full | 4.8.3-1 | http://debian.datastax.com/enterprise/ stable/main amd64 Packages
dse-full | 4.8.2-1 | http://debian.datastax.com/enterprise/ stable/main amd64 Packages
dse-full | 4.8.1-1 | http://debian.datastax.com/enterprise/ stable/main amd64 Packages
dse-full | 4.8.0-1 | http://debian.datastax.com/enterprise/ stable/main amd64 Packages
$ # remove any DSE packages
$ sudo apt-get purge "dse*" datastax-agent
$ # see if any packages marked as held
$ dpkg --get-selections | grep hold
$ # for each package from above (package_name) set it to 'install'
$ echo "package_name install" | sudo dpkg --set-selections
$ # try again to install DSE
$ sudo apt-get install dse-full
如果这些步骤不起作用,请包含来自 运行 apt-get 安装的完整命令和响应。
这似乎不是 DataStax 包本身的问题,但感觉服务器上的回购协议有问题。
在很多情况下,"unmet dependencies" 是由于重复的存储库。如@BrianC 上面所述,删除所有重复项并在再次安装之前执行清理。
安装时尝试使用以下版本而不是 dse-full 执行。在安装之前确保执行 "yum update"
sudo yum 安装 dse-full-4.8.4-1
根据以下内容; Oracle JRE 8 满足安装要求
http://docs.datastax.com/en/datastax_enterprise/4.8/datastax_enterprise/install/installRHELdse.html
如果安装失败,您可以post 安装命令和以下输出。
我自己也走上了这条路。我强烈推荐以下内容:
1) 从 Ubuntu 12 节点重新开始。 (对我来说,我使用的是 Amazon EC2 ami-15cbe87f。)
2) 节点启动后,下载并 运行 最新的 Datastax Enterprise 安装程序。这会升级集群,并将 hadoop 放置在 /usr/share/dse/resources/hadoop。 (对我来说,我使用了 DataStaxEnterprise-4.8.4.2016011118-linux-x64-installer.run)
2) 在/etc/dse/cassandra/cassandra.yaml 中:
- 设置集群名称
- 使用内部向上地址 172.xx.xx.xx 作为种子节点,listen_address, broadcast_address, broadcast_rpc_address
- 使用 0.0.0.0 作为 rpc_address
- 使用 PropertyFileSnitch 并编辑 /etc/dse/cassandra/cassandra-topology.properties。为内部和外部 IP 添加条目。
-- # Cassandra 节点 IP=数据 Center:Rack
-- 52.xx.xx.xx=美国东部:1a
-- 172.xx.xx.xx=美国东部:1a
-- # 未知节点的默认值
-- 默认=美国东部:1a
3) 复制/etc/dse/hadoop/taskcontroller.cfg 到/etc/hadoop/taskcontroller.cfg。还有一段代码没有使用HADOOP_CONF_DIR.
4) 将目录更改为 /usr/share/dse/resources/hadoop/native/Linux-amd64-64/bin 和 chmod 4750 task-controller
5) 是的,4750。
6) 不要忘记编辑 /var/lib/datastax-agent/conf/address.yaml 以包含:
- stomp_interface: 172.xx.xx.xx
- local_interface: 172.xx.xx.xx
- use_ssl: 0
7) 在某些时候,您将需要返回并设置 ssl。
8) sudo service dse start 并检查 /var/log/cassandra/output.log 和 system.log
中的错误
9) 修复后,您可以删除集群并通过进入 /var/lib/cassandra 并删除那里的所有内容重新开始。 (小心!)然后,回到第8步,重复直到没有错误。
10) 使用这种方法可以让仅支持 Cassandra 的节点正常工作。然后,使用这种方法让 spark/hadoop 节点正常工作。然后,您可以组合它们并扩大您的集群。
我完全按照 docs.datastax.com/en/datastax_enterprise/install/installDEBdse.html
中概述的方式使用了 apt 存储库安装方法密钥没有问题。我有 Oracle Server JDK 8(截至今天最新)。 Python 来自 Miniconda 的 2.7(今天也是全新安装),使用默认值并允许预先设置 PATH 变量。
安装后,出现有关未满足的依赖项的错误:
dse-full : Depends: dse (=4.8.4-1) but it is not going to be installed
Depends: dse-hive (=4.8.4-1) but it is not going to be installed
Depends: dse-pig (=4.8.4-1) but it is not going to be installed
Depends: dse-demos (=4.8.4-1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
此服务器已完全损坏,因此 Ubuntu 环境干净且已更新。
我删除了 sources.list.d 文件夹,获得了一个新的密钥(删除这个文件夹也删除了与任何密钥对的关联),并发现了完全相同的错误。
这里不知道如何更正和继续。
可能相关的附加信息是核攻击是因为在我之前的安装尝试中,apt 存储库在 http 和 https 上都抛出了错误,所以下载文件并在使其可执行后安装。没有错误被抛出。但是,在尝试安装最新的 OpsCenter 时,出现与丢失文件和文件夹有关的错误。我什至无法根据 DSE 文档卸载,因为从未创建 /usr/share/dse 文件夹。
有关错误和环境的更多信息
环境--
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
$ java -version
java version "1.8.0_72"
Java(TM) SE Runtime Environment (build 1.8.0_72-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.72-b15, mixed mode)
$ python --version
Python 2.7.5
缓存内容--
$ apt-cache madison dse-full | grep 4.8
dse-full | 4.8.4-1 | https://debian.datastax.com/enterprise/ stable/main amd64 Packages
dse-full | 4.8.3-1 | https://debian.datastax.com/enterprise/ stable/main amd64 Packages
dse-full | 4.8.2-1 | https://debian.datastax.com/enterprise/ stable/main amd64 Packages
dse-full | 4.8.1-1 | https://debian.datastax.com/enterprise/ stable/main amd64 Packages
dse-full | 4.8.0-1 | https://debian.datastax.com/enterprise/ stable/main amd64 Packages
删除--
$ sudo apt-get purge "dse*" datastax-agent
Package 'datastax-agent' is not installed, so not removed
Package 'dse-demos' is not installed, so not removed
Package 'dse-full' is not installed, so not removed
Package 'dse-hive' is not installed, so not removed
Package 'dse-libcassandra' is not installed, so not removed
Package 'dse-libhadoop-native' is not installed, so not removed
Package 'dse-libhadoop' is not installed, so not removed
Package 'dse-libhive' is not installed, so not removed
Package 'dse-liblog4j' is not installed, so not removed
Package 'dse-libmahout' is not installed, so not removed
Package 'dse-libpig' is not installed, so not removed
Package 'dse-libsolr' is not installed, so not removed
Package 'dse-libspark' is not installed, so not removed
Package 'dse-libsqoop' is not installed, so not removed
Package 'dse-libtomcat' is not installed, so not removed
Package 'dse-pig' is not installed, so not removed
Package 'dse' is not installed, so not removed
新安装--
$ sudo apt-get install dse-full
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
dse-full : Depends: dse (= 4.8.4-1) but it is not going to be installed
Depends: dse-hive (= 4.8.4-1) but it is not going to be installed
Depends: dse-pig (= 4.8.4-1) but it is not going to be installed
Depends: dse-demos (= 4.8.4-1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
不是答案,而是一些有助于解决此问题的想法。需要注意的一件事是当前版本是 4.8.4(不是 4.8.6)。
我刚刚安装了一个新的 Ubuntu 14.04 VM,只安装了 Java (OpenJDK) 和 Python,一切都按照文档运行。
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
$ java -version
openjdk version "1.8.0_72-internal"
OpenJDK Runtime Environment (build 1.8.0_72-internal-b05)
OpenJDK 64-Bit Server VM (build 25.72-b05, mixed mode)
$ python --version
Python 2.7.6
一些 troubleshooting/cleanup 个步骤:
$ sudo apt-get update
$ # confirm 4.8.4 is the latest package known
$ apt-cache madison dse-full | grep 4.8
dse-full | 4.8.4-1 | http://debian.datastax.com/enterprise/ stable/main amd64 Packages
dse-full | 4.8.3-1 | http://debian.datastax.com/enterprise/ stable/main amd64 Packages
dse-full | 4.8.2-1 | http://debian.datastax.com/enterprise/ stable/main amd64 Packages
dse-full | 4.8.1-1 | http://debian.datastax.com/enterprise/ stable/main amd64 Packages
dse-full | 4.8.0-1 | http://debian.datastax.com/enterprise/ stable/main amd64 Packages
$ # remove any DSE packages
$ sudo apt-get purge "dse*" datastax-agent
$ # see if any packages marked as held
$ dpkg --get-selections | grep hold
$ # for each package from above (package_name) set it to 'install'
$ echo "package_name install" | sudo dpkg --set-selections
$ # try again to install DSE
$ sudo apt-get install dse-full
如果这些步骤不起作用,请包含来自 运行 apt-get 安装的完整命令和响应。
这似乎不是 DataStax 包本身的问题,但感觉服务器上的回购协议有问题。
在很多情况下,"unmet dependencies" 是由于重复的存储库。如@BrianC 上面所述,删除所有重复项并在再次安装之前执行清理。
安装时尝试使用以下版本而不是 dse-full 执行。在安装之前确保执行 "yum update"
sudo yum 安装 dse-full-4.8.4-1
根据以下内容; Oracle JRE 8 满足安装要求 http://docs.datastax.com/en/datastax_enterprise/4.8/datastax_enterprise/install/installRHELdse.html
如果安装失败,您可以post 安装命令和以下输出。
我自己也走上了这条路。我强烈推荐以下内容:
1) 从 Ubuntu 12 节点重新开始。 (对我来说,我使用的是 Amazon EC2 ami-15cbe87f。)
2) 节点启动后,下载并 运行 最新的 Datastax Enterprise 安装程序。这会升级集群,并将 hadoop 放置在 /usr/share/dse/resources/hadoop。 (对我来说,我使用了 DataStaxEnterprise-4.8.4.2016011118-linux-x64-installer.run)
2) 在/etc/dse/cassandra/cassandra.yaml 中: - 设置集群名称 - 使用内部向上地址 172.xx.xx.xx 作为种子节点,listen_address, broadcast_address, broadcast_rpc_address - 使用 0.0.0.0 作为 rpc_address - 使用 PropertyFileSnitch 并编辑 /etc/dse/cassandra/cassandra-topology.properties。为内部和外部 IP 添加条目。 -- # Cassandra 节点 IP=数据 Center:Rack -- 52.xx.xx.xx=美国东部:1a -- 172.xx.xx.xx=美国东部:1a -- # 未知节点的默认值 -- 默认=美国东部:1a
3) 复制/etc/dse/hadoop/taskcontroller.cfg 到/etc/hadoop/taskcontroller.cfg。还有一段代码没有使用HADOOP_CONF_DIR.
4) 将目录更改为 /usr/share/dse/resources/hadoop/native/Linux-amd64-64/bin 和 chmod 4750 task-controller
5) 是的,4750。
6) 不要忘记编辑 /var/lib/datastax-agent/conf/address.yaml 以包含: - stomp_interface: 172.xx.xx.xx - local_interface: 172.xx.xx.xx - use_ssl: 0
7) 在某些时候,您将需要返回并设置 ssl。
8) sudo service dse start 并检查 /var/log/cassandra/output.log 和 system.log
中的错误9) 修复后,您可以删除集群并通过进入 /var/lib/cassandra 并删除那里的所有内容重新开始。 (小心!)然后,回到第8步,重复直到没有错误。
10) 使用这种方法可以让仅支持 Cassandra 的节点正常工作。然后,使用这种方法让 spark/hadoop 节点正常工作。然后,您可以组合它们并扩大您的集群。