Microsoft RPC and Thrift - rpc

Is Microsoft RPC
http://msdn.microsoft.com/en-us/library/aa374169%28VS.85%29.aspx
same as Thrift ?

No. Apache Thrift also allows you to build RPC clients and servers, but it's more than just a Windows thing. Thrift was originally developed at Facebook.

Related

Can't use Tableau on a EMR Spark cluster

I have a client that wants to use Tableau on their EMR Spark cluster.
The documentation seems straightforward but I'm getting errors when I try to connect.
Here is the setup:
EMR cluster's master doesn't have a public IP, but from the Tableau desktop EC2 instance I am able to ping and telnet into the port 10001 where thrift is running
I am able to test thrift with beeline and it connects fine
I am not using SSL or authentication given the limit access the cluster has
I have installed both data direct 8.0 and simbaodbc
I'm using emr-5.13.0, the Hadoop distribution is Amazon 2.8.3 and the Spark version is 2.3.0.
The error is
Unable to connect to the ODBC Data Source. Check that the necessary drivers are installed and that the connection properties are valid.
[Simba][ThriftExtension] (5) Error occurred while contacting server: No more data to read.. This could be because you are trying to establish a non-SSL connection to an SSL-enabled server.
Unable to connect to the server "IP". Check that the server is running and that you have access privileges to the requested database."
I simply followed the documentation provided by Tableau which says to install the driver only (not mess with ODBC), then us it in Tableau. I have verified that I have set no SSL and no authentication before trying to connect. I also verified by running Datagrip and doing a query from the Tableau EC2 instance, which works as expected.
resolved the issue by ignoring the documentation and just setting up the odbc driver, then choosing it instead of sparksql as a source.

Using Cassandra for Message Archive Management (mod_mam) database in Ejabberd 16.09

I'm trying to use Cassandra for mod_mam in Ejabberd 16.09. Does that version of Ejabberd support Cassandra? If it does, how to configure Ejabberd to use Cassandra?
Also, I found some Erlang-Cassandra driver such as Cqerl, Erlcass, and Erlang-cassandra-cql. Can I use them to connect Ejabberd and Cassandra?
ejabberd doesn't support Cassandra as a database backend. The only available backends at the moment are: internal (i.e. Mnesia), Riak, MySQL, PostgreSQL, MS SQL, sqlite and other ODBC compatible databases.
Of course you can use mentioned Erlang drivers, but this will not be very easy to write a new database backend using them: some experience in Erlang and ejabberd is required.

Second Spark thrift Server without Kerberos

I have a kerberized HDP 2.5 Cluster with a running Spark Thrift Server (Spark 1.6.2).
A colleague would like to connect to the thrift server with a client that doesn't support passing Kerberos parameters.
Is it possible to start on another node a second thrift server that doesn't need kerberos for authentication?

Can Data-agent opscenter use cassandra native port?

I tried to shift cassandra listener from rpc port to native port. However, after I turn off rpc port, opscenter would not work. I had to start both native and rpc port.
Is there any way let opscenter use native port? Also, if cassandra listerns on both native and rpc port, is there any performance penalty?
The answer depends on what version of OpsCenter you are using. Prior to version 5.2, it requires the Thrift RPC port. 5.2+ uses only native transport so you could disable Thrift.
That said, having both open will only use a marginal amount of additional memory, and you should not see any performance penalty having both servers bound.

OpsCenter - How does it communitate with agents?

I would like to know how OpsCenter communicates with its Agents and Cassandra Nodes.
Does it use Thrift? Is JMX required?
I'll base my answer on the latest released version of OpsCenter (1.3).
The main OpsCenter process can communicate with the agents in two ways. It can query the agents over an http rest api that each agent exposes. It uses this to ask the agent basic things about the cassandra node and also to have the agent send jmx commands to the cassandra process.
The other way is using the STOMP protocol. (http://stomp.github.com//) Agents send messages over STOMP to a message queue in OpsCenter. These generally contain details about the cassandra node and metric information.
Hope that helps.

Resources